Questions tagged [continuous-integration]

Continuous integration (CI) is the 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.

Concept

Continuous integration is an important part of an agile software development process. Integration is an important step to detect quality issues, so if it is done frequently, problems will be detected earlier and fewer at a time. Hence, continuous integration can help to reduce the overall cost of the process. Although continuous integration could be automated with simple scripting, it is generally more advantageous to use tools built for this purpose, especially for complex projects with many modular parts.

Tools

One of the first tools to become popular for this purpose was CruiseControl. Now there are many such products, both open source and proprietary.

References

Martin Fowler has a good writeup of what it all means in Continuous Integration.

13768 questions
148
votes
12 answers

How do you maintain development code and production code?

What are the best practices and rules-of-thumb to follow while maintaining code? Is it good practice to have only the production ready code in the development branch, or should untested latest code be available in the development branch? How do you…
144
votes
9 answers

How and why do I set up a C# build machine?

I'm working with a small (4 person) development team on a C# project. I've proposed setting up a build machine which will do nightly builds and tests of the project, because I understand that this is a Good Thing. Trouble is, we don't have a whole…
mmr
  • 14,781
  • 29
  • 95
  • 145
141
votes
7 answers

Authenticate Jenkins CI for Github private repository

I'd like for Jenkins to automagically fetch data from my private repository hosted on Github. But I have no idea how to accomplish that task.. Tried the documentation, generating ssh-key for jenkins user and all what I can see is: "unable to clone…
bx2
  • 6,356
  • 5
  • 36
  • 40
141
votes
7 answers

Docker: Using --password via the CLI is insecure. Use --password-stdin

I have the following warning when I log in to my registry during a continuous integration (CI) process: WARNING! Using --password via the CLI is insecure. Use --password-stdin. Should I just replace --password with --password-stdin?
Dimitri Kopriwa
  • 13,139
  • 27
  • 98
  • 204
137
votes
4 answers

Archive the artifacts in Jenkins

Could someone please explain to me the idea of artifacts in the build process? I have the workspace directory where I check out the code to compile and run my ant scripts etc. At the end, in my case, I get a jar file that's ready to install. Is that…
Michael
  • 22,196
  • 33
  • 132
  • 187
137
votes
11 answers

Setting the version number for .NET Core projects - CSPROJ - not JSON projects

This question is very similar to Setting the version number for .NET Core projects, but not the same. Using the latest stable version of .NET Core at the time of writing (1.1) and VS2017, .NET Core has switched from JSON based project files to…
Jay
  • 9,561
  • 7
  • 51
  • 72
134
votes
12 answers

Best practices when using Terraform

I'm in the process of swapping over our infrastructure into terraform. What's the best practice for actually managing the terraform files and state? I realize it's infrastructure as code, and i'll commit my .tf files into git, but do I commit…
Marc Young
  • 3,854
  • 3
  • 18
  • 22
129
votes
2 answers

Travis.yml ./gradlew : Permission denied

Using Travis CI for an existing Android project calling $ ./gradlew build connectedCheck I get this error: /home/travis/build.sh: line 45: ./gradlew: Permission denied The command "./gradlew build connectedCheck" failed and exited with 126 during…
Gabriele Mariotti
  • 320,139
  • 94
  • 887
  • 841
126
votes
10 answers

How to select different app.config for several build configurations

I have a dll-type project that contains MSTest integration tests. On my machine the tests pass, and I want the same to happen on a CI server (I use TeamCity). But the tests fail, because I need to tweak some settings in app.config. This is why I was…
125
votes
1 answer

Set default Timeout on Github action pipeline

Normally, my pipelines take 15 minutes to execute. Recently, for some strange reasons, some pipelines take between 45 minutes and 6 hours to fail. Is it possible to set a default timeout limit on GitHub Action's pipeline (for example, auto cancel…
Kevin ABRIOUX
  • 16,507
  • 12
  • 93
  • 99
125
votes
8 answers

Get the current pushed tag in Github Actions

Is there a way to access the current tag that has been pushed in a Github Action? In CircleCI you can access this value with the $CIRCLE_TAG variable. My Workflow yaml is being triggered by a tag like so: on: push: tags: - 'v*.*.*' And…
Jon B
  • 2,444
  • 2
  • 18
  • 19
123
votes
5 answers

Showing Travis build status in GitHub repo

I remember recently seeing the Travis build status of a pr or commit in GitHub browsing the repository (but can't find where). I'm not talking about the Travis build status images in README.md but an actual GitHub feature (green box with a friendly…
andig
  • 13,378
  • 13
  • 61
  • 98
118
votes
7 answers

Jenkins scripted pipeline or declarative pipeline

I'm trying to convert my old style project base workflow to a pipeline based on Jenkins. While going through docs I found there are two different syntaxes named scripted and declarative. Such as the Jenkins web declarative syntax release recently…
Nayana Adassuriya
  • 23,596
  • 30
  • 104
  • 147
117
votes
6 answers

Bamboo Vs. Hudson(a.k.a. Jenkins) vs Any other CI systems

Anyone out there have experience with both Hudson and Bamboo? Any thoughts on the relative strengths and weaknesses of these products? Okay, since folks keep mentioning other CI products I'll open this up further. Here are my general problem. I want…
Karthik Ramachandran
  • 11,925
  • 10
  • 45
  • 53
117
votes
11 answers

CruiseControl [.Net] vs TeamCity for continuous integration?

I would like to ask you which automated build environment you consider better, based on practical experience. I'm planning to do some .Net and some Java development, so I would like to have a tool that supports both these platforms. I've been…