首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在jenkins管道中用envsubst替换文件变量

在jenkins管道中用envsubst替换文件变量
EN

Stack Overflow用户
提问于 2019-01-17 11:29:43
回答 2查看 2.4K关注 0票数 0

我想在运行时从jenkins管道脚本替换具有$variablename的文件中的一些变量。对于我的用例来说,envsubst似乎是最好的。当我在linux服务器上通过命令行执行时,它可以正常工作,但是当我用sh脚本通过jenkins管道执行时,什么都不会发生。

声纳扫描器特性:

sonar.projectKey=Project:MavenTest$BRANCHNAME sonar.projectName=MavenTest$BRANCHNAME

linux框上的命令行示例:

出口BRANCHNAME=develop $ envsubst '$BRANCHNAME‘

输出:

sonar.projectKey=Project:MavenTestdevelop sonar.projectName=MavenTestdevelop

但是,当我以脚本的形式执行jenkins文件时,文件中没有任何更改。

jenkins脚本:

代码语言:javascript
复制
 node {

    stage('checkout'){

        checkout([$class: 'GitSCM', branches: [[name: ':^(?!origin/master$|origin/develop$).*']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'c0ce73db-3864-4360-9c17-d87caf8a9ea5', url: 'http://172.16.4.158:17990/scm/ctoo/testmaven.git']]])

    }

    stage('initialize variables'){
        // Configuring BRANCH_NAME variable
        sh 'git name-rev --name-only HEAD > GIT_BRANCH'
        sh label: '', script: 'cut -d \'/\' -f 3 GIT_BRANCH > BRANCH'
        branchname = readFile('BRANCH').trim()
        env.BRANCHNAME = branchname
    }
        stage('build & SonarQube analysis') {
            withSonarQubeEnv('Sonar') {
                sh "envsubst '$BRANCHNAME' <sonar-scanner.properties"
              }
        }
}

输出:管道sh (隐藏)

  • envsubst再试验

sonar.projectKey=Project:MavenTest$BRANCHNAME

sonar.projectName=MavenTest$BRANCHNAME

有人能帮帮我吗?

EN

回答 2

Stack Overflow用户

发布于 2019-01-17 13:29:05

嗨,我不知道envbust,但可以通过命令行将声纳参数传递到声纳,请参见下面的示例:

代码语言:javascript
复制
withSonarQubeEnv('Sonar') {
            sh "<sonarscanner path> -Dsonar.projectKey=Project:MavenTest$BRANCHNAME"
    }
票数 0
EN

Stack Overflow用户

发布于 2020-05-19 12:58:12

我遇到了这个问题,并通过使用他的转义字符\解决了这个问题,例如:

代码语言:javascript
复制
sh "envsubst '\${SERVER_NAME}' < ./config/nginx/nginx.conf.template > ./config/nginx/nginx.conf"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54234973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档