第九章 持续集成---结束/完结

感谢大家关注,帮忙分享呦,你们的阅读就是我的动力!!!

公众号:小李测试随笔

第九章 持续集成---结束/完结

9.1 持续集成的流程介绍

持续集成即CI,是指把代码仓库(gitee或者github)、构建工具(jenkins)等和测试运行的环境集成在一起,频繁的将代码合并到主干,然后不定时的进行自动构建和测试

流程说明:

  1. 通过git命令将本地接口自动化项目下的所有文件及文件夹提交到git本地仓库

  2. 简历git本地仓库与gitee远程仓库的信任关系,推送到gitee远程仓库

  3. 建立jenkins平台与gitee远程仓库的信任关系,并从gitee远程仓库中拉取接口自动化项目下所有文件到jenkins平台的工作目录

  4. jenkins平台拉取到的接口自动化项目下的所有文件及文件夹推送到python3的运行环境中

  5. 最后在jenkins平台设置任务并定时执行,实现持续运行

9.2 实现过程

一、注册gitee仓库,并新建一个zrlog的项目仓库。

二、通过官网下载git版本管理软件,并安装git软件。

三、找到zrlog框架源码目录对仓库进行初化的操作:

(1)设置两个变量:

   git config --global user.name "xxxxxx"

   git config --global user.email "abcxx123@qq.com"

(2)通过执行 git init 命令可以把“zrlog框架源码目录”这个目录变成Git 可以管理的仓库

   git init

四、建立与远程仓库的信任关系

(1)通过 Git 命令行界面执行 ssh-keygen 命令,并生成公钥ssh-keygen

对新人而言,在执行 ssh-keygen 命令后,可直接选择连续按回车键,来完

成公钥和私钥的生。

(2)通过 ls /c/Users/hp/.ssh命令查看公钥和私钥的名称(公钥的文件名为 id_rsa.pub,私钥的文件名为 id_rsa); cat /c/Users/hp/.ssh/id_rsa.pub命令查看公钥的内容,并对公钥的内容进行复制

(3)登录 gitee 远程仓库,通过“个人设置”选项找到 SSH 公钥页面,并

将刚刚复制的公钥内容粘贴到公钥的输入框中并保存。

五、通过 Git 命令提交代码到远程仓库

(1)在 Windows 系统中的换行符为 CRLF,而在 Linux 系统下的换行符为

LF,所以在执行 Git 相关命令时会提示警告信息。所以在提交代码之前需通过

Git 命令行执行 git config --global core.autocrlf false 命令,用于解决符号转义的问

题。

(2)执行 git add --all 命令,将 ZrLog 接口自动化框架的所有文件提交到.

需要注意的是,将 ZrLog 接口自动化目录下的所有文件提交到 Git 仓库缓冲

区时,需要保证 ZrLog 接口自动化目录下所有文件夹不能为空(因为空文件夹最

终不能推送到远程仓库),所以在执行 git add --all 命令之前,可以在本地运行

一下框架的代码,这样可以保证每个文件夹里面都有文件存在。

(3)执行 git commit -m "first commit" 命令将缓冲区的所代码文件提交到

Git 本地仓库。

(4)执行 git remote add origin " git@gitee.com:XXXX001/zrlog.git " 命令,

建立本地仓库与远程仓库的同步关系(本地仓库为 /f/资料下载/第八章的所有内

容/第八章的整个框架代码/ZrLog接口自动化,远程

仓库刚刚建立的 ZrLog 仓库, git@gitee.com:X001/zr-log.git 为远程

仓库的地址)

(5)执行 git push -u origin master 命令,把本地仓库所有的代码文件推送到

远程的 ZrLog 仓库上

(6)登录 gitee 远程仓库,进入 ZrLog 仓库中,查看本地仓库的 7 个文件是

否全部推送过来了

五、通过 Git 命令提交代码到远程仓库

(6)登录 gitee 远程仓库,进入 ZrLog 仓库中,查看本地仓库的 7 个文件是

否全部推送过来了

六、通过 Docker 部署 Jenkins 容器

1)通过 Docker 服务搜索 Jenkins 镜像。

[root@localhost ~]# docker search jenkins

(2)通过 Docker 服务拉取 Jenkins 镜像,建议选择第二个镜像进行拉取,

第一个镜像虽是官方的镜像,但是版本相对较旧,不建议拉取。

[root@localhost ~]# docker pull docker.io/jenkins/jenkins

(3)通过 Docker 服务查看 Jenkins 镜像。

[root@localhost ~]# docker images jenkins

( 4)通过 Docker 服务创建 Jenkins 守护式容器。

[root@localhost ~]# docker run -d -uroot -p 8085:8080  --name=jenkins1 jenkins/jenkins

-u:表示使用 root 身份进入容器,建议加上此选项,以避免容器内执行命令时报权限的错误。

( 5)通过 Docker 服务查看 Jenkins 容器状态,代码如下,当 Jenkins 容器的

状态显示为“up”时,则表明 Jenkins 容器已启动成功。

[root@localhost ~]# docker ps -a

七、通过 Jenkins 容器部署 Python 3.8.5 环境

(1)进入 Jenkins 容器的命令行界面。

[root@localhost ~]# docker exec -it -uroot jenkins1 bash

(2)通过 apt-get 命令获取最新的软件包,并更新已有的软件包服务。

root@792e7b234e7a:/# apt-get update

root@792e7b234e7a:/# apt-get upgrade

(3)通过 apt-get 命令安装 Python 3.8.5 的编译环境及依赖包。

root@792e7b234e7a:/# apt-get -y install gcc automake autoconf libtool make openssl libssl-dev sudo

root@792e7b234e7a:/# apt-get -y install zlib*

(4)切换目录到 src 目录中。

root@792e7b234e7a:/# cd /usr/local/src

(5)下载 Python 3.8.5 的源码包。

root@792e7b234e7a:/usr/local/src# wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz

(6)解压 Python 3.8.5 的源码包。

root@792e7b234e7a:/usr/local/src# tar -zxvf Python-3.8.5.tgz

(7)重命名解压目录。

root@792e7b234e7a:/usr/local/src# mv Python-3.8.5 py3.8

(8)切换到 py3.8 目录。

root@792e7b234e7a:/usr/local/src# cd py3.8

七、通过 Jenkins 容器部署 Python 3.8.5 环境

(9)指定安装目录。

root@792e7b234e7a:/usr/local/src/py3.8# ./configure  --prefix=/usr/local/src/py3.8

(10)添加 Python 3 及 pip3 的软链接。

root@792e7b234e7a:/usr/local/src/py3.8# ln -s /usr/local/src/py3.8/bin/python3.8 /usr/bin/python3

root@792e7b234e7a:/usr/local/src/py3.8# ln -s /usr/local/src/py3.8/bin/pip3 /usr/bin/pip3

(11)验证 Python3.8.5 的环境及 pip3 环境。

root@792e7b234e7a:/usr/local/src/py3.8# python3

root@792e7b234e7a:/usr/local/src/py3.8# pip3

(12)安装 ZrLog 项目所需的第三库,这些库包括 requests、 pytest、 pytesthtml 及 pymysql 库。

root@792e7b234e7a:/usr/local/src/py3.8# pip3 install requests pytest pytest-html pymysql

(13)安装完成后可退出容器。

root@792e7b234e7a:/usr/local/src/py3.8# exit

至此, Python 3.8.5 源码安装已完成。

八、通过 Jenkins 构建定时任务,并实现持续集成

 (1)通过 http://192.168.2.30:8085 网址访问 Jenkins 平台首次访问需要输入管理员密码,此密码保存在 Jenkins 的容器中,保存的文件路径为 /var/jenkins_home/secrets/initialAdminPassword。此时可

以通过“docker exec jenkins1 cat /var/jenkins_home/secrets/initialAdminPassword”命令直接查看密码。

八、通过 Jenkins 构建定时任务,并实现持续集成

(1)自定义安装 Jenkins 插件,新手直接选择“安装推荐的插件”,便能保证 Jenkins 正常运行。

(2)创建第一个管理员用户,管理员名称和密码自行设置。

九、建立 Jenkins 与远程仓库的信任关系

(1)使用 docker exec -it -uroot Jenkins1 bash 命令进入 Jenkins 容器,并执行

ssh-keygen 命令生成本容器的公钥与私钥

(2)通过 ls /root/.ssh 命令查看公钥和私钥所在的文件,通过 more /root/.ssh/

id_rsa.pub 命令查看公钥的内容,并对公钥进行复制

(3)登录 gitee 远程仓库,通过“个人设置”选项进入“SSH 公钥”对话框,

把刚刚在Jenkins容器产生的公钥粘贴到“公钥”的输入框中并保存

九、建立 Jenkins 与远程仓库的信任关系

(4)通过 more /root/.ssh/id_rsa 命令查看 Jenkins 容

器所产生的私钥内容,并对私钥内容进行复制。

(5)登录 Jenkins 平台,通过 Manage Jenkins 选项找

到“添加凭据”选项,并把刚刚复制的私钥内容粘贴到 

Enter directly 输入框中并保存。

完成以上步骤之后, Jenkins 平台和 gitee 远程仓库

通过公钥和私钥的配对便自动建立起了信任关系,

这意味着 Jenkins 平台可以直接从 gitee 远程仓库

中拉取所需求的代码。 

十、通过 Jenkins 平台设置定时任务

(1)登录 Jenkins 平台,单击“新建 Item”选项进入新建任务的页面,输入任务名称

(2)在“General”选项下设置任务的描述信息。 

(3)通过“源码管理”选项设置远程仓库的地址和

凭据信息等 

(4)通过“构建触发器”中的“定时构建”来

设置代码自动执行的间隔时间 。

(5)通过“构建”选项中的“执行 shell”选项进入

具体执行命令的设置 。

(6)设置要执行 shell 的具体命令并保存 

(7)通过 Jenkins首页可以查看已设置的定时任务信息列表。

十一、查看定时任务执行结果 (1)第一种方式是通过 Jenkins 控制台输出查看 。

END


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值