gpt4 book ai didi

jenkins - 将当前工作空间路径存储在变量中以供后续阶段使用

转载 作者:行者123 更新时间:2023-12-02 17:20:40 26 4
gpt4 key购买 nike

我正在为管道使用声明性语法,并且希望存储在我的某个阶段中使用的工作区的路径,以便在稍后的阶段中可以使用相同的路径。

我已经看到我可以调用 pwd() 来获取当前目录,但是如何分配给在阶段之间使用的变量?

编辑

我尝试通过定义自己的自定义变量并使用 ws 指令来实现此目的:

pipeline {
agent { label 'master' }
stages {
stage('Build') {
steps {
script {
def workspace = pwd()
}
sh '''
npm install
bower install
gulp set-staging-node-env
gulp prepare-staging-files
gulp webpack
'''
stash includes: 'dist/**/*', name: 'builtSources'
stash includes: 'config/**/*', name: 'appConfig'
node('Protractor') {
dir('/opt/foo/deploy/') {
unstash 'builtSources'
unstash 'appConfig'
}
}
}
}
stage('Unit Tests') {
steps {
parallel (
"Jasmine": {
node('master') {
ws("${workspace}"){
sh 'gulp karma-tests-ci'
}
}
},
"Mocha": {
node('master') {
ws("${workspace}"){
sh 'gulp mocha-tests'
}
}
}
)
}
post {
success {
sh 'gulp combine-coverage-reports'
sh 'gulp clean-lcov'
publishHTML(target: [
allowMissing: false,
alwaysLinkToLastBuild: false,
keepAll: false,
reportDir: 'test/coverage',
reportFiles: 'index.html',
reportName: 'Test Coverage Report'
])
}
}
}
}
}

在 Jenkins 构建控制台中,我看到这种情况发生:

[Jasmine] Running on master in /var/lib/jenkins/workspace/_Pipelines_IACT-Jenkinsfile-UL3RGRZZQD3LOPY2FUEKN5XCY4ZZ6AGJVM24PLTO3OPL54KTJCEQ@2
[Pipeline] [Jasmine] {
[Pipeline] [Jasmine] ws
[Jasmine] Running in /var/lib/jenkins/workspace/_Pipelines_IACT-Jenkinsfile-UL3RGRZZQD3LOPY2FUEKN5XCY4ZZ6AGJVM24PLTO3OPL54KTJCEQ@2@2

第一阶段分配的原始工作空间实际上是_Pipelines_IACT-Jenkinsfile-UL3RGRZZQD3LOPY2FUEKN5XCY4ZZ6AGJVM24PLTO3OPL54KTJCEQ

所以它看起来不起作用,我在这里做错了什么?

谢谢

最佳答案

pipeline {
agent none
stages {
stage('Stage-One') {
steps {
echo 'StageOne.....'
script{ name = 'StackOverFlow'}
}
}
stage('Stage-Two'){
steps{
echo 'StageTwo.....'
echo "${name}"
}
}
}
}

上面在 StageTwo 中打印 StackOverFlow echo "${name}"
您还可以使用 sh "echo ${env.WORKSPACE}" 来获取分配给构建作为工作空间的目录的绝对路径。

关于jenkins - 将当前工作空间路径存储在变量中以供后续阶段使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44264392/

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