我有一个Python应用程序,我想首先在DEV中部署它,然后在UAT中部署它,最后在PROD上部署它。我可以使用带有Webhooks的Jenkins构建它,这样当它被推送到DEV时它会触发一个构建(它运行nosetests套装)。我希望这个应用程序随后在UAT和PROD中被提升,如果分别在DEV和UAT中构建。我不想要任何人工干预。可以用Jenkins完成吗?如果不是什么可能是最好的选择?
P.S 我想过从我的Jenkins服务器上的DEV,UAT,PROD服务器上进行远程登录。并触发构建,但我仍然不清楚如何做到这一点?
答案 0 :(得分:8)
最佳做法是使用Jenkins pipeline。您可能需要使用input step在您的环境之间进行,并让您(我假设)异步部署触发管道延续到下一阶段(环境)
答案 1 :(得分:3)
一种选择是将您的UAT和PROD远程环境添加为Jenkins从属。 Check this documentation for more on that
添加新节点时,您可以为添加为slave的每个环境设置表达式标签,例如:remote_uat
。然后,您可以在作业定义中使用限制此项目可以运行的位置选项,并引用先前已定义的标签。这将告诉jenkins仅在具有分配给它的标签表达式的远程节点中构建该作业。
Ta启用jenkinst以在成功构建DEV之后触发UAT和PROD相关构建,您应该使用Parameterized Trigger Plugin,这将使您能够配置作业以在执行后步骤中触发其他作业。