我有我的Jenkinsfile,可以使用两个参数手动执行,这些参数必须根据我是为开发,登台还是生产而构建。
我现在想做的是,每次詹金斯(Jenkins)发现位桶存储库中是否有新内容时,它都会使用特定参数构建一个新作业(首先通过数据库更新来构建开发人员),然后如果成功,则进行另一个使用暂存参数on和数据库build的参数进行构建。
我希望将用于生产的部署(或更确切地说,创建新工作)的过程作为手动任务,直到我检查一切在分期中看起来是否良好。
作为一个旁注,我的jenkins管道按预期工作,而轮询也按预期工作,我只需要使此过程自动化即可。
注意
我什至没有尝试使用Bitbucket的webhook,因为我的jenkins服务器运行在不允许有外部连接的主机上,并且当bitbucket将信号发送到我的jenkins服务器时,出来。
谢谢您的建议。
我的Jenkins文件如下:
6
答案 0 :(得分:2)
您可以创建可以视为阶段的函数,然后以所需的顺序使用某些参数调用这些函数。
例如:
def deployDBDev(param1, param2){
//some steps
}
def deployDev(diffParam1, diffParam2){
//some steps
}
//then call it in the sequence you want
deployDBDev(param1, param2)
deployDev(diffParam1, diffParam2)
答案 1 :(得分:1)
我建议在bitbucket中创建3个分支
在詹金斯方面,您可以为每个环境创建3个作业,并在特定分支上添加轮询以进行自动触发。
您的开发人员将提交dev,一旦发现一切都很好,您将触发dev的构建,您可以在stage分支中合并代码,这将触发stage工作。
最后,当您确认所有登台都很好时,只需将登台合并到生产分支中,这将再次触发生产作业。
答案 2 :(得分:0)
用于在推送代码或创建请求请求时触发构建,您可以按照以下文章进行操作。