TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

What Is Proper Continuous Integration?

73 pointsby markoaabout 8 years ago

13 comments

SideburnsOfDoomabout 8 years ago
&gt; As with all ideas, everybody does their own version of it in practice.<p>Yes.<p>&gt; Continuous integration (CI) is confusing.<p>At core, no. Not really. See the 1st paragraph of <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Continuous_integration" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Continuous_integration</a> :<p>&gt; In software engineering, continuous integration (CI) is the practice of merging all developer working copies to a shared mainline several times a day.<p>So the 2 words are defined as follows:<p>Continuous: at least several times a day.<p>Integration: merge changes to master.<p>It&#x27;s not a tool: it&#x27;s a practice, a workflow that builds, tests and tools can help you do safely.<p>Some of these &quot;CI Server&quot; tools also support &quot;build and test the branches&quot; which is useful but is not CI. This is a common mistake.<p>See also: <a href="https:&#x2F;&#x2F;trunkbaseddevelopment.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;trunkbaseddevelopment.com&#x2F;</a>
评论 #13782489 未加载
评论 #13782640 未加载
TurboHaskalabout 8 years ago
Someone introduces $buzzword.<p>As software is a popularity contest industry driven by hype and career building blogposts, now everyone needs to do $buzzword so that they can play SEO with their resumes. This is a highly competitive market after all and you gotta put food on the table.<p>smug-faced guru enters the scene: &quot;Oh it looks like you&#x27;re not actually doing proper $buzzword. Shame on you for raising the hand!&quot;<p>Now you&#x27;re trapped. You either a) do what the guru says or b) remove $buzzword from your resume before you kiss your children goodbye and prepare for your new homeless life.
verytrivialabout 8 years ago
&gt; &quot;Of course our build takes long, we have over 10,000 lines of code!&quot;<p>Well, my project misses the 10 minute target by a factor of four, but does include tests and have 670kloc of C++. I claim continuous in this context, thanks very much.
评论 #13783121 未加载
评论 #13782099 未加载
评论 #13786240 未加载
评论 #13783184 未加载
__mpabout 8 years ago
I think this really depends on the code base. If I had a website where a change would trigger more than 5 minutes of integrating and testing I would go mad.<p>I&#x27;m working with a weather model and it takes around 1 hour to build and test everything: We build against 2 super computers, 3 different compilers, 2 different architectures (CPU, GPU) and single and double precision. Building alone takes 30 minutes (more in some cases). For testing we reserve 1x node with 8 GPUs and 9 CPU cores on one machine and 2x nodes with 1 GPUs in a 30 minutes debug slot.<p>With a pull-request based workflow we are able to push to the master multiple times a day. 40 minutes might be achievable by massively revamping our build mechanism and getting jenkins to store gigabytes in build artifacts for each run. However, I do not think it is worth it, because changes can take multiple days, or in some rare cases months to implement. If people need to wait for an hour for their tests to validate that&#x27;s not so bad.
评论 #13783394 未加载
marcv81about 8 years ago
This is an okay and mostly correct introduction for anyone who has never heard of CI, but lacks any sort of depth. The author sounds like he just discovered the concept and wants to share it, but lacks practical experience.
评论 #13782170 未加载
评论 #13782366 未加载
评论 #13782151 未加载
mazlixabout 8 years ago
I really don&#x27;t think build time is very important. With a separate CI server it doesn&#x27;t much matter if takes an hour or &lt;10 minutes for a build to complete, the gain for me is that it&#x27;s no longer &quot;your&quot; time. It&#x27;s some other server that&#x27;s doing the work with a saved state (master).<p>I&#x27;ll typically just merge into master on GH, let the CI server take it from there and not bother checking the site manually when the build is complete, it&#x27;s not necessary. Our QA and CI process handles that.<p>I consider it a major advantage (benefits far outweigh risk) that I can typically merge my ticket into master, close my laptop and head home.
xyzzy123about 8 years ago
Well a major problem in many organisations is perceived sensitivity of source code, and therefore a reluctance to outsource many tasks which rely on access to such.<p>I like to think &quot;we&#x27;ll get there&quot;.
jpalomakiabout 8 years ago
More important than build speed is the confidence that code which passed to build really works.<p>I think one big reason why organizations don&#x27;t integrate and deploy often is that people are afraid they will break something when they do this. Then you end up pushing this big and scary thing forward and forward. This of course does not take away any of the risks, but at least you need to close your eyes and wish for the best only once a month.
lucaspillerabout 8 years ago
For those using Selenium or something similar, do you have any tips for making test suites fast? Usually I just test the main flows with Selenium, then go more indepth with unit-tests where parts of the application are mocked out - but it&#x27;s a trade off between accuracy and speed.
评论 #13783550 未加载
评论 #13784032 未加载
评论 #13783580 未加载
评论 #13783954 未加载
评论 #13783469 未加载
penetrarthurabout 8 years ago
Well, what if the CI is first building xcode project and then deploying it on device and then running tests? 10 minutes?
skiplecaribooabout 8 years ago
Is that now a thing to put your css at the end of the page?
draw_downabout 8 years ago
What exactly is the significance of 10 minutes? Who came up with that part? These kind of purity tests can get a little silly, I think.
评论 #13787810 未加载
pokemongoawayabout 8 years ago
Quite a lot of words in the comments and article, but not the word &quot;automation&quot; for some reason :P