Я делаю Jenkinsfile с 2 шагами:
- Клонировать два Git Repos (один для инфраструктуры и один для приложения)
- Сборка и установка образа докера
Это код
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.
Некоторые предложения?