手机建设中网站,做网站的市场风险分析及对策,小孩学编程哪家好,网站开发任务完成情况1.功能
“Trigger/call builds on other project” 功能是 Jenkins 中的一个特性#xff0c;允许您在某个项目的构建过程中触发或调用另一个项目的构建。
当您在 Jenkins 中启用了 “Trigger/call builds on other project” 功能并配置了相应的触发条件后#xff0c;当主项…1.功能
“Trigger/call builds on other project” 功能是 Jenkins 中的一个特性允许您在某个项目的构建过程中触发或调用另一个项目的构建。
当您在 Jenkins 中启用了 “Trigger/call builds on other project” 功能并配置了相应的触发条件后当主项目构建成功或满足触发条件时Jenkins 将自动触发所配置的目标项目的构建。
这种功能通常用于创建复杂的构建流水线或构建依赖关系。例如您可以将多个项目串联起来使得一个项目的构建成功触发下一个项目的构建以实现整个软件开发、测试和部署流程的自动化。
通过 “Trigger/call builds on other project” 功能您可以创建复杂的构建逻辑并且将不同的项目之间形成依赖关系以便实现更高级的自动化和集成。
2.携带参数的两种办法
在 “Triggering Options”触发选项中查找 “Parameters”参数部分。选择 “Predefined parameters”预定义参数或 “Current build parameters”当前构建参数具体取决于您希望如何传递参数。
如果选择了 “Predefined parameters”预定义参数您可以按照以下格式提供参数
PARAM_NAME${VALUE}其中PARAM_NAME 是 B 项目中定义的参数名称VALUE 是您希望传递给 B 项目的实际值。例如PARAM_NAMEexample_value
如果选择了 “Current build parameters”当前构建参数那么 A 项目中定义的所有构建参数都将自动传递给 B 项目。
在参数字段中使用 Shell 脚本来获取当前时间并将其赋值给参数。例如要将当前日期以 “YYYY-MM-DD” 格式传递给 B 项目您可以使用以下命令
PARAM_NAME$(date %F)这将使用 date 命令获取当前日期并将其格式化为 “YYYY-MM-DD” 并赋值给 PARAM_NAME 参数。
如果您还想添加其他参数您可以使用换行符 \n 将它们分隔开如下所示
PARAM_NAME$(date %F)\nANOTHER_PARAMvalue3.实际使用案例
项目A会传递VERSION选项参数和预定义参数DIRNAMES 项目B
import java.text.SimpleDateFormat
import java.util.Datepipeline {agent noneenvironment {createdir getVERSION()dirname ${params.DIRNAMES}}stages {stage(初始化) {agent { label 10.101.11.55 }steps {script {wrap([$class: BuildUser]) {buildName #${BUILD_NUMBER}_${BUILD_USER}}}cleanWs()}}stage(上传到文档管理系统) {agent { label 10.101.11.55 }steps {script {sh#软链接#cd $WORKSPACE/#ln -s /jenkins/product/${dirname}/${createdir} ./#ls $WORKSPACE/echo $createdirecho $dirname}}}}
}def getVERSION() {if (params.VERSION !params.VERSION.trim().isEmpty()){return params.VERSION} else {def dateFormat new SimpleDateFormat(yyyyMMdd)return dateFormat.format(new Date())}
}
def uploadFolder(url,folder,dirname){def files findFiles(glob: $folder)for(file in files){echo file.pathdef path file.path;path path.replace(file.name,);echo pathsh curl -i -X POST $url -H Content-Type: multipart/form-data -F file file.path -F usertest -F userNametest -F path${dirname}/ path }
}