首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins groovy:在管道中添加新行的变量

Jenkins groovy:在管道中添加新行的变量
EN

Stack Overflow用户
提问于 2018-09-20 20:40:07
回答 1查看 2.6K关注 0票数 1

我是Jenkins管道的新手,我的任务是使用cft创建aws云形成堆栈,堆栈名称应该是1-9999之间的随机数,因为我使用shuf命令来生成数字并存储在变量中。

代码语言:javascript
复制
pipeline {
agent  { node { label 'ansible-serverless' } }
stages {
   stage('Verify CFT') {
         options {
         withAWS(credentials:'jenkin_user_s3_9834',region:'us-east-1')
            }
        steps {
  node ('jenkins_ec2_9835'){
            script {
                    sh '''shuf -i 1-10000 -n 1 > outFile'''
                //    curDate = readFile 'outFile'.trim()
                    curDate = readFile 'outFile'.replaceAll("(?m)^[ \t]*\r?\n", "")
                    echo "The current number is ${curDate}"
                    }
                  sh "echo ${curDate}"

          cfnUpdate(url:'https://s3.amazonaws.com/artifacts/100GB_DB_ecosystem_full_enterprise.json', paramsFile:'/tmp/parameter-56.json',stack:"""CICD"${curDate}"-test""")
          cfnDescribe(stack:"CICD"${curDate}"-test")
         }
        }
       }
     }
   }

我能够打印这个变量,但是当我在堆栈创建管道中使用这个变量时,会自动添加新的行。

你能告诉我我在这里做错了什么吗?

代码语言:javascript
复制
Running on ansible-serverless in /root/workspace/test_job
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Verify CFT)
[Pipeline] withAWS
Constructing AWS CredentialsSetting AWS region us-east-1 
[Pipeline] {
[Pipeline] node
Running on Jenkins_Slave_290818_do_not_delete (i-6f1bdb6ae014f) in /home/ubuntu/workspace/test_job
[Pipeline] {
[Pipeline] script
[Pipeline] {
[Pipeline] sh
[test_job] Running shell script
+ shuf -i 1-10000 -n 1
[Pipeline] readFile
[Pipeline] echo
The current number is 6454
[Pipeline] }
[Pipeline] // script
[Pipeline] sh
[test_job] Running shell script
+ echo 6454
6454
[Pipeline] cfnUpdate
[Pipeline] }
[Pipeline] // node
[Pipeline] }
[Pipeline] // withAWS
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
    com.amazonaws.services.cloudformation.model.AmazonCloudFormationException: 1 validation error detected: Value 'CICD6454
-test' at 'stackName' failed to satisfy constraint: Member must satisfy regular expression pattern: [a-zA-Z][-a-zA-Z0-9]*|arn:[-a-zA-Z0-9:/._+]* (Service: AmazonCloudFormation; Status Code: 400; Error Code: ValidationError; Request ID: f59868c6-bd11-11e8-90e2)                                                                                  
EN

回答 1

Stack Overflow用户

发布于 2018-09-20 21:32:54

看起来问题在于字符串插值(interpolation)。

尝试像这样替换curDate变量:

代码语言:javascript
复制
cfnDescribe(stack:"CICD${curDate}-test")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52432994

复制
相关文章

相似问题

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