【项目部署】Docker+Jenkins部署Python接口自动化项目

一、准备工作

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已经都配置了

在这里插入图片描述
在这里插入图片描述

Jenkinsblue设置

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

在这里插入图片描述
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值