У меня нижеуказанный конвейер.
pipeline {
agent any
environment {
PROJECT_ID = "*****"
IMAGE = "gcr.io/$PROJECT_ID/node-app"
BRANCH_NAME_NORMALIZED = "${BRANCH_NAME.toLowerCase().replace(" / ", "
_ ")}"
}
stages {
stage('Build') {
steps {
sh ' docker build -t ${IMAGE}:${BRANCH_NAME_NORMALIZED} . '
}
}
stage('Push') {
steps {
withCredentials([file(credentialsId: 'jenkins_secret', variable: 'GC_KEY')]) {
sh("gcloud auth activate-service-account --key-file=${GC_KEY}")
}
sh ' gcloud auth configure-docker '
sh ' docker push $IMAGE:${BRANCH_NAME_NORMALIZED} '
}
}
stage('Deploy') {
steps {
withDockerContainer(image: "gcr.io/google.com/cloudsdktool/cloud-sdk", toolName: 'latest') {
withCredentials([file(credentialsId: 'jenkins_secret', variable: 'GC_KEY')]) {
sh("gcloud auth activate-service-account --key-file=${GC_KEY}")
sh("gcloud container clusters get-credentials k8s --region us-central1 --project ${DEV_PROJECT}")
sh("kubectl get pods")
}
}
}
}
}
}
На этапе развертывания выдает следующую ошибку:
gcloud auth activit-service-account --key-file = **** ВНИМАНИЕ: Не удалось настроить журнал файл в /.config/gcloud/logs, (Ошибка: не удалось создать каталог [/.config/gcloud/logs/2020.02.05]: разрешение отклонено.
Убедитесь, что у вас есть разрешения на запись в родительский каталог.) ОШИБКА: (gcloud.auth.activate-service-account) Не удалось создать каталог [/.config/gcloud]: разрешение отклонено. Убедитесь, что у вас есть разрешения на запись в родительский каталог.
Я не могу понять, где эта команда хочет создать каталог, контейнер docker или на хост-компьютере? У вас есть подобные проблемы?