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
98
votes
4 answers

.NET 4.0 build issues on CI server

Anybody manage to get .NET 4.0 applications compiling on a CI server without installing Visual Studio 2010 on a CI server? No SDK exists for .NET 4.0. Have installed .NET 4.0 on CI Server. Msbuild.exe works for simple projects and give the following…
DMcKenna
  • 989
  • 1
  • 7
  • 3
97
votes
10 answers

How to trigger Jenkins builds remotely and to pass parameters

I am invoking a Jenkins job remotely using: wget http://:8080/job/Test-Jenkins/build?token=DOIT Here Test-Jenkins job is invoked and DOIT is the security token that I have used. Now I need to pass some parameters to the build.xml file of…
97
votes
6 answers

Running a command in a Grunt Task

I'm using Grunt (task-based command line build tool for JavaScript projects) in my project. I've created a custom tag and I am wondering if it is possible to run a command into it. To clarify, I'm trying to use Closure Templates and "the task"…
96
votes
4 answers

How do show my tests passing/failing in Github?

I have a project on github that has extensive unit tests (using mocha for node.js). I'd like to show off by showing those tests passing/failing on each page. I notice other projects on Github are doing this. I've been unable to find any…
mikemaccana
  • 110,530
  • 99
  • 389
  • 494
95
votes
4 answers

Using secret api keys on travis-ci

I'd like to use travis-ci for one of my projects. The project is an API wrapper, so many of the tests rely on the use of secret API keys. To test locally, I just store them as environment variables. What's a safe way to use those keys on Travis?
user94154
  • 16,176
  • 20
  • 77
  • 116
92
votes
17 answers

How do I clear my Jenkins/Hudson build history?

I recently updated the configuration of one of my hudson builds. The build history is out of sync. Is there a way to clear my build history? Please and thank you
Mahdi Yusuf
  • 19,931
  • 26
  • 72
  • 101
88
votes
4 answers

Jenkins/Hudson - accessing the current build number?

I have a report file I'm generating, and I would like to be able to add the current build number to that file within a Jenkins job. Is there an environment variable or plugin I can use to get at the current build number?
Stefan Kendall
  • 66,414
  • 68
  • 253
  • 406
88
votes
13 answers

How do programmers work together on a project?

I've always programmed alone, I'm still a student so I never programmed with anyone else, I haven't even used a version control system before. I'm working on a project now that requires knowledge of how programmers work together on a piece of…
87
votes
5 answers

How can I suppress the "No files matching the pattern" message in ESLint?

In my CI setup, I have a test that runs eslint against all JS files. If no JS files exist, it's currently throwing an error. I'd prefer if it'd succeeded when no JS files exist. Is this possible? $ eslint "./src/assets/scripts/**/*.js" Oops!…
JacobTheDev
  • 17,318
  • 25
  • 95
  • 158
87
votes
3 answers

Running multiple TeamCity Agents on the same computer?

We have several build machines, each running a single TeamCity build agent. Each machine is very strong, and we'd like to run several build agents on the same machine. Is this possible, without using virtualization? Are there quality alternatives to…
ripper234
  • 222,824
  • 274
  • 634
  • 905
86
votes
3 answers

How to combine Vagrant with Jenkins for the perfect Continuous Integration Environment?

You have a project which has got some SW requirements to run (e.g.: a specific version of Apache, a version of PHP, an instance of a MySQL database and a couple of other pieces of software). You have already discovered Vagrant, so your virtual…
Roberto Aloi
  • 30,570
  • 21
  • 75
  • 112
86
votes
4 answers

Handling multiple branches in continuous integration

I've been dealing with the problem of scaling CI at my company and at the same time trying to figure out which approach to take when it comes to CI and multiple branches. There is a similar question at stackoverflow, Multiple feature branches and…
toomasr
  • 4,731
  • 2
  • 33
  • 36
86
votes
13 answers

Comparison of CI Servers?

I am searching for a comparison of different continuous integration (CI) Servers (esp. focusing on .NET) and couldn't find any. Therefore I'd like to know what you think about the different solutions available, what are the pros and cons, what are…
Johannes Rudolph
  • 35,298
  • 14
  • 114
  • 172
85
votes
3 answers

Reuse portion of github action across jobs

I have a workflow for CI in a monorepo, for this workflow two projects end up being built. The jobs run fine, however, I'm wondering if there is a way to remove the duplication in this workflow.yml file with the setting up of the runner for the job.…
Brad Martin
  • 5,637
  • 4
  • 28
  • 44
84
votes
1 answer

Using a pip cache directory in docker builds

I'm hoping to get my pip install instructions inside my docker builds as fast as possible. I've read many posts explaining how adding your requirements.txt before the rest of the app helps you take advantage of Docker's own image cache if your…
Robin Winslow
  • 10,908
  • 8
  • 62
  • 91