首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从scripted管道读取和执行config.yaml文件

如何从scripted管道读取和执行config.yaml文件
EN

Stack Overflow用户
提问于 2021-12-12 17:19:12
回答 1查看 1.6K关注 0票数 0

我是新的堆叠溢出,以及新的编码部分。我使用usecase从配置文件中读取每个块,并使用jenkins脚本管道(groovy脚本)执行函数。下面是我在配置文件中写下了一系列参数的伪代码。另外,jenkinsfile将读取配置文件并查找应该满足称为“业务逻辑”的值的操作类型。如果满足,则只应使用具有键/值"action-type: business-logic“的迭代模式执行脚本块。

这是我的密码:

ast-config.yaml

代码语言:javascript
复制
message: ""veracode policyscan"
  action-type: vc-policy-scan
  code-location: "policyscan.groovy"
  
message: "Deploy DAGs to S3"
  action-type: business-logic
  binary-action: "copyfilesS3.py"

message: "Deploy CIT-CDW Folder to S3 Bucket"
  action-type: business-logic
  binary-action: "copyfolderS3.py" 

message: "Deploy CIT-CDW Folder to EFS"
  action-type: business-logic
  binary-action: ""  

詹金斯档案

代码语言:javascript
复制
node {
  //checkout scm
  get-client-code("git url'cit-cdw'")
  def conf = readProperties file: "ApplicationConfiguration/ast-config.yaml"
  for block in conf {
        execute-stage(block)
  }

def execute-stage(block) {
        if (block.message.action-type == "business-logic")
            stage(block.message){
                steps { script {
                    sh """#!/bin/bash
                    block.binary-action()
EN

回答 1

Stack Overflow用户

发布于 2021-12-13 02:14:23

  1. 看来你的yaml文件无效
代码语言:javascript
复制
block:
  message: ""veracode policyscan"
  action-type: vc-policy-scan
  code-location: "policyscan.groovy"
 
block:
  message: "Deploy DAGs to S3"
  action-type: business-logic
  binary-action: "copyfilesS3.py"
  1. readProperties无法加载yaml文件,请使用readYaml
代码语言:javascript
复制
def conf = readYaml file: "ApplicationConfiguration/ast-config.yaml"
  1. 应该在下面的Groovy字符串插值步骤中使用binary-action替换binary-action
代码语言:javascript
复制
 sh """#!/bin/bash
  ${block.binary-action}
 """
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70325914

复制
相关文章

相似问题

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