我使用安装在GKE上的Jenkins。 我安装了GCloud SDK插件,并使用“全局工具配置”对其进行了配置。 当我在管道中使用gcloud时,收到“未找到”错误。 我尝试了Executing gcloud command in Jenkins pipeline中推荐的解决方案。
pipeline {
agent any
stages {
stage('Run gcloud') {
steps {
withEnv(['GCLOUD_PATH=/var/jenkins_home/google-cloud-sdk/bin']) {
sh '$GCLOUD_PATH/gcloud --version'
}
}
}
}
}
但是/ var目录中没有“ jenkins_home”。
+ ls -l /var/
total 36
drwxr-xr-x 2 root root 4096 Jun 26 2018 backups
drwxr-xr-x 1 root root 4096 Oct 29 2018 cache
drwxr-xr-x 1 root root 4096 Oct 16 2018 lib
drwxrwsr-x 2 root staff 4096 Jun 26 2018 local
lrwxrwxrwx 1 root root 9 Oct 11 2018 lock -> /run/lock
drwxr-xr-x 1 root root 4096 Oct 29 2018 log
drwxrwsr-x 2 root mail 4096 Oct 11 2018 mail
drwxr-xr-x 2 root root 4096 Oct 11 2018 opt
lrwxrwxrwx 1 root root 4 Oct 11 2018 run -> /run
drwxr-xr-x 2 root root 4096 Oct 11 2018 spool
drwxrwxrwt 2 root root 4096 Jun 26 2018 tmp
答案 0 :(得分:1)
尝试这样的事情:
stage('Deploy'){
steps{
//Deploy to GCP
sh """
#!/bin/bash
echo "deploy stage";
curl -o /tmp/google-cloud-sdk.tar.gz https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-225.0.0-linux-x86_64.tar.gz;
tar -xvf /tmp/google-cloud-sdk.tar.gz -C /tmp/;
/tmp/google-cloud-sdk/install.sh -q;
source /tmp/google-cloud-sdk/path.bash.inc;
gcloud config set project ${GOOGLE_PROJECT_ID};
gcloud components install app-engine-java;
gcloud components install app-engine-python;
gcloud auth activate-service-account --key-file ${GOOGLE_SERVICE_ACCOUNT_KEY};
gcloud config list;
gcloud app deploy --version=v01;
echo "Deployed to GCP"
"""
}
}