Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Build Configurations for Git Flow

How are people setting up their build configurations when using Git and Git-flow? I have several tasks I want to complete:

  • Commit - compile, run static code analysis, unit test, package
  • Integration Test - run integration tests
  • Deploy to Test - deploy the app to a test environment
  • Functional Test - run end-to-end functional tests
  • Deploy to QA - manual pull into a QA environment that runs smoke tests

With master, develop, release feature branches I'm curious how people map them into the build processes.

like image 532
Colin Bowern Avatar asked Jul 03 '13 16:07

Colin Bowern


People also ask

Where is Git flow config?

This file exists in the project level where Git is initialized ( /project/. git/config ) or at the root level ( ~/. gitconfig ). If no configurations are specified, Git uses its default settings.


1 Answers

We currently have

  • CI Build
    • The VCS Root has a branch specification that includes develop, feature/*, release/*, hotfix/* and master
    • A VCS commit trigger for all branches
    • Pull request build feature branches and link build results and approve
    • Auto-merge master -> develop
  • Release notes build
    • A snapshot on CI Build
    • Generates release notes from commits and commits it
  • Deploy to Dev Build
    • A snapshot on CI Build
    • Scheduled to deploy twice a day
    • Only develop branch is deployed
  • Deploy to UAT Build
    • Manual step
    • A snapshot on CI Build
    • Only release/*, hotfix/* or master can be deployed to UAT
  • Deploy to Prod
    • Manual step
    • A snapshot on Deploy to UAT Build
    • Only master can be deployed here (when release or hoftix is closed master needs to be deployed to UAT first for smoke testing)

Teamcity auto-merge doesn't allow for wildcards, so we are working on our own method to keep branches in sync

  • master -> develop, release/*, hotfix/*
  • develop -> feature/*
like image 62
JonSquared Avatar answered Sep 23 '22 19:09

JonSquared