在 Jenkins 管道中执行 gcloud 命令
Executing gcloud command in Jenkins pipeline
我正在尝试 运行 Jenkins 声明式管道中的 gcloud 命令,就像下面的示例一样:
pipeline {
agent any
stages {
stage('Run gcloud version') {
steps {
sh 'gcloud --version'
}
}
}
}
我下载了 "GCloud SDK Plugin" 并像这样配置它(在 Jenkins 的 "Global Tool Configuration" 中):
但是当我尝试使用上述 Jenkinsfile 构建管道时,我在管道中遇到 'gcloud: not found' 错误。
我能够 运行 使用以下 Jenkins 文件的命令:
pipeline {
agent any
stages {
stage('Run gcloud') {
steps {
withEnv(['GCLOUD_PATH=/var/jenkins_home/google-cloud-sdk/bin']) {
sh '$GCLOUD_PATH/gcloud --version'
}
}
}
}
}
注意:我在 kubernetes 中 运行ning Jenkins,所以首先我必须在 Jenkins pod 中安装 gcloud sdk
我是 运行 容器中的 Jenkins 2.176.2,GCloud 插件无法在从属(代理)容器中安装 SDK。
我在部署代理时使用 docker 文件来安装它:
RUN echo "deb http://packages.cloud.google.com/apt cloud-sdk-stretch main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list \
&& curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - \
&& apt-get update -y && apt-get install google-cloud-sdk -y \
&& PATH=$PATH:/root/google-cloud-sdk/bin
我正在尝试 运行 Jenkins 声明式管道中的 gcloud 命令,就像下面的示例一样:
pipeline {
agent any
stages {
stage('Run gcloud version') {
steps {
sh 'gcloud --version'
}
}
}
}
我下载了 "GCloud SDK Plugin" 并像这样配置它(在 Jenkins 的 "Global Tool Configuration" 中):
但是当我尝试使用上述 Jenkinsfile 构建管道时,我在管道中遇到 'gcloud: not found' 错误。
我能够 运行 使用以下 Jenkins 文件的命令:
pipeline {
agent any
stages {
stage('Run gcloud') {
steps {
withEnv(['GCLOUD_PATH=/var/jenkins_home/google-cloud-sdk/bin']) {
sh '$GCLOUD_PATH/gcloud --version'
}
}
}
}
}
注意:我在 kubernetes 中 运行ning Jenkins,所以首先我必须在 Jenkins pod 中安装 gcloud sdk
我是 运行 容器中的 Jenkins 2.176.2,GCloud 插件无法在从属(代理)容器中安装 SDK。 我在部署代理时使用 docker 文件来安装它:
RUN echo "deb http://packages.cloud.google.com/apt cloud-sdk-stretch main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list \
&& curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - \
&& apt-get update -y && apt-get install google-cloud-sdk -y \
&& PATH=$PATH:/root/google-cloud-sdk/bin