前提: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->开始构建,正常构建成功