jenkins - 詹金斯档案 | 多环境的声明阶段
问题描述
我有一个下面的 JenkinsFile 声明性管道是结构-
pipeline{
agent{}
stages{
stage(dev_one){
steps{
}
}
stage(dev_two){
steps{
}
}
stage(test_one){
steps{
}
}
stage(test_two){
steps{
}
}
}
}
我看到 JPL 脚本中存在冗余,因为您看到 stage(dev_one) 和 stage(test_one) 将具有相同的步骤。我怎样才能重用阶段(dev_one),以便一个阶段可以用于不同的环境。
解决方案
您可以将重复代码包装到一个函数中,然后使用不同的参数在多个阶段调用该函数。
pipeline{
agent{}
stages{
stage(dev_one){
steps{
workOnEnv(this, 'dev_one', <next param>)
}
}
stage(dev_two){
steps{
workOnEnv(this, 'dev_two', <next param>)
}
}
stage(test_one){
steps{
}
}
stage(test_two){
steps{
}
}
}
}
void workOnEnv(Script script, String env, String param2, ...) {
script.echo "work on env: $env"
script.sh ""
script.step()
}
推荐阅读
- javascript - 处理下拉列表选项中可用的标签
- c# - 无法在具有正确文件名和扩展名的 devops rest api 中下载 attachemet
- c# - 如何仅更新 c#.net 数据库中同名的最高 id
- vue.js - 如何从 Azure AD 获取名字等信息并在 .net 核心中使用?
- javascript - 在 JS 中使用用户表单输入
- ckeditor4.x - 如何在ckeditor 4中设置默认值?
- android - 为什么 Integer.tostring 会抛出这个空指针异常?
- unity3d - Unity 3D - 烘焙光太暗
- vue.js - 如何在 Vue 组件(没有 Webpack)中使用非 Vue 自定义 Web 组件?
- swiftui - 如何在不压缩 SwiftUI 的情况下获得原始大小的视图?