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.

learn more… | top users | synonyms

44
votes
12answers
8k 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 ...
29
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 ...
45
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, ...
14
votes
5answers
2k 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 Cruise Control in a team environment, where it's essential to build as soon as anyone checks ...
162
votes
26answers
19k views

How to apologize when you have broken the nightly build

My first commit in my project resulted in the nightly build being broken and people are all over me as we are nearing the release. I want to send an apology email that should sound sincere and at the ...
20
votes
9answers
5k 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 ...
3
votes
1answer
239 views

Responsibilities of Build Script and Build Server

I need some clarifications on the responsibilities of the Build Script and the Build Server. I read several articles on the Net about continuous integration and builds. Including The F5 Key Is Not ...
12
votes
8answers
397 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 ...
24
votes
7answers
2k views

Is it a good practice to run unit tests in version control hooks?

From the technical point of view it is possible to add some pre/post push hooks which will run unit tests before allowing some specific commit to be merged to remote default branch. My question is - ...
20
votes
10answers
4k 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 ...
12
votes
4answers
3k 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, ...
3
votes
2answers
596 views

How is it possible to build the whole codebase from source at Google scale?

The first answer to an old, recently active question linked to a video which talks about how Google repository is done. One interesting thing which was mentioned is the fact that everything is build ...
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 ...
10
votes
5answers
561 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 ...
6
votes
6answers
298 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
493 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, ...
1
vote
2answers
915 views

CI runner on same server of GitLab?

I'm setting up a GitLab server in my company and now I'm adding GitLab CI to it. Before start this task I'd like to understand if there are any disadvantages running my runners on the same server ...