Docker+Jenkins+GitLab自动化部署(接口自动化)

  前提条件:

  1、VM虚拟机配置完毕

  2、安装了Xshell软件

  3、Xshell可远程连接之前配置好的VM虚拟机

  4、VM虚拟机中安装有docker

  5、部署开源项目:

  a、项目地址:https://django-vue-admin.com/

  b、python开发工具:PyCharm

  c、下载对应的第三包(开源项目的作者已经将需要下载的第三包的包名和版本的文件放到项目工程文件中了,按照作者的部署指导进行项目部署)

  d、注意:这个开源项目基于python3.8版本,如果你先前安装有更高版本的python,请卸载后安装python3.8.10版本的python,因为开源项目的第三包中有一些版本的第三包,在更高的python中不在适配,所以为了项目更好的部署,请将版本回退到python3.8.10

  e、接口自动化项目地址:https://gitee.com/jinhui-0313/Interface_automation

  第一节:CentOS 7安装Docker

  第一小节:安装yum工具

  第二小节:更新本地镜像源

  第三小节:安装Docker最新社区版本

  第四小节:等待Docker安装完毕后,关闭防火墙

  第二节:Docker常用命令

  第一小节:与docker启停关闭等相关系统命令

  第二小节:与docker镜像拉去、容器创建和配置等相关的系统命令

  第三小节:docker run(核心指令解析)

  docker run [option]:

  option: -i # 运行容器

  -t # 容器启动后,进入命令行模式

  -v # 目录映射

  -d # 守护进程(后台运行)

  - p # 端口映射

  第三节:Jenkins镜像下载

  第一小节:拉取Jenkins镜像

  第二小节:创建jenkins容器并且配置

  第四节:进入Jenkins web平台,下载默认插件

  在本地电脑(注意:不是虚拟机)浏览器中输入"192.168.80.121:10240",即可进入Jenkins配置界面,界面上提示"管理员密码"在"/var/jenkins_home/secrets/initialAdminPassword"目录下,到虚拟机中拿到密码,并输入到该界面文本框处

  第一小节:Jenkins插件下载、用户密码配置等

  

  此处就选择"安装推荐的插件",等待安装完毕

  遇到有的插件安装失败,不要慌张,后面有具体的办法解决(提前告知一下,查看安装未成功大概率是对应的依赖包没有安装),先点击继续

  这里配置用户名、密码、确认密码和全名,这里我的用户名是"admin",密码"admin123456"

  URL地址保存不变(注意:这里的IP是虚拟机的静态IP地址,在虚拟机安装的时候一定要配置一下IP为静态IP)

  点击"开始使用Jenkins"

  第五节:进入Jenkins容器安装Python、allure为后面跑自动化脚本部署环境

  第一小节:下载开发环境的一些依赖软件包(当前是宿主机命令行模式)

  第二小节:下载Python.tar软件压缩包

  进入"https://www.python.org/ftp/python/"的Python的官网下载,你想要对应版本的Python.tar压缩包

  这里我需要的是Python3.8.10,其它自行选择对应的Python版本

  第三小节:将下载的Python.tar包导入到虚拟机中

  1、在前面虚拟机Jenkins容器对应映射的目录"/var/jenkins_home"下创建一个"python38"目录(当前是宿主机命令行模式)

  2、使用Xsehll的文件传输助手将Python.tar包导入到前面虚拟机Jenkins容器对应映射的目录"/var/jenkins_home/python38/",然后使用linux的tar解压指令来解压Python.tar压缩包到当前目录(当前是容器命令行模式)

  3、解压完毕后,进入"Python-3.8.10"的目录下,使用配置命令指定Python的安装路径(注意:如果不指定安装路径,linux就会将python的安装文件分散到linux默认安装路径,这样就不太好方便我们后续删除python)(当前是容器命令行模式)

  4、安装Python,显示"make"指令,然后再使用"make install"指令(当前是容器命令行模式)

  5、等待Python安装完毕后,添加Python、Pip、Pytest的软连接(软连接类似windows系统的软件快捷方式,方便我们在linux环境下使用Python、Pip、Pytest命令)(当前是容器命令行模式)

  6、任意目录下输入"python"指令,查看Python是否安装成功,并测试打印"hello world"语句是否成功,最后退出"Python"(当前是容器命令行模式)

  7、下载自动化脚本需要的第三库

  根据自己的需求下载对应的第三方库

  第六节:安装allure

  第一小节:下载allure.tar软件压缩包

  进入"https://github.com/allure-framework/allure2/releases"的allure官网下载allure.tar软件压缩包

  这里我选择的allure版本是allure-2.23.0,其它版本可自行选择

  第二小节:将下载的allure.tar包导入到虚拟机中(当前是宿主机命令行模式)

  这里没有对allure.tar导入的位置没有强制性要求,我存放的目录为"用户的根目录"下

  第三小节:将allure.tar压缩包复制到Jenkins容器的"/usr/local/src"目录下(当前是宿主机命令行模式)

  第四小节:使用tar解压命令解压allure.tar,并重命名allure解压缩后名称为allure,递归修改allure目录及其子目录文件权限为"777"(当前是容器命令行模式)

  第五小节:配置python、allure环境变量(当前是容器命令行模式)

  第六小节:配置Java环境变量

  第七节:配置Jenkins

  第一小节:配置Jenkins web平台的Java环境

  首先用用户名:"admin"、密码:"admin123456",登录前面配置的"192.168.80.121:10240"IP地址,进入Jenkins web平台

  登录完成后,点击"Manage Jenkins",然后再点击"Tools"

  找到"JDK installations"标题,并点击"Add jdk",将"Name"取名为"JAVA_HOME","JAVA_HOME"路径为"opt/java/openjdk"

  "JAVA_HOME"路径为"opt/java/openjdk"是指的容器中java的路径

  第二小节:创建Jenkins工程

  回到Jenkins首页,选择"New Item",并点击

  给工程取名为"testDemo",下面选项中选择"freestyle project",并点击"OK"

  回到首页即可看到我们创建的工程,并点击"运行"按钮,跑一边空的工程,这样Jenkins会在前面容器映射到宿主机的"/var/jenkins_home"目录中生成一个存放自动化脚本的"workspace"目录

  进入"workspace"目录即可看到,我们在Jenkins中创建的工程

  使用Xshell的文件传输助手,进入"/var/jenkins_home/workspace/testDemo"下,将我们的自动化脚本传输到该目录下

  第三小节:再次执行Jenkins web平台上我们创建的"testDemo"工程

  首页点击工程名"testDemo",进入工程里

  点击"Configure(配置)",进入配置后,再点击"Build Environment(构建环境)",找到"Build Steps(构建步骤)",点击"Add build step(增加构建步骤)",选择下拉框中的"Execute shell(执行shell)"

  写入shell命令,然后点击"Save(保存)"

  点击"Build Now",再次构建"testDemo"工程,此时的工程还不能跑成功,主要是显示查看报错信息,如果根据具体的报错信息,解决问题,点击""按钮即可查看报错信息

  注意:这里解决报错,每个人可能不一样,所以这里就不放报错解决的具体工程,有问题给我留言,我看我能不能帮您解决

  第四小节:配置本地数据库允许远程连接

  注意:这里为什么允许数据库的远程连接呢,因为开源项目的登录接口里面有加“验证码”字段,所以在不修改开源项目的前提下,我这里是使用sql语句去查询“验证码”数据表,拿到当前登录接口的验证码

  第五小节:问题解决后,再次执行Jenkins web平台上我们创建的"testDemo"工程

  根据具体的报错信息,解决问题后,我们就可以等到一个正常跑通的结果了

  第八节:解决之前Jenkins默认安装插件,未安装成功问题

  第一小节:分析插件未安装成功的原因

  

  可以看到我们存在很多插件报错信息,可以看到其中写到”Jenkins(2.319.3)or higher required“,表明该插件需要Jenkins版本在”Jenkins(2.319.3)版本及以上“,说明我们之前docker里面拉取的Jenkins镜像的本地低了,无法下载安装该插件,ok,那我们先更新Jenkins

  第二小节:更新Jenkins

  首先我们下载”jenkins.war“安装包,这个在哪里下呢,其实在插件报错信息的下面有给出”jenkins.war“下载连接,点击下载就行

  下载完毕后,我们得到一个”jenkins.war“包,使用xshell文件传输助手,将”jenkins.war“包复制到虚拟机上

  第三小节:配置Jenkins插件下载的升级站点

  

  找到插件管理,选择”Advanced settings“选项,滑倒最下面

  升级站点的url配置为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json

  点击”提交“按钮后,然后回到首页,点击”系统管理“,再点击”纠正“,会跳到对应的插件更新或者下载界面,点击下载或者更新即可

  等待插件下载或者更新完毕,勾选重启按钮,等待重启完毕

  重启完毕后,发现没有报错插件错误信息了,完美

  有缘再更,唉,一次次的失言,我怎么这么懒啊