In software engineering, continuous integration (CI) implements the continuous building and automated testing of the full software product on a frequent schedule. At least once a day, often several times a day and sometimes as often as after every check in to the version control system.
152
votes
26answers
16k views
How to apologize when you have broken the nightly build
My first commit in my project resulted in nightly build being broken and people are all over me as we are nearing the release. I want to sent an apology email that should sound sincere
and at the same ...
46
votes
6answers
4k views
65.000.000.000 tests to run
I was asked about how to run a suite of 65.000.000.000 tests and I wonder if it is normal to have a project with such a huge amount of tests.
Have you worked in projects with this characteristic?
42
votes
16answers
3k views
Should a programmer fix someone else's failed build? [closed]
One programmer committed some work to the SVN repository, then went home. After he left, the Hudson automatic build failed. Another programmer saw this, and after looking through the code changes, ...
32
votes
13answers
4k views
To branch or not to branch?
Till recently my development workflow was the following:
Get the feature from product owner
Make a branch (if feature is more than 1 day)
Implement it in a branch
Merge changes from main branch to ...
25
votes
12answers
2k views
How many developers before continuous integration becomes effective for us?
There is an overhead associated with continuous integration, e.g., set up, re-training, awareness activities, stoppage to fix "bugs" that turn out to be data issues, enforced separation of concerns ...
25
votes
10answers
1k views
Do DVCSes discourage continuous integration?
Say there is a team of ten agile developers. Every day they each pick a task from the board, commits several changes against it, until (by the end of the day) they have completed the task. All ...
22
votes
7answers
1k views
how to stay efficient when a build is almost always broken
I work in a middle sized team which shares the same source code and while have a continues integration in place, but as all of us has to work in the same branch, the build is almost always broken.
...
20
votes
3answers
1k views
Simple explanation of Continuous Integration
How would you define Continuous Integration and what specific components does a CI server contain?
I want to explain to someone in the marketing department what Continuous Integration is. They ...
18
votes
7answers
899 views
Continuous Integration : which frequency?
I've always launched builds after each commit, but on this new project, the architects just asked me to change the frequency to "one build every 15 minutes", and I just can't understand why that would ...
16
votes
10answers
2k views
When to do code reviews when doing continuous integration?
We are trying to switch to a continuous integration environment but are not sure when to do code reviews. From what I've read of continuous integration, we should be attempting to check in code as ...
15
votes
6answers
605 views
Who is Responsible for Setting Up An Automated Builds System?
I am a project manager at my company. I work with a few teams of developers using a standard, well-known version control system known as CVS. I'd like to see continuous integration and automated ...
15
votes
9answers
2k views
How to lead a development project without technical expertise
I have been a hands-on developer for my entire career and love working with code. I have always resented the team lead who has little or no expertise regarding a particular technology and yet insists ...
15
votes
9answers
3k views
How to maintain different, customized versions of the same software for multiple clients
we have multiple clients with different needs. Although our software is modularized to a degree, it's almost certain that we need to adjust every module's business logic here and there a little for ...
14
votes
6answers
2k views
Good workflow for software development with scrum and continuous integration
I'm studying an approach to understand better how the continuous integration workflow fits better in a software development company with the scrum method.
I'm thinking something like this:
Would ...
14
votes
2answers
801 views
Mercurial Repository structure with heavyweight corporate comms, configuration management & test requirements
I am yet another Subversion user struggling to re-educate myself in the Tao of distributed version control.
When using Subversion, I was a big fan of the project-minor approach, and, with most of my ...
13
votes
9answers
1k views
Babysitting your Continuous Integration System
One of my roles in my team is the build person. I am responsible for maintaining/updating our build scripts and making sure we are building 'smoothly' on the continuous integration server. I usually ...
13
votes
13answers
2k views
Are there serious companies that don't use version-control and continuous integration? Why?
A colleague of mine was under the impression that our software department was highly advanced, as we used both a build server with continuous integration, and version control software. This did not ...
13
votes
5answers
519 views
Odd company release cycle: Go Distributed Source Control?
Sorry about this long post, but I think it is worth it.
I have just started with a small .NET shop that operates quite a bit differently to other places that I have worked. Unlike any of my previous ...
12
votes
6answers
547 views
What does “automated build” mean?
I'm trying to add Continuous Integration to a project.
According to Wikipedia, one major piece of CI is automated builds. However, I'm confused about what, exactly, that means, as the CI and build ...
12
votes
9answers
1k views
Convince a lone developer to use a separate build tool instead of the IDE one-click build
In my years of programming Java and more recently Scala, I've never used Ant, Maven, Gradle or any of those build tools for Java. Everywhere I've worked there was a build manager who took care of all ...
12
votes
8answers
360 views
Alternative to “Passing/Broken build” indicator?
When having a continuous integration executing the tests at each commit, a common best practice is to have all the tests passing at all times (aka "do not break the build").
I find some problems with ...
11
votes
6answers
581 views
When does Continuous Integration add value? [duplicate]
Possible Duplicate:
How many developers before continuous integration becomes effective?
When does continuous integration (such as CruiseControl) add value to a project?
Do factors such as
...
11
votes
4answers
1k views
Release build vs nightly build
A typical solution is to have a CI (Continuous Integration) build running on a build server: It will analyze the source code, make build (in debug) and run tests, measure test coverage, etc.
Now, ...
11
votes
6answers
898 views
How can Continuous Delivery work in practice?
Continuous Delivery sounds good, but my years of software development experience suggest that in practice it can't work.
(Edit: To make it clear, I always have lots of tests running automatically. ...
11
votes
4answers
523 views
How do I learn the right approach to implement half a feature?
I lead a development team and I want to release our product as often as possible (Continuous Delivery).
In many cases, we have to implement a feature that takes longer to implement than the time ...
11
votes
6answers
1k views
What advantages do continuous integration tools offer on a solo project?
If you're doing a solo project - would you use CI tools to build from a repository? I've used Hudson and Cruisecontrol in a team environment, where it's essential to build as soon as anyone checks ...
11
votes
2answers
184 views
Using continuous build results as part of performance review metrics?
My boss is planning to use the metrics from our continuous build (builds and runs tests on every commit) as part of our performance reviews (in our 'quality' metric). This seems like a REALLY bad idea ...
10
votes
9answers
1k views
Is it reasonable to run processes with CI tools?
At my company, we have a quagmire of disparate cron jobs (on multiple systems) and manually kicked off processes which keep our business functioning that is a result of years of expedient development ...
9
votes
3answers
472 views
What is Continous Integration (CI) and how is it useful?
Can some one explain to me the concept of Continious Integration, how it works in an easy to understand way? And why should a company adopt CI in their code delivery workflow? I am a developer and my ...
9
votes
5answers
407 views
Should coding standards be enforced by the continuous integration server?
Should coding standards/style be enforced by the continuous integration server running static analysis tools (ex. PMD, StyleCop/FxCop) and failing the build if the standards are not followed? What ...
9
votes
3answers
640 views
Patterns for Continuous Integration and DVCS
We currently use Subversion and TeamCity, we're going to move to using Mercurial (specifically Kiln as we're FogBugz users).
Obviously this will result in changes - hopefully improvements - in our ...
9
votes
4answers
883 views
maintaining a growing, diverse codebase with continuous integration
I am in need of some help with philosophy and design of a continuous integration setup.
Our current CI setup uses buildbot. When I started out designing it, I inherited (well, not strictly, as I was ...
8
votes
4answers
429 views
At which point is a continuous integration server interesting?
I've been reading a bit about CI servers like Jenkins and I'm wondering: at which point is it useful?
Because surely for a tiny project where you'd have only 5 classes and 10 unit tests, there's no ...
8
votes
4answers
4k views
Continuous Build server (cc.net, hudson, bamboo, etc…) remote build experience?
We currently use once cc.net server for our build process, which builds both .net (using msbuild & nant) and java (using maven and ant).
CC.net monitors source control, and triggers a remote ...
8
votes
3answers
474 views
How to do external API testing (blackbox)
Assume you are using APIs from a vendor, how to make sure their API is working as expected?
My main concern is sometimes the vendor pushed the changes to their code and break the API, we want to have ...
8
votes
2answers
3k views
Writing a Jenkins plugin - non-Java-Expert
Can anyone point me (.NET by career, primarily Ruby by hobby) in the right direction(s) for learning how to write a Jenkins plugin? I'm looking specifically at build summary information and trend ...
8
votes
2answers
314 views
What should I be looking for when evaluating unit testing libraries and tools?
I'm in the process of choosing new unit testing tools for soon to be started project. There are plenty of them!
The basic requirements I have would be that it can run tests on at least Windows and ...
7
votes
3answers
405 views
Branching breaks continous integration?
I think this article, A Successful Git Branching Model, is very well known among experienced DVCS users.
I use hg mostly, but I would argue this discussion is fine for any DVCS.
Our current ...
7
votes
2answers
976 views
Is there a unit testing framework for HTML markup?
I work at a web design shop. Our workflow is divided into two parts: frontend programmers make static html and css templates of the site design, then backend programmers tie the templates into a CMS.
...
7
votes
2answers
280 views
Databases and the CI server
I have a CI server (Hudson) which merrily builds, runs unit tests and deploys to the development environment but I'd now like to get it running the integration tests.
The integration tests will hit a ...
7
votes
1answer
536 views
Looking for statistics on automated testing, continuous integration and refactoring usage
Are there any credible sources of information on the adoption of agile techniques like automated testing, continuous integration and refactoring?
Of those that are using unit testing, how many ...
6
votes
4answers
2k views
Continuous integration (with iOS and Android projects)
I'm trying to make some positive changes in my company and one of the changes is implementing continuous integration. We do mobile development (iOS/Android) so I need a CI that supports both types of ...
6
votes
6answers
237 views
How do I get from a highly manual process of development and deploy to continuous integration?
We have a development process which is completely manual. No unit tests, interface tests are manual, and merging and integration are as well. How could we go from this state to implementing continuous ...
6
votes
1answer
409 views
1-click software release
I am rewriting a vb6 installer into NSIS. One of my priorities is to compile-to-release in the least number of steps possible; ideally, a one click process, in which all needed files are included, ...
6
votes
3answers
260 views
How do I go from “here's the zip” to a good release strategy?
I can write code, resolve dependencies, and get my program to run on my computer; I have no idea where to go from here though. How do I get the software ready for distribution?
The school ...
6
votes
3answers
368 views
How do I structure code and builds for continuous delivery of multiple applications in a small team?
Background:
3-5 developers supporting (and building new) internal applications for a non-software company. We use TFS although I don't think that matters much for my question.
I want to be able to ...
6
votes
4answers
270 views
With continuous integration in .NET, is it acceptable to reference DLLs of rarely-changing assemblies?
My company is looking to implement a CI solution pretty soon, and I am worried about one thing in particular... we are scaling up, which means our solutions are growing with more projects. One thing I ...
6
votes
1answer
389 views
What are the practical examples of code exploration techniques?
Code Exploration (CE) is quite a new term and I wonder if there already any successful examples of implementing this techniques in terms of Continuous Integration principles?
In short, Code ...
6
votes
1answer
227 views
How should I expand Jenkins to help me release?
Pushing new Sparkle releases of our internal apps is a pain. I have to make the build, make the release notes file, sign the .zip with the private key, and add a new entry to the appcast file tying ...
5
votes
2answers
225 views
Tools that can catch “fake coverage”?
Hypothetical scenario: codebase is exercised by unit tests run by a TeamCity build-bot, that also uses the built-in dotCover tool to provide coverage metrics. The build will fail if less than X% of ...