持续集成与docker配置

1.使用场景

使用Jenkins实现自动/定时运行接口测试脚本,并生成对应的测试报告

 

 

 2、jenkins的介绍

Jenkins是一个开源软件项目,是基于Java开发的一种工具,可扩展的持续集成、交付、部署(软件/代码的编译、打 包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建 或持续集成。

官网:https://jenkins.io/

官方文档:https://jenkins.io/zh/doc/

Jenkins特点

  • 开源免费
  • 安装配置超级简单
  • 跨平台,支持所有的平台
  • web形式的可视化的管理页面
  • 分布式构建
  • 丰富的插件支持

3、docker的介绍

Docker 是一个开源的应用容器引擎,方便快速搭建环境、部署应用

官网:https://www.docker.com

Docker应用场景

  • 应用的自动化打包和发布
  • 自动化测试和持续集成、发布。

4、安装和配置

CentOS安装:

Docker支持以下的CentOS版本:

CentOS 7 (64-bit)

CentOS 6.5 (64-bit) 或更高的版本

docker的安装及配置步骤:

1. 查看内核版本uname -a,建议3.10以上

2. yum更新

yum update

3. 安装需要的软件包

 yum install -y yum-utils device-mapper-persistent-data lvm2

4. 设置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

 

5. 查询版本,并安装

yum list docker-ce --showduplicates | sort -r

6. 安装Docker

yum install docker-ce-17.12.1.ce

7. 验证安装是否成功

docker version

8. 启动docker,并加入开机启动

systemctl start docker

systemctl enable docker

 

 

 Jenkins安装及配置

安装及配置步骤:

1. 下载地址:https://jenkins.io/zh/download/

2. 选择docker版本下载 docker version 

 3、或直接访问https://hub.docker.com/r/jenkins/jenkins

 4. Centos下安装

切换root用户 su root

 执行命令:

docker pull jenkins/jenkins:lts

查看下载完成的镜像

docker images

 

  启动Jenkins镜像

docker run -d -p 80:8080 -p 50000:50000 -v jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins docker.io/jenkins/jenkins:lts

启动参数解释:

-d 后台运行镜像

-p 80:8080 将镜像的8080端口映射到服务器的80端口

-p 50000:50000 将镜像的50000端口映射到服务器的50000端口

-v jenkins:/var/jenkins_home /var/jenkins_home目录为jenkins工作目录,我们将硬盘 上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。

-v /etc/localtime:/etc/localtime 让容器使用和服务器同样的时间设置。

--name jenkins 给容器起一个别名

浏览http://localhost并等到Unlock Jenkins页面出现。

注意,docker版的jenkins`,所以这个路径不是服务器的路径,而是容器内的路径。我们可以通 过如下命令从容器中获取到初始化密码

docker exec jenkins tail /var/jenkins_home/secrets/initialAdminPassword

继续使用后面步骤设置向导完成设置。

5、docker的简单使用

列出本地主机上的镜像

docker images

查看容器状态

docker ps -a

容器启动命令

Docker start container-name(jenkins)

Docker stop container-name

docker restart container-name

进入正在运行的镜像

docker exec :在运行的容器中执行命令

语法

-d :分离模式: 在后台运行

-i :即使没有附加也保持STDIN 打开

-t :分配一个伪终端

容器内安装命令

apt-get update

同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最 新的软件包。

等更新完毕以后再敲命令,即可

apt-get install vim

遇到的问题和解决:

1、docker中开放端口IPv4 forwarding is disabled. Networking will not work解决方法

  • 编辑 vi /etc/sysctl.conf
  • 添加 net.ipv4.ip_forward=1
  • 重启network服务 systemctl restart network

2、处理docker下载慢

  • 编辑docker配置文件vi /lib/systemd/system/docker.service
  • 将这一行:ExecStart=/usr/bin/dockerd 修改为: ExecStart=/usr/bin/dockerd --registry-mirror=https://u1qbyfsc.mirror.aliyuncs.com

3、开放防火墙端口

  • 查看已经开放的端口:firewall-cmd --list-ports
  • 开启端口:firewall-cmd --zone=public --add-port=8080/tcp --permanent

   命令含义:

     –zone #作用域

    –add-port=80/tcp #添加端口,格式为:端口/通讯协议

    –permanent #永久生效,没有此参数重启后失效

  • 重启防火墙:firewall-cmd --reload #重新载入firewall配置,使配置生效

4、Doker容器不能访问网络

执行命令

#nmcli是redhat7或者centos7之后的命令,该命令可以完成网卡上所有的配置工作,并且可以写入配置文 件,永久生效

nmcli connection modify docker0 connection.zone trusted

#重启docker服务

systemctl restart docker.service

进入容器终端并且的保留为容器终端的输入形式(-it和bash的结合作用)

docker exec -it CONTAINER_ID bash

使用ping命令,验证网络是否连通 ping www.baidu.com

 

5、Jenkins插件安装及配置

安装Allure 插件

进入jenkins->系统管理 ->管理插件->可选插件 直接输入地址:http://localhost:8080/pluginManager/available

搜索框中输入 allure,点击安装

配置Allure Commandline

安装步骤:1. 确保 allure 插件已经安装成功

2. Manage Jenkins——->Global Tool Configuration——>Allure Commandline 部分,点击添加Allure Commandline

 

 

3、填写name(可以随便取名,主要是用来标识),可以选择自动安装或指定安装目录

 4、如果指定输入安装目录,需要下载allure

下载 allure.zip 下载地址:https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.7.0

解压到本地目录、配置allure.bat的环境变量Path; 在命令行中运行allure,确认环境变量配置成功

5、Jenkins 配置 git

安装步骤:

Git下载 下载地址:https://git-scm.com/downloads

linux安装: yum install git

Git配置:

linux默认已安装完,不需修改配置,如果windows则需要配置 Manage Jenkins——->Global Tool Configuration——>Git 点击添加

Jenkins 配置及运行

创建Jenkins项目

步骤: 1. 进入Jenkins主页 2. 点击新建 3. 输入项目名称 ,并点击构建一个自由风格的软件项目。 4. 点击确定

配置Jenkins项目

General配置 步骤: 勾选 GitHub project,输入 Project url

源码管理配置 步骤: 1. 勾选 Git,输入 Repository URL 2. 点击 Add,点击 Jenkins 3. 输入 github 用户名和密码,点击Add

 

 

 

构建触发器 配置:

步骤: 勾选 Poll SCM,日程表中填写 */1 * * * *

构建 配置

Linux

#python安装版本尽量与代码编写版本一致,由于linux自带安装的python2,需要单独安装python3 如果不识别pip或python,则需要使用绝对路径来调用

pip3 install -r requirements.txt

python3 run.py

``` requirements文件生成

# 使用以下命令会在项目根目录产生一个 requirements.txt 文件

# 该文件会列出本虚拟空间中所使用的所有包及其版本 pip freeze > requirements.txt

# 使用以下命令会安装项目根目录的 requirements.txt 文件中所有的依赖的指定版本 pip install -r requirements.txt

构建后操作-报告 配置 步骤:

1. 点击 增加构建后步骤,选择Allure Report

2. 在 path 中输入 allure 报告的 xml 所在的目录名称 report/result

构建执行

配置到报告步骤后,点击保存。此时,我们可以构建这个项目,所谓构建也就是运行的意思。

  • 自动构建
  • 手动构建

邮件

步骤: 1. Jenkins->配置->邮件通知 2. 设置相关信息

 

 

 

docker的一些使用网站:Docker 教程 | 菜鸟教程 (runoob.com)

posted @ 2021-06-29 16:14  丝瓜呆呆  阅读(412)  评论(0编辑  收藏  举报