Создание образа Docker с помощью TAG из репозитория git в Jenkinsfile - PullRequest
0 голосов
/ 01 ноября 2018

Я делаю Jenkinsfile с 2 шагами:

  1. Клонировать два Git Repos (один для инфраструктуры и один для приложения)
  2. Сборка и установка образа докера

Это код

    pipeline {
      agent any
      environment {
         BITBUCKET_COMMON_CREDS = credentials('jenkins-bitbucket-creds')
         PATH_DOCKERFILE="infrastructure/docker/my-repo"
         REPOSITORY="my-repo"
      }
      stages {

        stage('Git clone') {
          steps {
            sh('''
              git clone https://${BITBUCKET_COMMON_CREDS_USR}:${BITBUCKET_COMMON_CREDS_PSW}@bitbucket.org/company/infrastructure.git -b k8s
              cd ${PATH_DOCKERFILE}
              git clone https://${BITBUCKET_COMMON_CREDS_USR}:${BITBUCKET_COMMON_CREDS_PSW}@bitbucket.org/company/${REPOSITORY}.git -b k8s
              cd ${REPOSITORY}
            ''')
          }
        }

        stage('Docker build and push') {
          steps {
            script {
              docker.withRegistry('https://gcr.io/project/', 'gcr:googleregistry') {
                def customImage = docker.build("my_image", "./${PATH_DOCKERFILE}")
                customImage.push()
              }
            }
          }
        }  
      }
    }

Каким образом я могу получить Git TAG и протолкнуть изображение Docker?

Я думал восстановить git tag -l --sort=-creatordate | head -n 1 в Этап 1 и использовать его в Этап 2 , но я не могу установить глобальную переменную env.

Некоторые предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...