栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

coding使用Jenkinfile持续集成pypi+docker镜像

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

coding使用Jenkinfile持续集成pypi+docker镜像

pipeline {
  agent any #此处设置为any
  stages {
    stage('检出') {
      steps{
        checkout([
          $class: 'GitSCM',
          branches: [[name: env.GIT_BUILD_REF]],
          userRemoteConfigs: [[
            url: env.GIT_REPO_URL,
            credentialsId: env.CREDENTIALS_ID
          ]]
        ])
      }
    }
    stage('编译并上传package') {
       agent {
        docker {
          reuseNode true #是否使用根节点
          #使用coding官方镜像编译
          registryUrl 'https://coding-public-docker.pkg.coding.net'
          image 'public/docker/python:3.8'
        }

      }
      steps {
          echo '安装依赖项中...'
          sh 'pip install -r requirements.txt'
          }
          echo '依赖项安装完成.'
          echo '编译 python'
          sh 'python setup.py bdist_wheel' #打包项目
          echo '编译完成'
          #配置凭据
          withCredentials([usernamePassword(
          credentialsId: env.CODING_ARTIFACTS_CREDENTIALS_ID,
          usernameVariable: 'TWINE_USERNAME',
          passwordVariable: 'TWINE_PASSWORD'
          )]) {
              sh 'twine upload --repository-url **** #上传到指定仓库
          }
          echo 'wheel 制品上传完成'
        }
      }
    stage('构建镜像并推送到 CODING Docker 制品库') {
          steps {
            script {
            #配置凭据
              withCredentials([
                usernamePassword(credentialsId:env.CODING_ARTIFACTS_CREDENTIALS_ID,usernameVariable:'CODING_USER_NAME',passwordVariable:'CODING_PASSWORD')
              ]) {
                docker.withRegistry(
                  "${CODING_DOCKER_REG_HOST}",
                  "${CODING_ARTIFACTS_CREDENTIALS_ID}"
                ) {
                  def version = "${GIT_LOCAL_BRANCH}" ? "${GIT_LOCAL_BRANCH}-${GIT_COMMIT_SHORT}" : "${GIT_TAG}-${GIT_COMMIT_SHORT}"
                  def image = docker.build("${CODING_DOCKER_IMAGE_NAME}:${version3_8}", "--build-arg CODING_USER_NAME=${CODING_USER_NAME} --build-arg CODING_PASSWORD=${CODING_PASSWORD} -f ./deploy/dockerfile .")#构建镜像时使用 -f 指定dockerfile,默认为当前项目根目录下的dockerfile文件
                  image.push()
                }
              }
            }
          }
      }
    }
    environment {
    	#设置环境变量
        CODING_DOCKER_REG_HOST = *** #coding host
        CODING_DOCKER_IMAGE_NAME = *** #制品库名称
    }
  }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/678890.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号