What is the workflow when using git,maven,puppet and jenkins?

I have a maven project which uses git for version control. I have setup jenkins to perform maven builds for specific revisions of my repo. What i have thought is, I can use puppet to deploy specific builds done by jenkins.

Is there any other workflow which i can try, when using git,maven,puppet and jenkins?

  • Renaming git tags results in inconsistency
  • How to track separate projects with same core files in git
  • Git error: <filename> is far too short to be a packfile
  • What does Uninitialized mean in smartgit?
  • What does git-config(1) mean when it says “colors are used only when the output is to a terminal”?
  • Git ignore file for C projects
  • How do you know what changes are yet to be pushed?
  • Web development; no server source control support
  • git heroku multiple computers workflow
  • Why does git-svn make branches with names like trunk@34663
  • git: how to sync to latest revision
  • How do I discover the additional causes of my Jenkins build?
  • 2 Solutions collect form web for “What is the workflow when using git,maven,puppet and 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/*
    • then we a have a build pipeline
      • my_project : launch test, once the something is merged in master, it then archive the workspace and trigger the following job
      • my_project-staging : this one deploy automatically to the stating servers
      • my_project-production : this one is triggered manual

    the cycle looks like :

    • local : Clone -> git branch -b feature/super-feature -> commit -> local build -> git push
    • jenkins : Jenkins cron for origin/feature/*
    • local other dev : review the feature via pull request
    • local : fix -> commit -> local build -> push
    • local other dev : merge the pullrequest in master
    • jenkins : Jenkins cron origin/master
    • jenkins : trigger my_project-staging
    • local : validate deployment and trigger manually the my_project-production
    • jenkins : deploy to production

    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,…

    Well all tools you have described are orthogonal to each other.

    typical workflow is

    Clone -> commit -> local build -> push -> Jenkins cron -> deply

    Git Baby is a git and github fan, let's start git clone.