基于Jenkins+Docker实现自动化测试

  • Post author:
  • Post category:其他



电脑配置:Windows 10,华硕天选,R9-4900H,RTX2060



一、前置任务

1.

Docker的使用



2.

Jenkins的使用



二、准备工作

1.启动Docker-desktop客户端。

2.启动Jenkins服务。



三、编写脚本

1.Dockerfile脚本文件。

在自动化项目目录下编写Dockerfile文件用于创建自定义镜像文件。

# 获取镜像
FROM markadams/chromium-xvfb-py3

# 设置时区
ENV TZ 'Asia/Shanghai'

# 设置编码方式
ENV LANG C.UTF-8

# 设置环境变量
ENV PATH=$PATH:/code

# 安装字体
COPY ./resources/simsun.ttf /usr/share/fonts/ttf-dejavu/simsun.ttf

# 拷贝镜像源
COPY ./resources/sources.list /etc/apt/sources.list

# 添加代码到镜像
COPY . /code

# 更新apt-get
RUN apt-get update

# 安装pip
RUN apt-get install -y python3-pip --allow-unauthenticated

# 安装依赖
RUN pip3 install -r /code/requirements.txt

# 运行程序
CMD ["python3", "/code/main/main.py"]

2.Jenkins流水线脚本。

编写好Jenkins流水线脚本用于构建Jenkins项目。

pipeline {
    agent any
    environment {
        /* Git用户名称 */
        gitUsername = ''
        /* 自动化仓库名称 */
        repositoryName = ''
        /* 自定义镜像名称 */
        imageName = ''
        /* 自定义镜像版本 */
        imageTag = ''
        /* 自定义容器名称 */
        containerName = ''
    }
    stages {
        stage('前置工作') {
            steps {
                echo '工作目录'
                sh 'pwd'
                echo '清理历史文件'
                sh 'rm -rf ${WORKSPACE}/${repositoryName}'
                echo '拉取项目'
                sh 'git clone git@github.com:${gitUsername}/${repositoryName}.git'
                echo '查看镜像'
                sh 'docker images'
                echo '查看容器'
                sh 'docker ps -a'
                echo '构建镜像'
                sh '''cd ${repositoryName}/
                    docker build -t ${imageName}:${imageTag} .
                '''
            }
        }
        stage('执行测试') {
            steps {
                echo '运行容器'
                sh 'docker run -i --name=${containerName} ${imageName}:${imageTag}'
            }
        }
        stage('后置工作') {
            steps {
                echo '保存报告'
                sh 'docker cp ${containerName}:/code/reports ./${repositoryName}/reports'
                echo '删除容器'
                sh 'docker rm ${containerName}'
                echo '删除镜像'
                sh 'docker rmi "${imageName}:${imageTag}"'
            }
        }
    }
    post {
        success {
            echo '查看镜像'
            sh 'docker images'
            echo '查看镜像'
            sh 'docker ps -a'
            echo '执行成功'
        }
        failure {
            echo '查看镜像'
            sh 'docker images'
            echo '查看镜像'
            sh 'docker ps -a'
            echo '执行失败'
        }
    }
}



四、操作步骤

1.登录Jenkins。

2.创建一个pipeline项目。

3.点击确定之后,在Configuration->流水线处填入流水线脚本。

4.点击保存之后,手动构建Jenkins项目。

5.查看结果。

执行状态显示示例项目运行完成。

控制台输出显示示例项目六个测试用例执行通过。



有错误或者改进的地方请各位积极指出!



版权声明:本文为embracestar原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。