准备工作:

## 1.编写Dockerfile 定制版的镜像,以下注释需去掉
尽量选择国内源,并更新下pip工具
RUN pip3 install --upgrade pip
RUN pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host https://pypi.tuna.tsinghua.edu.cn
FROM python:3.9-slim
WORKDIR /api_testing  # 容器当中的工作路径
COPY . .  # 把本地文件复制到容器中
RUN pip3 install -r requirements.txt  # 安装依赖
CMD [ "python3", "run.py"]  # 执行用例


## 2.编写Jenkinsfile,方便Jenkins执行命令行的配置

保存了项目需要执行的 jenkins 命令
dockerfile , 构建了一个 python 的容器
构建操作(steps): python run.py
构建后的操作(post): 生成测试报告。

以下注释需去掉
pipeline {
    agent { dockerfile { additionalBuildArgs "-t api_testing:${currentBuild.number}"} }  # 客户端
    stages {  # 执行的每个阶段
        stage('test') { # test阶段,自定义的名称
            steps {  # 构建操作
                sh 'python run.py' 
            }
            post {  # 构建后操作
                always {
                    publishHTML (target : [allowMissing: false,
                        alwaysLinkToLastBuild: true,
                        keepAll: true,
                        reportDir: 'reports',
                        reportFiles: '*.html',
                        reportName: 'My Reports',
                        reportTitles: 'The Report'])
                }
            }
        }
    }
}



这两文件放在与run.py同层级目录下,



Jenkins安装并构建:
1.安装 jenkins:
```
docker run -u root --rm -d --name blueocean -p 8084:8080 -p 50004:50000 -v $(which docker):/usr/bin/docker -v /home/jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean
```
docker run -u root --rm -d --name blueocean 
-p 8084:8080 -p 50004:50000 开放端口添加映射
-v $(which docker):/usr/bin/docker 执行docker命令的目录,使用which docker查找本地docker路径,将容器中的/usr/bin/docker路径映射到宿主机的docker路径
-v /home/jenkins:/var/jenkins_home 存储数据的目录 可以使用$HOME 定位本地的home目录,将容器中的/var/jenkins_home映射到本地的home/username/jenkins
-v /var/run/docker.sock:/var/run/docker.sock 配置docker服务
jenkinsci/blueocean

2.配置Jenkins
## pipeline
命令版的 jenkins 流程。
新建流水线项目pipline
-安装插件
-安装docker插件:Docker plugin 和Docker Pipeline
-配置Pipline源码地址

 

 

在Jenkins上构建该项目相当于:进入项目目录下执行docker build .  创建镜像,使用docker container run image_id 运行容器

 

posted on 2021-11-17 17:28  熊猫星人  阅读(165)  评论(0编辑  收藏  举报