持续集成 首次搭建 java+selenium+linux+docker+jenkins+git 之 web 自动化

wuyan · 2020年08月11日 · 最后由 wuyan 回复于 2020年08月12日 · 3100 次阅读
前提:linux服务器安装对应的java环境、maven环境、docker、git

一、linux安装chrome、chromedriver
  a:chrome下载安装
    ①进入目录/ect/yum.repos.d 命令:cd /ect/yum.repos.d
    ②编辑google-chrome.repo文件,命令:vim google-chrome.repo,添加以下内容:
        [google-chrome]
        name=google-chrome
        baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
        enabled=1
        gpgcheck=1
        gpgkey=https://dl.google.com/linux/linux_signing_key.pub
        编辑并保存
    ③使用yum下载安装chrome,命令:yum -y install google-chrome-stable --nogpgcheck
    ④检查安装结果,命令:google-chrome --version,出现:Google Chrome 84.0.4147.105
    ⑤修改chrome启动文件,用来支持root启动浏览器,进入chrome所在文件夹,命令:cd /opt/google/chrome
    ⑥编辑google-chrome执行文件,命令:vim google-chrome
    ⑦修改最后一行,将exec -a "$0" "$HERE/chrome" "$@"替换为exec -a "$0" "$HERE/chrome"  "$@" --no-sandbox $HOME
  b:chromedriver下载
    ①进入linux的home目录,cd ~ 
    ②创建文件夹chrome_driver用来存放chromedriver,命令mkdir chrome_driver
    ③进入到chrome_driver文件夹,cd /root/chrome_driver(此处用的是root用户,所以路径为/root/chrome_driver)
    ④下载chromedriver(与chrome浏览器版本对应,由于浏览器版本为Google Chrome 84.0.4147.105,所以chromedrive下载84.0.4147.30版本),网址 https://npm.taobao.org/mirrors/chromedriver/84.0.4147.30/ ,找到对应的linux版本:chromedriver_linux64.zip
    ⑤执行命令:wget https://npm.taobao.org/mirrors/chromedriver/84.0.4147.30/chromedriver_linux64.zip
    ⑥解压缩zip包:unzip chromedriver_linux64.zip,得到chromedriver可执行文件

二、docker加速配置
  ①进入docker配置目录,命令:/usr/lib/systemd/system
  ②修改配置文件,命令:vim docker.service
  ③修改对应行:ExecStart=/usr/bin/dockerd --registry-mirror=https:xxxx.mirror.aliyuncs.com(加速地址可去阿里云申请)
  ④重新加载配置,命令:systemctl daemon-reload
  ⑤重启docker服务,命令:service docker restart

三、docker部署jenkins
  ①docker拉取jenkins镜像,命令:docker pull jenkins/jenkins:2.190.3
  ②docker查看镜像,命令:docker images|grep jenkins
  ③创建jenkins本地挂载目录,首先进入home目录,命令:cd ~  
  ④创建挂载目录,命令:mkdir jenkins_home
  ⑤修改文件夹权限,因为当映射本地数据卷时,/root/jenkins_home目录的拥有者为root用户,而容器中jenkins user的uid为1000,执行命令:sudo chown -R 1000 /root/jenkins_home
  ⑥创建jenkins执行文件,命令:vim jenkins.sh
  ⑦添加一下内容:(注:linux服务器需开通8080端口)
    docker rm -f myjenkins
    docker run --name myjenkins -p 8080:8080 -v /root/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock --env JAVA_OPTS="-Xmx8192m" -d jenkins/jenkins:2.190.3
  ⑧给 jenkins.sh文件添加执行权限,命令chmod +x jenkins.sh
  ⑨启动jenkins,命令:sh jenkins.sh

四、git配置
  ①确保服务器安装好git:git --version
  ②基础配置:其中your_account为GitHub对应的用户名,youremali@example.com为GitHub对应的邮箱
    a添加对应的git_hub用户名,命令:git config --global user.name "your_account"
    b添加对应的git_hub邮箱,命令:git config --global user.email "youremali@example.com"
  ③ssh-key证书认证,youremali@example.com为GitHub对应的邮箱
    命令:ssh-keygen -t rsa -C "youremali@example.com"
    一路回车,不设置密码
  ④进入服务器目录,获取对应的公钥信息
    a进入目录命令:cd ~/.ssh
    b获取公钥信息命令:cat id_rsa.pub
    c复制上一步的公钥信息
    d登录GitHub官网,点击头像->settings->SSH and GRG keys->SSG keys->点击New SSH key:填写自定义title,将复制的公钥信息粘贴到Key文本框里
    e尝试与GitHub握手,在服务器中输入命令:ssh git@github.com
    f出现success字样表示服务器与GitHub连接成功

五、jenkins配置
  ①节点配置:系统管理->节点管理->新建节点
  ②名称自定义,ps:slave_mylinux;
      远程工作目录,上面创建的jekins目录:/root/jenkins_home;
      启动方式:Launch agents via SSH
      主机:进入服务器,输入命令:ip addr,在结果中找到eth0对应的inet ip,将ip填入主机
      Credentials:添加登录linux服务器的用户名密码
      Host Key Verification Strategy:选择Non verification Strategy
      保存以上信息,此时slave节点可能链接补上
  ③登录linux服务器,进入docker部署的myjenkins容器,命令:docker exec -it myjenkins /bin/bash
  ④手动连接服务器,命令(其中用户名和主机为②中设置的对应值):ssh 用户名@主机host,然后输入对应的密码
  ⑤确保联通正常,cd ~/.ssh,查看已经生成known_hosts文件,退出myjenkins容器;
⑥进入jenkins节点管理,刷新页面,新建的slave节点正常连接;

六、jienkins项目配置
  ①新建任务,名称自定义
  ②丢弃旧的构造->保持构建的最大个数:3(自定义)
  ③参数化构建过程->添加选项参数:名称自定义,选项:nogui
                                           chrome
  ④限制项目的运行节点,选择四中创建的slave节点:slave_mylinux
  ⑤源码管理->Git,填写Repository URL:https://github.com/AndyTianJie/iselenium.git
  ⑥Additional Behaviours->新增->检出到子目录:iSelenium(自定义)
  ⑦构建->增加构建步骤->执行shell:
                                                           #!/bin/bash -il
                                                           cd iSelenium(上一步检出的目录)
                                                           mvn clean install test
    应用->保存以上信息
  ⑧登录linux服务器,进入目录user.home,命令:cd ~
  ⑨创建文件iselenium.properties,命令:vim iselenium.properties,粘贴内容(路径为步骤一中的chromedriver路径):CHROME_PATH=/root/chrome_driver/chromedriver
  ⑩进入job->Build with Parameters->currentBrowser选择nogui->开始构建,正常构建成功
共收到 4 条回复 时间 点赞

先不管文章的内容如何,把文章的排版优化一下吧,这样的格式看着很头大!

楼主:我就是来发表笔记的~

这个 web 自动化是无界面的吗?

Midming 回复

在 linux 上无法可视化,你可以把 slave 节点设置在本地电脑,就能可视化了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册