TeamCity future direction and the Deployment Pipeline
Hello,
First of all this is a great product. We have been using TeamCity for years. We switched from Cruise Control and never looked back.
After doing simple CI for years, we are now slowly moving in the direction of a "deployment pipeline".
Thanks in part to books like this: http://www.informit.com/articles/article.aspx?p=1621865
I know that the goal of a deployment pipeline can be achieved with TeamCity by connecting builds together and so forth, but it is not as iniuitive as I would like.
I also know that there is a plugin or two, but it seems that some native support could be added to help create and visualize a "Deployment Pipeline".
Though I have never used GO, it seems it addresses this concept.
http://www.thoughtworks-studios.com/go-agile-release-management
This screen shot from a hudson plugin seems to sum it up..
http://www.centrumsystems.com.au/blog/?p=121
So in summary, I wanted to find out if the TeamCity Team could shed some light on this topic.
Thanks.
Please sign in to leave a comment.
Hello,
We are considering adding support for pipeline/build chain visualization, and here is a feature request to vote for: TW-14067.
Continuous deployment is possible in TeamCity (with artifact and snapshot dependencies) but so far there are at least two areas which need improvement:
- visual representation of the build chain (=pipeline)
- ease of configuration (this can require rethinking of build triggering and the "pipeline" definition
Opening the cards slightly, while elaborating TeamCity 7.0 topics we were discussing the feature but so far it was not designated as our top priority for the next release.
This is partly because there is no unanimous team opinion on how this should look like considering existing TeamCity features and dependencies.
I guess I can describe one of the approaches in a blog or elsewhere and ask for community feedback.
Another point it that so far it is not clear how build chain/pipelines presentation should be added into web UI. Adding one more view seems to introduce one more dimension to already not-trivial UI which we do not want to complicate further...
All in all it would help if you can pinpoint the most painful points that you face when using continuous delivery scenarios with TeamCity currently.
Also, hearing more voices on this can help us figure out how critical is the dedicated support for deployment pipelines.
Greetings and thanks for the reply.
I am happy that to know that there is discussion taking place on this.
For us, once we move toward a full deployment pipline, the key change is that the intereseted stakeholders will include more than just developers.
Our B/A's and project managers should be able to see a simple screen and understand how a specific build is progressing.
They should also be able to execute a deployment by choosing from a list of sucessful builds.
For now however I was hoping that you could point me toward some documentation or example of how to create a simple Deployment Pipeline using
the current version of TeamCity.
I will be attempting the following configuration:
It is really step three that I am unsure about.
I would love to hear from other developers who are doing this.
Any help would be appreciated
Thanks..
(for those who might be interested in alike setup)
Here is how the above-described setup can be configured in TeamCity:
- create build configuration "Commit" that publishes a .war as it's artifact
- create build configuration "Acceptance Tests" that has snapshot dependency and artifact dependency on "Commit", has VCS trigger with "Trigger on changes in snapshot dependencies" option on. Repablish .war as own artifact.
- create "Deploy" build configuration with artifact dependency on "Acceptace Tests" one. The build configuration should perform the actual deployment of the .war inside the build script (like Ant/MSBuild/command line/etc.)
Whenever a build build be deployed, either go to the build results page and invoke "Promote" action from the build actions in the top right corner, or open Run custom build dialog for "Deploy" build cofiguration and select appropriate build from the artifact depenencies.
Hope this helps.
A few questions:
Thanks!
Colin