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
47
votes
2 answers

GitHub Actions run on push to all branches

It's easy to run a GitHub Action on any push or pull request: # Triggers the workflow on push or pull request events on: [push, pull_request] But what if I want to restrict runs to pull requests opened against specific base refs, while allowing…
Paul Razvan Berg
  • 16,949
  • 9
  • 76
  • 114
47
votes
5 answers

What is continuous integration?

What is continuous integration and what are its benefits?
David Segonds
  • 83,345
  • 10
  • 45
  • 66
47
votes
2 answers

Android unit test case automation: Robolectric library vs Android Testing framework

Wondering which one is the better choice to write unit test cases for android apps and libraries: Using Robolectric library or sticking with Android Testing framework. I want to run test suite at commandline and want it be independent of need of…
bianca
  • 7,004
  • 12
  • 43
  • 58
46
votes
6 answers

How to run jenkins as a different user

I have been trying to follow tutorials and this one: Deploy as Jenkins User or Allow Jenkins To Run As Different User? but I still can't for the love of the computing gods, run as a different user. Here are the steps of what I did: download the…
corroded
  • 21,406
  • 19
  • 83
  • 132
45
votes
9 answers

Azure Pipeline Nuget Package Versioning Scheme, How to Get "1.0.$(Rev:r)"

I'm setting up an Azure Pipelines build that needs to package a C# .NET class library into a NuGet package. In this documentation, it lists a couple different ways to automatically generate SemVer strings. In particular, I want to implement this…
44
votes
5 answers

Where does a TeamCity build agent get its path environment from?

I'm trying to set up TeamCity to build my project, but my psake buildscript fails, with the reason being narrowed down to its inability to find the git executable, which is supposed to be on the path. When I start a PowerShell and execute the thing…
44
votes
6 answers

Share artifacts between workflows / Github Actions

I know that you can share artifacts between jobs of the same workflow... But how can I share artifacts across different workflows?
Hitmands
  • 13,491
  • 4
  • 34
  • 69
44
votes
5 answers

Deploy individual services from a monorepo using github actions

I have around 10 individual micro-services which are mostly cloud functions for various data processing jobs, which all live in a single github repository. The goal is to trigger the selective deployment of these service to Google Cloud Functions,…
44
votes
7 answers

"Thorough", tutorial on setting up Jetbrain's TeamCity CI server

Does anyone know where I can find a good tutorial to walk me through how to setup TeamCity CI server? I am new to unit testing and the agile philosophy of development so I could use some help getting my feet wet. I'm working with Asp.NET code using…
Agile Noob
  • 2,305
  • 4
  • 24
  • 35
44
votes
8 answers

Maven building only changed files

Lets say i have module structure like below Modules ->utils ->domain ->client ->services ->deploy (this is at the module level) Now to lauch the client i need to make a build of all the modules, i.e utils,…
user1224036
  • 988
  • 1
  • 15
  • 34
43
votes
5 answers

Repository Name as a GitHub Action environment variable?

How would you get the repository name (not the user or organization) as an environment variable in GitHub Actions? I found github.repository but that contains the owner as the first part like so: owner/repo.
43
votes
5 answers

Setting up Continuous Integration of Protractor using Jenkins

I am writing automation test scripts using Protractor and now I need to set up the CI for this using Jenkins. Tasks it needs to perform are: Starting the selenium standalon server. Starting the test using conf.js file. Stopping the selenium…
mohit
  • 779
  • 3
  • 9
  • 16
43
votes
4 answers

Using Travis-CI for client-side JavaScript libraries?

I'm not sure to use Travis-CI for my client-side JavaScript library or not, because it compiles with NodeJs on Travis-CI servers. I want to know is this a good approach to use some kind of continuous integration such as Travis-CI for client-side…
Afshin Mehrabani
  • 33,262
  • 29
  • 136
  • 201
43
votes
7 answers

How to change Jenkins default folder on Windows?

How to change Jenkins default folder on Windows where Jenkins runs as Windows service. I want to change C:\Users\Coola\.jenkins folder to d:\Jenkins due to lack of space on C: partition (Every build takes ~10MB of free space). I don't want to…
Michał Kuliński
  • 1,928
  • 3
  • 27
  • 51
42
votes
4 answers

How to skip GitHub Actions job on push event?

With Travis CI, we can skip the build for a particular commit with adding a suffix to a commit. This is described at Travis CI. I find this feature practical when I only edit README.md which is not code-related and the pre-flight build doesn't need…
Nikolas Charalambidis
  • 40,893
  • 16
  • 117
  • 183