Travis CI vs Codeship
A brief integration comparison (pain levels to integrate CI tool into a project)
Before this task I didn’t even know what is continuous integration and what it is used for.
According to google:
“Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.”
After doing some more digging around I came across two CI tools Travis-CI and Codeship. If you want comprehensive comparison between those two head to → http://stackshare.io/stackups/travis-ci-vs-codeship-vs-circleci
I ended up integrating Travis CI into our group project but then we came across some problems.
Here is a screenshot of problem we were facing. Basically, Travis CI warned us of some untracked file that we didn’t even had in our project directory.
Kevin (our group mentor) suggested this:
one of the things i read said something about “build artifacts”. that folder could be generated and thus be a build artifact.
These problems weren’t impossible to solve but one had to make a decision to spend ample time on solving a problem vs looking at a different solution. So our group project mentor suggested we look into Codeship. According to Kevin (our mentor):
i would suggest you check out Codeship to see how it compares to Travis. it’s much simpler and it just works w/o the config file.
Travis looks like a full featured deep SaaS, and i know it’s used by a lot of people…but if you have 30 minutes, i’d say check out Codeship and see if what you think. i do think it could save a lot of time.
I would like to mention how painful it was for a noob to figure out configurations in .travis.yml file. I spent so many hours looking at so many .travis.yml files on github and only then I was able to figure out. But at the end when we had the build passed and deploy to heroku working as expected. It was all worth it.
But after a group meeting, we decided to abandon Travis CI and go for Codeship because of its smooth UI and painless integration.
As Kevin said:
Codeship works more like Heroku…it figures stuff out.
And it did. All I had to do is press couple of buttons on their website to integrate github repo and push a commit to have it all set up. I was able to setup heroku for deployment in mins.
Takeaway is we were up and running with Codeship in 15 mins vs Travis CI which took me 5 hours of setting up.
So if you have no idea what continuous integration is and how it is used your best bet is to go with Codeship.
Also setting up continuous integration tools is tremendously helpful in long run. As your project gets complex this tool will help you stay sane and keep your project in check for any failing tests or anything that is not production worthy.
I had all hands on deck for this task. Thanks to fellow group members Vincent, Nehemiah, Brad and Kevin.
Please reach out if you have any questions!
Happy Coding :)