当前位置: 首页 > 知识库问答 >
问题:

如何从Jenkins job DSL groovy代码创建和编辑管道定义文件

宗政昱
2023-03-14

我已经准备好了创建约100个测试作业的工作DSL代码(主脚本)。方法是它们应该可以手动执行,并且我们希望有管道让它们在晚上执行。因此,管道作业(多个)也将被创建。没问题。

但是由于主DSL groovy脚本会很大,我希望相应的管道脚本(管道作业将加载)放在单独的文件中。由于作业太多,我已经将所有作业的配置放在一个单独的文件中,它们在MAP中定义。创建所有测试作业的逻辑都放在主脚本中,它会循环通过位于单独文件中的MAP。工作正常。

不希望管道定义中必须配置的作业名称被硬编码(重复信息)!因此,计划是从创建测试作业的同一主脚本逻辑创建管道定义文件。然后,所有相关信息,如作业名称和目标主机等,都可以通过地图在每次迭代中使用。

你知道如何从groovy job dsl脚本中创建和操作独立的管道脚本文件吗?

我尝试过用标准groovy代码创建文件。但很明显,它们是詹金斯大师创造的。这一定是在奴隶身上。

def newFile = new File("${WORKSPACE}/scripts/jenkins_job_dsl/pipeline.conf")
print "${newFile}"

当“新文件”被使用时,我在种子工作中得到了这个:

...
/home/builduser/workspace/Test_and_demo/Richard_Test/seed_job_richard/scripts/jenkins_job_dsl/pipeline.conf
FATAL: No such file or directory
13:33:50 java.io.IOException: No such file or directory
...

共有1个答案

穆轶
2023-03-14

你的问题是读取文件管道。conf,这已经存在于种子作业中了?

您应该能够使用readFileFromWorkspace,如下所示:

// read the file release.groovy from the seed job's workspace
// and configure a Groovy build step using that script
def releaseScript = readFileFromWorkspace('release.groovy')
job('example-1') {
    steps {
        groovyCommand(releaseScript)
    }
}

// read the file run.bat from a workspace of job project-a
// and use it to configure another job
def runScript = readFileFromWorkspace('project-a', 'run.bat')
job('example-2') {
    steps {
        batchFile(runScript)
    }
}
 类似资料:
  • 本文向大家介绍Angular 2 创建自定义管道,包括了Angular 2 创建自定义管道的使用技巧和注意事项,需要的朋友参考一下 示例 app / pipes.pipe.ts app / my-component.component.ts            

  • 我正在尝试从管道中自动创建Jenkins管道构建。 我有一个管道,它创建一个比特桶存储库并向其提交一些代码,包括一个Jenkinsfile。 我需要向此管道添加另一个步骤,然后为其创建管道生成,这将运行 Jenkinsfile 中的步骤。 我认为Jobs DSL应该能够处理这一点,但我找到的文档非常稀少,我仍然不完全确定是否有可能或如何做到这一点。 任何帮助都将不胜感激。我想生成的Pipeline

  • 我希望使用python创建一个CI/CD管道,github作为源阶段,aws s3 bucket作为部署阶段。我无法理解如何使用https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline.html中给出的函数,而且它也没有示例代码。我还遇到了AWS CDK。我使用哪一个,我可以在哪里

  • 了解如何在“代码”视图中工作并充分利用 Dreamweaver 的编码功能。 可通过多种方式在 Dreamweaver 中处理代码。 您可以使用“新建文档”对话框打开新的代码文件,然后开始键入您的代码。在 Dreamweaver 中创建新的代码文件 键入时,会显示代码提示以帮助您选择代码和避免打字错误。如果需要,可使用 Dreamweaver 的有用的快捷文档获取 CSS 的相关帮助。 还可以使用

  • 我在 Jenkins 中创建了一个管道作业,我需要创建一个管道脚本来显示开发阶段的失败和不稳定的构建。在 Jenkins 2.0 中创建此脚本的步骤是什么,或者是否有任何示例管道脚本