从管道运行Jenkins作业
管道中的管道可以将控制传递给Jenkins作业,然后在Jenkins作业完成后返回执行。
总而言之,这是事件的顺序:
- 在pipeline中,管道执行詹金斯一步来调用Jenkins作业Jenkins服务器集成
- 当Jenkins作业完成时,它将控制权返回给管道,并通过调用管道中的函数来更新管道资源2022世界杯阿根廷预选赛赛程Jenkins Artifactory插件
- 在Pipelines中,管道恢复执行任何更新的资源2022世界杯阿根廷预选赛赛程
Jenkins服务器集成
要使管线能够将控制权从Jenkins传递并返回给Jenkins,管理员用户必须首先添加Jenkins服务器集成Jenkins服务器集成指定Jenkins URL,以及有效Jenkins用户的用户名/令牌凭证。此外,Jenkins服务器集成必须生成一个承载令牌通过Jenkins Artifactory插件验证从Jenkins发送到pipeline的消息。
Jenkins Artifactory插件必须配置Callback URL,并且生成的承载令牌必须添加到插件的凭据中。看到Jenkins服务器集成获取详细信息。
管道DSL
如果Jenkins作业将更新管道资源,你必须在管道DSL中声明这些资源。2022世界杯阿根廷预选赛赛程例如,aPropertyBag资源可以用来通知Jenkins作业结果:
2022世界杯阿根廷预选赛赛程—name: app_test_results type: PropertyBag配置:passed: 0 failing: 0
要在管道中启动Jenkins作业的执行,请使用詹金斯本机的一步。中指定Jenkins Server集成集成
块。如果Jenkins作业更新了pipeline资源,则必须在2022世界杯阿根廷预选赛赛程output2022世界杯阿根廷预选赛赛程Resources
块。
—name: test_app type: Jenkins configuration: jenkinsJobName: basic-api inputR2022世界杯阿根廷预选赛赛程esources:—name: app_docker buildParameters: imageName: ${res_app_docker_imageName} imageTag: ${res_app_docker_imageTag} integrations:—name: myJenkins outputResources:—name: app_test_results . name: app_test_results . name
当加载到管道中时,管道图显示了Jenkins步骤,其中Docker映像作为输入资源,而由Jenkins作业更新的PropertyBag作为输出资源。
向Jenkins发送构建参数
方法将参数传递给Jenkins作业buildParameters
财产。这些值可以是固定的,也可以使用管道环境变量发送动态值。
在本例中,我们指定一个图片资源命名为"app_docker"input2022世界杯阿根廷预选赛赛程Resources
我们的詹金斯步骤。我们的buildParameters
属性引用资源的环境变量。
buildParameters: imageName: ${res_app_docker_imageName} imageTag: ${res_app_docker_imageTag} environment: "test"
运行状态环境变量是不可用的buildParameters。
Jenkins Build Job
詹金斯的工作必须准备好识别传入buildParameters
从管道。当我们的Jenkins作业执行时,我们的示例构建参数从管道接收并可供使用。
步骤{echo "环境:${params。在${params. imagename}上运行测试:${params. imagename}。imageTag} "}
在Jenkins构建作业结束时,调用插件的函数jfPipelines ()
发出完成的信号,并将控制返回给管道。
jfPipelines ()
您的构建作业可以通过更新pipeline资源的属性将信息传递回pipeline。2022世界杯阿根廷预选赛赛程为此,请使用调用中的新属性值按名称声明每个资源jfPipelines ()
.
例如,下面的调用引用了一个pipelinePropertyBag我们称之为资源app_test_results
并为它的两个属性提供了新的值:
jfPipelines(outputR2022世界杯阿根廷预选赛赛程esources: """[{"name": "app_test_results", "content": {"passing": 1234, "failing": 0}}]""" ")
如上所述,这些pipeline资源必须声明为2022世界杯阿根廷预选赛赛程output2022世界杯阿根廷预选赛赛程Resources
调用Jenkins步骤。
从Jenkins作业触发管道(已弃用)
本节中描述的方法在1.6.0版本中已弃用。它只适用于以前版本的pipeline。
从管道触发Jenkins作业(已弃用)
本节中描述的方法在1.6.0版本中已弃用。它只适用于以前版本的pipeline。