[hudson]hudson的build trigger解释

本文深入探讨了如何在项目构建中应用CI系统,包括依赖构建、定时检查SCM和周期性构建的方法,以及如何利用这些功能实现高效、自动化的工作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[b]Build after other projects are bui[/b]lt : 此选项支持一条装配(流水作业)线——作业依赖: 一个作业依赖于另一个作业的输出的情况 —— 或者如以下情形:你只是想简单的把一些有关的工程构建编入一个组以便一起构建。当您一选择它,你将得到一个字段,输入其他工程的名字[多个项目名间用逗号分隔]后,这个构建应该就可以运行。

[b]Poll SCM[/b] : 这是CI 系统中常见的选项。当您选择此选项,您可以指定一个定时作业表达式来定义Hudson每隔多久检查一下您源代码仓库的变化。如果发现变化,就执行一次构建。例如,表达式中填写0,15,30,45 * * * *将使Hudson每隔15分钟就检查一次您源码仓库的变化。更多信息请查阅Quartz CronTrigger 中关于这个定时作业语法的详细描述。

[b]Build periodically[/b] : 此选项 (也是使用定时作业表达式)仅仅通知Hudson按指定的频率对项目进行构建,而不管SCM是否有变化。我这个作业就属于目标测试环境是按某种方式定期修订的而SCM却是静态的情况。如果您想在这个作业中运行一些测试用例的话,它可能就很有帮助。
<?xml version='1.1' encoding='UTF-8'?> <project> <description>test Upgrade模板</description> <keepDependencies>false</keepDependencies> <properties> <hudson.model.ParametersDefinitionProperty> <parameterDefinitions> <hudson.model.StringParameterDefinition> <name>LOG_URL</name> <defaultValue>http://your-service/logs</defaultValue> <description>日志接口URL</description> </hudson.model.StringParameterDefinition> <hudson.model.StringParameterDefinition> <name>STATUS_URL</name> <defaultValue>http://your-service/status</defaultValue> <description>状态检查URL</description> </hudson.model.StringParameterDefinition> </parameterDefinitions> </hudson.model.ParametersDefinitionProperty> </properties> <scm class="hudson.scm.NullSCM"/> <canRoam>true</canRoam> <disabled>false</disabled> <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding> <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding> <triggers> <hudson.triggers.TimerTrigger> <spec>H/10 * * * * *</spec> <!-- 每10秒触发一次 --> </hudson.triggers.TimerTrigger> </triggers> <concurrentBuild>false</concurrentBuild> <customWorkspace>D:/Jenkins_new</customWorkspace> <builders> <hudson.tasks.BatchFile> <command><![CDATA[ @echo off chcp 65001 > nul :LOOP REM 获取并过滤日志 curl -s "%LOG_URL%" | findstr "ERROR" > filtered_log.txt if %errorlevel% equ 0 ( type filtered_log.txt ) else ( echo No matching logs found ) REM 检查服务状态 curl -o status.txt -s -w "%%{http_code}" "%STATUS_URL%" set /p status=<status.txt if "%status%" == "200" ( echo Service returned success status. Stopping... exit 0 ) else ( echo Service not ready. Retrying in 10 seconds... timeout /t 10 /nobreak > nul goto LOOP ) ]]></command> </hudson.tasks.BatchFile> <hudson.tasks.BatchFile> <command><![CDATA[ curl -s http://${agentHost}:${agentPort}/beforeUpgrade?jobName=%JOB_BASE_NAME% cd %WORKSPACE%/%JOB_BASE_NAME%/ curl -s -X POST -H "Content-Type: application/json" -d "${paramsStr}" http://${agentHost}:${agentPort}/afterUpgrade ]]></command> </hudson.tasks.BatchFile> </builders> </project> 这个定时会影响第二阶段吗?
03-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值