## docker 安装 ## docker 指令 镜像:文件系统(安装包) ``` docker image ls 显示所有的 image docker image pull 镜像名称 下载镜像 docker image rm 镜像id 删除镜像 ``` 容器 ``` 前提是:服务器必须实现开放 8000 端口的防火墙 docker container run -p 8000:80 镜像名称 ``` 容器 服务器(宿主机host) 软件(进程) 操作系统 安装 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 ``` ## dockerfile 定制版的镜像 ``` FROM python:3.9-slim WORKDIR /api_testing #容器当中工作路径 COPY . . RUN pip3 install -r requirements.txt CMD [ "python3", "run.py"] ``` ## pipeline 命令版的 jenkins 流程。 ## Jenkinsfile 保存了项目需要执行的 jenkins 命令
pipeline { agent { dockerfile { additionalBuildArgs "-t api_testing:${currentBuild.number}"} } stages { stage('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']) } } } } }
dockerfile , 构建了一个 python 的容器 构建操作(steps): python run.py 构建后的操作(post): 生成测试报告。
FROM python:3.9-slim WORKDIR /api_testing COPY . . RUN pip3 install -r requirements.txt CMD [ "python3", "run.py"]
这两文件放在与run.py同层级目录下