gpt4 book ai didi

docker - 将Makefile移植到Jenkinsfile,但是环境变量有问题

转载 作者:行者123 更新时间:2023-12-02 19:20:09 24 4
gpt4 key购买 nike

我正在尝试将用于在本地构建项目的Makefile移植到Jenkins中的自动构建系统中。此Makefile使用docker容器构建项目。但是,由于我不知道我在做什么,所以我对如何制作整个结构的建议持开放态度!

我想知道如何移植这种代码段:

PKGS       = $(shell go list ./... | grep -v /vendor/ | grep -v /bindata)
VERSION = $(shell git describe)
VERSION64 = $(shell git describe | base64)
SHA = $(shell git rev-parse HEAD)
PWD = $(shell pwd)

进入声明性管道。当将变量包装在 environment块上时,得到以下信息:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 10: unexpected token: list @ line 10, column 30.
PKGS = $(go list ./... | grep -v /vendor/ | grep -v /bindata)
^

1 error

我启动管道的方式如下(在第一阶段之后,我声明了env vars):

pipeline {
agent {
docker {
image 'golang:1.11'
args '-v $(PWD):/go/src/project -w /go/src/project'
}
}

最佳答案

正如Zett42所评论的那样,您可以在Jenkins管道中如下设置环境变量。您可以找到有关https://jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables的更多信息

pipeline {
agent {
docker {
image 'golang:1.11'
args '-v $(PWD):/go/src/project -w /go/src/project'
}
}
environment {
// Using returnStdout
VERSION = """${sh(
returnStdout: true,
script: 'git describe'
)}"""
//Here you can include other env like above..
}
stages {
stage('Example') {
environment {
DEBUG_FLAGS = '-g'
}
steps {
sh 'printenv'
}
}
}
}

关于docker - 将Makefile移植到Jenkinsfile,但是环境变量有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60577530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com