It's been a while since the topic of Continuous Integration has come up. There was a post back in 2009 about it, that's 4 years ago and alot has happened in Umbraco land since then.
I'm looking to implement a CI workflow, my question is what are other developers using? what works and what doesn't work?
At the moment I have identified the following technolgies:
Version Control System - GIT
GIT Client - Smart Git/Hg
Deployment + External Repository Host - Beanstalk
Continuous Integration Server - TeamCity
The solution am considering involves building a web-front end to automate the creation of repos (Dev | Staging | Live) on Beanstalk (using it's REST api) and automatically creating the projects in TeamCity (again using REST API).
Setting up a project
Login to web-front end – this will be built to
hook into Beanstalk / Teamcity.
Create a new project.
Input project details.
Automated set-up of repositories in Beanstalk
with REST API.
One repository created with several branches -
one per environment Main branch - (Dev, Staging, Live).
Automated set-up of the project on the build-server
(TeamCity) with REST API.
Automatically set the deployment details -
allows deployment on commit.
Clone the repository with SmartGit/hg to a local
folder.
Small code changes
Work on the Dev branch locally - make change in
working copy.
Commit change with SmartGit/Hg.
Commit detected by TeamCity.
Runs a Build - tests – then reports the findings.
All good - automated deploy to Dev environment
(web hook - or commit message).
New features
Create new branch with SmartGit/Hg (derived from
Dev).
Work - multiple commits and builds.
Run final build tests.
All good - merge to Dev repository.
Automated deployment to Dev environment.
Pushing changes to Staging / Live
Merge Dev branch to Staging / Live.
Commit changes + push.
All good - automated deployment to the correct
environment. (web hook)
Alot of this is based on the hard-work done by Anthony Dang and his great series of Automation Sparta posts. Comments welcome, especially if you have a similar process, or a process that works well and are willing to share.
Umbraco and Continuous Integration (Revisited)
It's been a while since the topic of Continuous Integration has come up. There was a post back in 2009 about it, that's 4 years ago and alot has happened in Umbraco land since then.
http://our.umbraco.org/forum/developers/api-questions/9730-Umbraco-and-Continuous-Integration
I'm looking to implement a CI workflow, my question is what are other developers using? what works and what doesn't work?
At the moment I have identified the following technolgies:
Version Control System - GIT
GIT Client - Smart Git/Hg
Deployment + External Repository Host - Beanstalk
Continuous Integration Server - TeamCity
The solution am considering involves building a web-front end to automate the creation of repos (Dev | Staging | Live) on Beanstalk (using it's REST api) and automatically creating the projects in TeamCity (again using REST API).
Setting up a project
Small code changes
New features
Pushing changes to Staging / Live
Alot of this is based on the hard-work done by Anthony Dang and his great series of Automation Sparta posts. Comments welcome, especially if you have a similar process, or a process that works well and are willing to share.
Thanks,
Matt
is working on a reply...