文章目录

  • 一、准备工作
  • Dockerfile文件说明
  • Jenkinsfile文件说明
  • 二、Jenkinsfile部署
  • Jenkinsblue设置
  • 三、Jenkins部署
  • 这样每天就可以定时跑任务啦~


一、准备工作

Pyhton接口自动化的脚本,自行编写(不是本章重点)…

# Python脚本中包含的文件有:
	* apt: 我这边存放的是镜像库
	* common:各个公用接口的封装
	* conf:存在配置文件(如:路径地址啦、读取配置文件啦....)
	* ddt:存放了接口文件所需要的参数及变量(由于我是用yaml来存放接口的参数,所有这里有参数化的ddt)
	* HtmlTestRunner_PY:这个是最后生成测试报告的模板
	* logs:存放生成的日志
	* test_case:存在测试用例
	* Dockerfile:利用Dockerfile来生产docker镜像
	* Jenkinsfile:存放jenkins部署的配置文件
	* requirement.txt:所需要的第三方库及插件
	* run.py:主要运行的文件
Dockerfile文件说明
# dockerfile
# dockerfile的Form 定制的镜像都是基于 FROM 的镜像,我这里是Python3.8
FROM python:3.8
WORKDIR /app
ADD apt/sources.list /etc/apt/
ADD requirements.txt /app
# 安装所需库
RUN pip3 install -i http://mirrors.aliyun.com/pypi/simple \
    --trusted-host mirrors.aliyun.com -r requirements.txt
ADD . /app
# 运行的命令
CMD ["python3","/app/run.py"]
# 可以在本地先调试一下代码,Windows可以下载桌面版
# 打开cmd输入:
	cd 到项目的根目录
	docker image build -t apitest:v0.1 .
	docker images  # 可以查看是否生产apitest:v0.1镜像
	docker run apitest:v0.1 # 运行镜像
# 本地docker运行成功后,部署项目到服务器上面就不会因为 版本、缺少xxx库等现象
Jenkinsfile文件说明
pipeline {
  agent any
  stages {
    stage('Build') {
      steps {
        sh 'echo "正在build......."'
      }
    }

    stage('Test') {
      steps {
        sh 'echo "正在test......."'
      }
    }

    stage('Deploy') {
      steps {
        script {
          remote = [:]
          remote.name = 'Dev Server'
          remote.host = 'xxx.xxx.xxx.xxx'
          remote.port = xx
          remote.user = xxxxxx
          remote.password = xxxxxxxx
          remote.allowAnyHosts = true
        }

        sh 'docker build --pull --rm -f "Dockerfile" -t apitest:v0.1 "."'
        # # docker save -o 目标地址 镜像标签
        sh 'docker save -o ./apitest.tar apitest:v0.1'
      }
    }

  }
}
二、Jenkinsfile部署
# 新建一个分支流水项目
分支源:所运行代码的仓库地址,需要仓库地址和密钥
	   可以把你的代码从仓库拉取下来即可
Scan 多分支流水线-触发器
       可以设置多久检查一下代码是否更新了,若有更新的就拉取最新的代码到jenkins中
	
其他无需设置,因为jenkinsfile已经都配置了

python 实现自动化部署安装 python自动部署化脚本_Dockerfile


python 实现自动化部署安装 python自动部署化脚本_python_02

Jenkinsblue设置

这里就是jenkinsfile里面所配置的命令

python 实现自动化部署安装 python自动部署化脚本_配置文件_03


python 实现自动化部署安装 python自动部署化脚本_docker_04

三、Jenkins部署
# 设置自由风格的job,里面只设置一行代码
可以设置具体运行代码的时间间隔
    Build periodically:
        TZ=Asia/Shanghai
        H 23 * * *
构建
    Exec command:docker run --rm testapi:v0.1
    这里的docker run 是根据项目中的jenkinsfile中生成的docker镜像
这样每天就可以定时跑任务啦~