Jenkinsfile文件

pipeline {

 agent any
 stages {
 stage('检出') {
   steps {
     checkout([$class: 'GitSCM',
     branches: [[name: GIT_BUILD_REF]],
     userRemoteConfigs: [[
       url: GIT_REPO_URL,
       credentialsId: CREDENTIALS_ID
    ]]])
   }
 }
stage('安装依赖') {
  steps {
    sh 'go env -w GO111MODULE=on'
    sh 'go env -w GOPROXY=https://goproxy.cn,direct'
    sh 'go get -u github.com/jstemmer/go-junit-report'
  }
}
stage('单元测试') {
  post {
    always {
      junit '*.xml'
    }

  }
  steps {
    sh ' go test -v "./domain/user/." 2>&1 | go-junit-report > report.xml'
  }
}
stage('构建镜像并推送到 CODING Docker 制品库') {
  steps {
    sh "docker build -t ${CODING_DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_VERSION} -f ${DOCKERFILE_PATH} ${DOCKER_BUILD_CONTEXT}"
    useCustomStepPlugin(key: 'codingcorp:artifact_docker_push', version: 'latest', params: [image:"${CODING_DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_VERSION}",repo:"${DOCKER_REPO_NAME}"])
     }
   }
 }
  environment {
    CODING_DOCKER_REG_HOST = "${CCI_CURRENT_TEAM}-docker.pkg.${CCI_CURRENT_DOMAIN}"
    CODING_DOCKER_IMAGE_NAME = "${PROJECT_NAME.toLowerCase()}/${DOCKER_REPO_NAME}/${DOCKER_IMAGE_NAME}"
  }
}

Jenkinsfile配置参数如下

DOCKERFILE_PATH=Dockerfile //Dockerfile 文件位置
DOCKER_IMAGE_NAM=crawlerspace //Dockerfile 文件位置
DOCKER_IMAGE_VERS=${GIT_LOCAL_BRANCH:-branch}-${GIT_COMMIT} //Docker 镜像版本
DOCKER_BUILD_CONT=. //Docker 构建目录
DOCKER_REPO_NAME=crawlerspace //当前项目下的 Docker 制品仓库名

一.检出代码

第一步我们首先从coding的代码仓库中检索出代码

二.安装依赖

安装单元测试生成报告工具

三.单元测试

我们执行go test -v "./domain/user/." 2>&1 | go-junit-report > report.xml 命令来生成单元测试报告信息。

四.单元测试

我们将代码打包成制品上传到codding上

Last modification:August 19th, 2021 at 03:51 pm
如果觉得我的文章对你有用,请随意赞赏