1:检查linux系统的防火墙以及selinux的安全策略
[root@localhost ~]# systemctl status firewalld
如何显示running,则使用命令关闭防火墙: [root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# getenforce Enforing代表强制模式
2:开启IPv4 转发,将网卡的路由功能开启,使容器能够和linux宿主机进行网络通信
[root@localhost ~]# sed -i '$a\ net.ipv4.ip_forward=1' /etc/sysctl.conf
重启网卡:[root@localhost ~]# systemctl restart network
检查配置是否生效 :[root@localhost ~]# sysctl net.ipv4.ip_forward
若显示如下,则配置成功
3:安装需要的系统工具
[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
4:添加软件源信息
[root@localhost ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5:更新并安装Docker-CE
[root@localhost ~]# yum makecache fast
[root@localhost ~]# yum -y install docker-ce
6:启动docker服务,并设置docker 开机自动启动
[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl enable docker
7:配置docker加速器 :[root@localhost ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://kfwkfulq.mirror.aliyuncs.com",
"https://2lqq34jg.mirror.aliyuncs.com",
"https://pee6w651.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com"
],
"dns": ["8.8.8.8","8.8.4.4"]
}
保存,退出
8: 配置后重启docker
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker
9:检查docker是否正常运行
[root@localhost ~]# systemctl status docker 如下图所示
1:查找JDK
[root@localhost ~]# docker search jdk
2:拉取JDK1.8镜像
[root@localhost ~]# docker pull kdvolder/jdk8
3:查看镜像
[root@localhost ~]# docker images
4:启动JDK镜像
[root@localhost ~]# docker run -di --name=jdk1.8 kdvolder/jdk8
5:查看镜像运行情况
[root@localhost ~]# docker ps
6:进入镜像,查看jdk版本
方法1 退出后 docker ps 进程还在 docker exec -it jdk1.8 /bin/bash
方法2 退出后 进程也会自动退出 docker attach 镜像id
查看jdk版本:root@31538e80e0c0:/# java -version
7:退出镜像
root@31538e80e0c0:/# exit
8:停止镜像
docker stop 镜像id --> root@31538e80e0c0:/# docker stop 7c0d2599de8
9:再次启动镜像
docker start 镜像id --> [root@localhost ~]# docker start 7c0d2599de8
1:拉取jenkins镜像文件
[root@localhost ~]# docker pull jenkins/jenkins
2:创建jenkins的挂载目录并且授权
[root@localhost ~]# mkdir -p /var/jenkins_mount
[root@localhost ~]# chmod 777 /var/jenkins_mount
3:创建并启动jenkins容器
[root@localhost /]# docker run -d -p 9090:8080 -p 9091:50000 -v /var/jenkins_mount:/var/jenkins_home -v /etc/localtime:/etc/localtime --name myjenkins jenkins/jenkins
4:查看jenkins是否启动成功,如下图所示
[root@localhost ~]# docker ps
5:查看docker容器日志
[root@localhost ~]# docker logs myjenkins
6:配置镜像加速,进入cd /var/jenkins_mount/ 目录
[root@localhost ~]# cd /var/jenkins_mount/
修改 vi hudson.model.UpdateCenter.xml里的内容:将 url 修改为 清华大学官方镜像,如下图所示
url-----> https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
7:访问jenkinsyemian,输入ip加上端口9090
8:获取管理员的密码,编辑文件查看,吧密码输入登录中的密码即可
[root@localhost secrets]# cat /var/jenkins_mount/secrets/initialAdminPassword
9:到此jenkins就全部安装成功,如图
1:安装插件
1:进入系统管理--> 管理插件
2:在available中输入以下插件
Localization: Chinese (Simplified) 汉化插件
Subversion 拉取源文件插件,本次讲的是svn,如需git可查看相关资料
Email Extension 邮件发送插件
3:安装完后重启jenkins
2:新建任务
首页->新建任务->输入任务名->自由风格->确定
3:源码管理
在源码管理栏,配置SVN的仓库地址、用户名、密码等信息,实现从SVN上拉取代码
配置SVN用户名、密码
点击立即构建,检查配置SVN成功;如果配置成功,可以从SVN上拉取代码
4:构建
配置构建操作,也就是拉取代码后需要执行的操作。
5:构建触发器
1:构建触发器的语法:* * * * * (五颗星,中间用空格隔开)
2:Build periodically:可以配置周期性地构建任务,配置的时间一到就勾选项目。
3:Poll SCM:可以实现周期性地检查仓库的代码是否有更新,有更新才构建项目,没更新就不构建。
6:配置邮件通知
1:配置邮件通知:配置系统管理员邮件地址 系统管理---->系统配置
2:配置 Extended E-mail Notification
3:验证邮箱是否配置成功
7:配置构建后的操作
1:选择 Editable Email Notification
![在这里插入图片描述](https://img-blog.csdnimg.cn/e11511cfe84441ac93dd35109c60c496.jpg#pic_center)
2:配置具体信息
默认邮箱文本
${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志
本邮件由系统自动发出,无需回复!
各位同事,大家好,以下为${PROJECT_NAME }项目构建信息
构建结果 - ${BUILD_STATUS}
构建信息
- 项目名称 : ${PROJECT_NAME}
- 构建编号 : 第${BUILD_NUMBER}次构建
- 触发原因: ${CAUSE}
- 构建状态: ${BUILD_STATUS}
- 构建日志: ${BUILD_URL}console
- 构建 Url : ${BUILD_URL}
- 测试报告: ${PROJECT_URL}allure
失败用例
$FAILED_TESTS
最近提交(#$SVN_REVISION)
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="- %d [%a] %m
"}
详细提交: ${PROJECT_URL}changes
————————————————
1:安装插件allure
进入系统管理--> 管理插件-->在available中输入allure插件 ,安装成功后重启jenkins
2:配置jenkins的Allure
进入系统管理--> 全局工具配置
3:配置构建后的操作
4:测试配置是否成功,在构建配置,再进行构建
注意1:会出现构建不成功,因为没有安装python3,导致pytest也没用
注意2:在linux配置python3没有用,因为jenkins是在容器中运行的,我们需要在jenkins中配置python3
具体步骤见第六步
1:进入jenkins内部:进docker容器, 加上-u root 以root用户权限进入容器
[root@localhost secrets]# docker exec -itu root 容器id /bin/bash
2:查看当前操作系统
root@708c6870ef4e:/# cat /etc/issue
这里查到的是Debian系统(不是ubuntu, 也不是centos),这里yum是没有的,所以不能用yum安装了,这里用apt-get代替yum先执行更新 apt-get
3:更新apt-get
root@708c6870ef4e:/# apt-get update
4:容器内部安装python3环境
root@cb8e397d5308:/var/jenkins_home# cd /var/jenkins_home/
root@cb8e397d5308:/var/jenkins_home# mkdir python3
root@cb8e397d5308:/var/jenkins_home# cd python3/
root@cb8e397d5308:/var/jenkins_home# apt-get install wget
root@cb8e397d5308:/var/jenkins_home/python3# wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz
root@cb8e397d5308:/var/jenkins_home/python3# tar -xvf Python-3.7.7.tgz
root@cb8e397d5308:/var/jenkins_home/python3# ls
Python-3.6.8 Python-3.7.7.tgz
root@cb8e397d5308:/var/jenkins_home/python3# cd Python-3.7.7
root@cb8e397d5308:/var/jenkins_home/python3/Python-3.7.7# ./configure --prefix=/var/jenkins_home/python3
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
...
configure: error: in `/var/jenkins_home/python3/Python-3.6.8':configure: error: no acceptable C compiler found in $PATHSee `config.log' for more details
执行时会报错,因为缺少gcc相关依赖包
5:apt-get安装依赖包:使用apt-get代替yum安装相关依赖包
apt-get -y install gcc automake autoconf libtool make
apt-get -y install make*
apt-get -y install zlib*
apt-get -y install openssl libssl-dev
apt-get install sudo
5:make编译安装
在/var/jenkins_home/python3/Python-3.7.7目录执行make和make install 安装
./configure --prefix=/var/jenkins_home/python3 --with-ssl
make
make insatll
6:添加软链接
添加python3软链接 ln -s /var/jenkins_home/python3/bin/python3.7 /usr/bin/python3
添加pip3软链接 ln -s /var/jenkins_home/python3/bin/pip3 /usr/bin/pip3
7:检查环境
1:检查pip3
2:检查python
3:安装所需要的模块
注意:如果构建说pytest找不到,那么可以使用绝对路径
查找绝对路径:which pytest
到这一步,恭喜你。我们就可以发送在jenkins进行构建发送allure报告了
如有不明白的地方,可以私信
同时,如果文章中有图片显示不全,可以点击跳转我在幕布中的笔记