Questions tagged [continuous-integration]

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.

Filter by
Sorted by
Tagged with
85
votes
13answers
30k 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 my ...
47
votes
9answers
28k 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 ...
12
votes
1answer
2k 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 a ...
34
votes
12answers
3k 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 ...
44
votes
9answers
22k 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 - ...
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, ...
18
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 ...
99
votes
9answers
18k views

What's the point of running unit tests on a CI server?

Why would you run unit tests on a CI server? Surely, by the time something gets committed to master, a developer has already run all the unit tests before and fixed any errors that might've occurred ...
34
votes
12answers
2k 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 ...
14
votes
2answers
780 views

Where to push a failing test?

I just changed branch settings on my GitHub repository, so that my [next] branch requires a passing CI build through a pull request. A discussion followed with a number of team members, about failing ...
184
votes
23answers
31k views

How to apologize when you have broken the nightly build [closed]

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 ...
24
votes
4answers
29k views

How to use github, branches and automatic releases for version management? [closed]

I understand most of the basic Git/Github concepts by now, however I still have trouble understanding the bigger picture. These are some things that I have managed to get working so far: Push ...
33
votes
11answers
13k 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 ...
18
votes
3answers
3k 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 ...
15
votes
6answers
2k 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 ...
14
votes
8answers
527 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 ...
8
votes
2answers
2k 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 ...
22
votes
6answers
1k views

continuous integration for scientific software

I'm no software engineer. I'm a phd student in the field of geoscience. Almost two years ago I started programming a scientific software. I never used continuous integration (CI), mainly because at ...
12
votes
2answers
9k 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 ...
22
votes
6answers
3k 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. ...
22
votes
2answers
4k views

Is it good practice to store software version numbers in VCS?

A product version, such as v1.0.0.100, represents not only a unique production release of software, but helps identify feature sets and hotfix stages for said product. Right now I see two ways to ...
13
votes
4answers
19k 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, ...
7
votes
4answers
548 views

What does “continuous” mean in “continuous deployment”, “continuous delivery” and “continuous integration”?

What does "continuous" mean in "continuous deployment", "continuous delivery" and "continuous integration"? What is it opposed to? Does "continuous" make "deployment", "delivery" and "integration" ...
14
votes
5answers
1k 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 ...
3
votes
3answers
365 views

Differentiate between snapshots and official releases, while deploying exactly what has been tested

Suppose the following situation: A CI server generated regular snapshot artifacts At some point, an artifact is considered "stable" and is given to QA for testing If it passes, it's deployed as an ...
1
vote
2answers
506 views

Project life cycle management - Maven vs 'manual' approach

I have a question concerning the life cycle management of a/multiple project(s), more specific to the advantages/disadvantages of using technologies such as Maven. Currently we work in a continuous-...
14
votes
4answers
4k 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 ...
5
votes
5answers
4k views

GitFlow branching strategy, but without the develop branch

I am thinking about adopting something like the GitFlow branching strategy. Instead of using a permanent develop branch, I would like to create a release branch for each sprint (from master) at the ...
5
votes
5answers
1k views

What software models are appropriate for daily builds and continuous integration?

On reading the joel test and about daily builds, a discussion with a few tech-lead friends of mine in various companies revealed that they never did daily builds or continuous integration because ...
2
votes
4answers
3k views

Where to run automation UI Tests - Build server or Test machine

We are having a set of selenium UI tests for our application. We are deploying the application in our test machines in our QA environment. We are using TFS 2015 for continuous integration and ...
7
votes
1answer
771 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
6answers
494 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 ...
5
votes
3answers
2k views

How to properly deprecate methods in Java?

Today I lost a method that I was using since my co-worker redefined it to take its superclass instead. So after synchronizing with the repository I had trouble. Would it had been better in this case ...
3
votes
1answer
111 views

Would This Workflow Work For a Distributed Team With CI/CD

Because the reaction of @DanCornilescu I understood that my question was not clear. That is why I edited the question heavily. I was brought in on a project where there was only one developer. All ...
2
votes
2answers
3k views

How to manage dependencies for microservices?

We are in the process of slowly splitting out a monolithic application to smaller services and one of the debates we are having is how to manage dependencies. The challenge we have is that service A ...
2
votes
2answers
1k views

Should unit tests run on every git branch?

I am new to repo management / continuous integration. I designed a repo in the following way PROJ |-src |-include |-lib |-config PROJ_Unit_Tests |-src |-config PROJ_Doc When I now do ...