Live data from Hacker News

What is CI and why use it?

blog.rainforestqa.com

41–47 of 47 posts

Re: What is CI and why use it?

#41

PSA: CodeShip just today announced free plans for up to 5 private repositories. Excellent and more than enough for most startups. Get started with CI -today- it's worth it. https://www.codeship.io/

Actually, they had that plan for a few months I think, they just added continuous deployment for their free offering a few days ago I think?

Continuous Deployment was also always part of it. Basically we upped from 50 free builds to 100 and announced it properly. But the basic feature set hasn't changed and you currently get all of the features in the free plan that you would get in a larger plan.

Re: What is CI and why use it?

#42

1. Is there an easy way of integrating an existing large ansible project with CI to use it for deployment? 2. With continuous deployment, how do you coordinate multiple repositories being changed all at once and potentially numerous migrations that need to be done beforehand? e.g. say you're changing the schema and the web API and all of its clients. Can you CI the entire system at once rather than one git repo at a…

Do you want to test your ansible scripts during deployment, or do you just want to run ansible deployment after the tests are run?

The basic workflow that we at Codeship tell people is test each repository by itself and if that works push to a staging environment.

Once the push into the staging environment is done you restart the last build on an integration test repository that will thoroughly integration test the whole staging system.

When you build service oriented architecture some backwards compatibility for the time that systems are updated are in our opinion the best way. If there are breaking changes treat every part of the infrastructure as a separate api with specific guarantees and just build a v2 api so you can update the clients, but the old ones still work for a while until you can remove the old clients.

Re: What is CI and why use it?

#43
post #41

Earlier quoted context omitted.

Actually, they had that plan for a few months I think, they just added continuous deployment for their free offering a few days ago I think?

Continuous Deployment was also always part of it. Basically we upped from 50 free builds to 100 and announced it properly. But the basic feature set hasn't changed and you currently get all of the features in the free plan that you would get in a larger plan.

Thanks for the clarification!

Re: What is CI and why use it?

#44

In my opinion, this book[1] is the authority on continuous integration and continuous deployment. Continuous Integration is fundamentally about creating a tight feedback loop between your developers and your code. When you program in your IDE, the instant you write uncompilable code, you get red squigglies, so you're getting an instant feedback loop on something you just wrote. CI is the same thing, but at a higher l…

> [1] http://www.amazon.com/dp/0321601912?tag=contindelive-20 Did you just put your Amazon associates referral code in a link on HN? lol

No, I didn't. I don't even have an Amazon associate's referral code, so I must have pasted someone else's. Hoping 1 person on Hacker News will buy a book I linked to in one comment so I could earn $0.25 does not strike me as a great earnings strategy.

Re: What is CI and why use it?

#45
post #8

The hosted CI solutions like CircleCI looks good, but letting them control my code and do the deployment, really requires quite a bit of trust. It is another chain who can have a security breach, which could let intruders have access to my code.

There's also Buildbox, which is a hosted CI engine and web interface. It uses agents that you run and control yourself: https://buildbox.io/

Thanks, will look into it!

Re: What is CI and why use it?

#46

Thanks for the article. I apologize in advance if this is a hijack, but I've really been trying to understand the craze of CI and feel this is a good place to hopefully get answers. CI is something I have a constant struggle with. I primarily work in small teams and I tend to work with other developers that are diligent about running tests and know that "if the tests aren't green when I merge master into my topic bra…

Something not mentioned yet is running your tests in the same environment as they'll be deployed. If people dev on Mac OS X it's good to run your tests on the dexact deploy target.

For code that'll be distributed widely, e.g. an open source library, that might mean a test matrix of different language versions, different DBs, and so on.

Re: What is CI and why use it?

#47
post #23

Earlier quoted context omitted.

If this is all happening at a set time every day, couldn't it just be a cron job? You do have the script created already, CI is just running it for you.

Sure it could be a cron job, but using Jenkins adds some conveniences: a nice UI to browse projects, plus it archives the output of every historical build, locally-archived build artifacts, lots of extensibility with plugins, and so on.

Plus: Once you already got everything up and running you can take it a step further and deploy from the CI Server. In my previous job, the Ops Team loved it when I told them how to deploy from the CI instead of going to the "Release Developer" (Which was loathed by the Ops, because she was not the friendliest person :D)
Post reply on HN