使用git,maven,puppet和jenkins时的工作流程是什么?

时间:2013-07-04 19:24:25

标签: java git maven jenkins puppet

我有一个使用git进行版本控制的maven项目。我已经设置了jenkins为我的repo的特定修订版执行maven构建。我所想的是,我可以使用puppet来部署由jenkins完成的特定构建。

使用git,maven,puppet和jenkins时,还有其他可以尝试的工作流程吗?

2 个答案:

答案 0 :(得分:1)

目前我们有一个“每个功能”分支flow

我已经为jenkins设置了几个工作

  • my_project-ci:轮询git服务器并在origin/feature/*
  • 开始的所有分支上进行持续集成的人
  • 然后我们有一个构建pipeline
    • my_project:启动测试,一旦某个东西在master中合并,然后archive工作区并触发以下作业
    • my_project-staging:这个会自动部署到说明服务器
    • my_project-production:此手动触发

循环看起来像:

  • local :克隆 - > git branch -b feature / super-feature - >提交 - >本地构建 - > git push
  • jenkins :Jenkins cron for origin / feature / *
  • 本地其他开发:通过拉取请求查看功能
  • local :fix - >提交 - >本地构建 - >推
  • 本地其他开发:合并主要的pullrequest
  • jenkins :Jenkins cron origin / master
  • jenkins :触发my_project-staging
  • local :验证部署并手动触发my_project-production
  • jenkins :部署到生产

我不是使用puppet进行部署的忠实粉丝,它非常适合配置,但它处理严重的部署协调(例如,在集群中运行数据库迁移,从负载均衡器中删除一个成员,部署,重新添加平衡者)。看看ansible,capistrano等工具......

答案 1 :(得分:0)

你所描述的所有工具都是正交的。

典型的工作流程是

克隆 - >提交 - >本地构建 - >推 - > Jenkins cron - >勉强