What is Jenkins?
What is TeamCity?
Want advice about which of these to choose?Ask the StackShare community!
What tools integrate with Jenkins?
In the past we used to run Jenkins. The build server always had weird issues and was a pain to maintain. Travis is a great solution for CI. Their Debug build features makes it trivial to figure out why your build broke. The integration with Github is also very slick. One thing they could improve is the documentation on the .travis.yaml format. All in all, great company and very responsive supports. Over here at getstream.io we're a fan. Keep up the good work guys!
TeamCity is our main continuous integration server. It starts creating builds and running tests based on commits that we make in our hosted bitbucket repositories. From there, we have a set of configuraitons that can deploy the built and tested artifacts (web app, batches, db, etc...) to a stage or production server. We still release manually, but we release often, and TeamCity has nice features to help us roll back when things don't work out as planned.
TeamCity builds then copies to each web tier via a powershell script. The steps for each server are:
- Tell HAProxy to take the server out of rotation via a POST
- Delay to let IIS finish current requests (~5 sec)
- Stop the website (via the same PSSession for all the following)
- Robocopy files
- Start the website
- Re-enable in HAProxy via another POST
Travis CI is our pillar for automated deployment, pull request testing, auto-merging (for non-mission-critical projects), and build testing per commit / release.
It is highly configurable, super cheap, and extremely robust (supports every language and configuration we've thrown at it).
All of our pull requests are automatically tested using Jenkins' integration with GitHub, and we provision and deploy our servers using Jenkins' interface. This is integrated with HipChat, immediately notifying us if anything goes wrong with a deployment.
Jenkins is our go-to devops automation tool. We use it for automated test builds, all the way up to server updates and deploys. It really helps maintain our homegrown continuous-integration suite. It even does our blue/green deploys.
- Continuous Deploy
- Dev stage: autodeploy by trigger push request from 'develop' branch of Gitlab
- Staging and production stages: Build and rollback quicly with Ansistrano playbook
- Sending messages of job results to Chatwork.
While we usually run tests before commits, Travis goes further and tests with different Python versions and different database backends. It works great, and, best of all, it is free for open source projects.
Currently serves as the location that our QA team builds various automated testing jobs.
At one point we were using it for builds, but we ended up migrating away from them to Code Pipelines.
We use Jenkins to schedule our Browser and API Based regression and acceptance tests on a regular bases. We use additionally to Jenkins GitlabCI for unit and component testing.
Travis CI builds and tests every commit. It's also used to deploy Buildtime Trend as a Service to Heroku and the Buildtime Trend Python library to the PyPi repository.
Travis CI is critical for Linux and macOS CI tests for the Powershell module. Travis runs the same tests we run in AppVeyor in parallel.
To ensure that what works locally will also work for someone else. Also used to send code coverage to codeintel
I'm using a selfhosted TC as Referenceplatform, and use travis with another configuration.