我有一个使用 git 进行版本控制的 Maven 项目。我已经设置 jenkins 来为我的 repo 的特定修订执行 maven 构建。我的想法是,我可以使用 puppet 来部署由 jenkins 完成的特定构建。
在使用 git、maven、puppet 和 jenkins 时,我可以尝试其他工作流程吗?
Currently we a have a "per feature" branch flow
I've setup jenkins with several jobs
my_project-ci
: one that poll the git server and do continuous integrations on all branch starting with origin/feature/*
my_project
: launch test, once the something is merged in master, it then archive the workspace and trigger the following jobmy_project-staging
: this one deploy automatically to the stating serversmy_project-production
: this one is triggered manualthe cycle looks like :
I'm not a big fan of using puppet for deployment, it works great for provisionning but it handles badly orchestration of deployments (eg run db migration, in a cluster, remove one member from load balancer, deploy, re-add to balancer). Take a look a tools like ansible, capistrano,...
好吧,您描述的所有工具都是相互正交的。
典型的工作流程是
克隆 -> 提交 -> 本地构建 -> 推送 -> Jenkins cron -> 部署