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
82
votes
9 answers

Use xcodebuild (Xcode 8) and automatic signing in CI (Travis/Jenkins) environments

With the release of Xcode 8, Apple introduced a new way of managing the signing configuration. Now you have two options Manual and Automatic. According to the WWDC 2016 Session about Code signing (WWDC 2016 - 401 - What's new in Xcode app signing),…
pablobart
  • 2,641
  • 1
  • 24
  • 22
81
votes
5 answers

How can I use the legacy build system with Xcode 10's `xcodebuild`?

I'd like to use the new build system of Xcode 10 for development, but our build in our continuous integration system fails since the xcarchive produced has an issue: the Info.plist in the xcarchive is missing the ApplicationProperties key and the…
DarkDust
  • 90,870
  • 19
  • 190
  • 224
79
votes
4 answers

Jenkins CI: How to trigger builds on SVN commit

What plugins and plugin features do I need to set in order to get my Jenkins job to trigger a build any time code is committed to an SVN project? I have installed both the standard SVN plugin as well as the SVN tagging plugin, but I do not see any…
IAmYourFaja
  • 55,468
  • 181
  • 466
  • 756
78
votes
30 answers

Continuous Integration Servers

My company is considering changing continuous integration servers (I won't say which one we have now, so I won't skew your responses in anyway :) ) I wondering if anybody has any recommendations? Best user experience, level of difficulty to…
pfranza
  • 3,292
  • 2
  • 21
  • 34
77
votes
5 answers

buildbot vs hudson/jenkins for C++ continuous integration

I'm currently using jenkins/hudson for continuous integration a large mostly C++ project. We have separate projects for trunk and every branch. Also, there are some related projects for the Java code, but the setup for those are fairly basic right…
deuberger
  • 3,578
  • 6
  • 31
  • 33
76
votes
7 answers

What is the Maven way for automatic project versions when doing continuous delivery?

I have a web application where we deploy to production whenever a feature is ready, sometimes that can be a couple of times a day, sometimes it can be a couple of weeks between releases. Currently, we don't increment our version numbers for our…
ams
  • 60,316
  • 68
  • 200
  • 288
76
votes
13 answers

WiX 3.0 throws error 217, while being executed by continuous integration

This is the error that is thrown by our automated build suite on Windows 2008, while running ICEs (after migrating from WiX 2.0 to WiX 3.0): LGHT0217: Error executing ICE action 'ICE01'. The most common cause of this kind of ICE failure is an…
Rinat Abdullin
  • 23,036
  • 8
  • 57
  • 80
75
votes
3 answers

How to use multiline command in 'script:' with YAML?

I have a repository that uses Travis CI, and in the .travis.yml there I have this line: script: - vim -Nu <(cat <<-EOF set nocompatible | filetype off EOF ) -c 'Script' > /dev/null Sadly this doesn't work, as this is transformed into a…
hgiesel
  • 5,430
  • 2
  • 29
  • 56
74
votes
4 answers

How to specify when branch NOT (branch name) in jenkinsfile?

How can I specify something like the following in my Jenkinsfile? when branch not x I know how to specify branch specific tasks like: stage('Master Branch Tasks') { when { branch "master" } steps { sh…
HosseinK
  • 1,247
  • 4
  • 13
  • 18
73
votes
7 answers

Is there a way to speedup npm ci using cache?

for now npm ci is the most common way to install node modules when using CI. But it is honestly really slow. Is there a way to speedup npm ci using cache or do not fully remove existing packages (whole node_modules folder)?
Nedudi
  • 5,639
  • 2
  • 42
  • 37
72
votes
7 answers

How do I make a Jenkins job start after multiple simultaneous upstream jobs succeed?

In order to get the fastest feedback possible, we occasionally want Jenkins jobs to run in Parallel. Jenkins has the ability to start multiple downstream jobs (or 'fork' the pipeline) when a job finishes. However, Jenkins doesn't seem to have any…
72
votes
8 answers

What is the difference between Hudson and CruiseControl for Java projects?

I think the title sums it up. I just want to know why one or the other is better for continous integration builds of Java projects from Svn.
Jay R.
  • 31,911
  • 17
  • 52
  • 61
71
votes
2 answers

Change port for TeamCity web server

I installed TeamCity and got it working against my project. However, I have since realized that I don't want it the administration page to be configured on port 80. I'm going to have other websites on that server that I want on the default port. How…
RationalGeek
  • 9,425
  • 11
  • 62
  • 90
70
votes
17 answers

npm ci can only install packages with an existing package-lock.json or npm-shrinkwrap.json with lockfileVersion >= 1

This is the issue that I am facing when running the command npm ci to install dependencies in my GitHub Action file. I am working on an expo managed app and using GitHub Actions as a CI for triggering builds whenever I push my code to developmemt…
sakshya73
  • 5,570
  • 5
  • 22
  • 41
70
votes
7 answers

Is Continuous Integration important for a solo developer?

I've never used CI tools before, but from what I've read, I'm not sure it would provide any benefit to a solo developer that isn't writing code every day. First - what benefits does CI provide to any project? Second - who should use CI? Does it…
Thomas Owens
  • 114,398
  • 98
  • 311
  • 431