49 votes
Accepted

Is there a [ci skip] option in GitLab CI?

Yes, there is: If your commit message contains [ci skip] or [skip ci], using any capitalization, the commit will be created but the pipeline will be skipped. Alternatively, one can pass the ci.skip ...
user avatar
  • 606
47 votes
Accepted

What's the difference between DevOps and Automation?

A big part of DevOps is making it possible to release very often. That comes with automated build, automated testing, etc. You can say that to achieve its goals, DevOps need to use automation to be ...
user avatar
  • 1,925
26 votes
Accepted

How does continuous integration relate to continuous delivery / deployment?

Continuous delivery and continuous deployment both take continuous integration one step further, by adding a 'deployment to production' step to the process. The difference between continuous delivery ...
user avatar
  • 567
18 votes
Accepted

Simple CI/CD Containers in AWS

I would keep the ECS container instances (I'm talking about the Docker hosts - I don't like AWS terminology here) and the deployment as two separate things. Get your ECS stack up and running. You can ...
user avatar
  • 1,925
15 votes

What's the difference between DevOps and Automation?

Automation is a key attribute of DevOps, but it's not the full story. The question is kind-of like "What's the difference between time-boxing and Scrum?". You'll hear DevOps called a 'culture', a '...
user avatar
14 votes

What's the difference between DevOps and Automation?

DevOps is really a cultural shift - it's intended to be about breaking down the traditional barriers between operations and development (and really also with QA and the rest of the business!). The ...
user avatar
  • 640
14 votes
Accepted

How to properly scale Jenkins?

There are no fundamental technical issues with running multiple jenkins slaves on the same machine. In fact Running Multiple Slaves on the Same Machine lists several good reasons for doing it: ...
user avatar
13 votes
Accepted

Key attributes of Continuous Integration (CI) software

In general, there are five main differences between different CI software solutions. Cost: Is the software open source and free or proprietary? Does your DevOps team already have a budget for ...
user avatar
  • 1,269
13 votes
Accepted

What is the difference between DevOps and GitOps?

GitOps is a technique of using Git to manage infrastructure provisioning and software deployments. This technique uses many of the features of Git such as Pull Requests to manage and trigger ...
user avatar
12 votes
Accepted

Definition of "Done" for DevOps

Instead of Continuous Integration and Continuous Delivery, I would define the definition of done as "Active Continuous Improvement at all levels of the organisation". The other topics like automated ...
user avatar
12 votes
Accepted

How to tag source code using gitlabCI

I tried to change docker image and added couple steps for git tag. Below is the answer worked for me, image: maven stages: - build - deploy - tag maven_build: stage: build script: - mvn clean ...
user avatar
  • 899
11 votes

How to transition from a complex branching reality to a single-branch model?

Because you mention waterfall, I understand that the numerous branches you are alluding to are feature-branches rather than maintenance-branches. In this setup, I also assume that these branches are ...
user avatar
11 votes
Accepted

Is it possible to have multiple gitlab-ci files in a single repo?

No, you can't have multiple gitlab-ci files per repository. You can see more information in the following links : https://gitlab.com/gitlab-org/gitlab-foss/issues/18157 https://gitlab.com/gitlab-org/...
user avatar
10 votes
Accepted

Problem in integrating Travis-CI with core PHP projects

You need to write some unit tests and set the script variable in your .travis.yml to actually run a file. By default, Travis CI runs the command phpunit without any arguments. When this happens, ...
user avatar
  • 1,502
10 votes
Accepted

How to avoid continuous integration-caused instabilities in test environments?

I'll give my experience on this one, mostly because it showcases why some answers are not always applicable. Some context to start: We have 7 environments to host roughly 80 applications, most of ...
user avatar
  • 11k
10 votes
Accepted

What is "Push on Green"?

I Googled "Push on Green" and the first link was: https://www.usenix.org/conference/lisa14/conference-program/presentation/klein This was representative of almost the entire first page. It looks ...
user avatar
  • 3,943
10 votes

Continuous Integration infrastructure for multiple iOS projects

Is there any other viable solution, maybe better than the ones above :) ? For Jenkins probably no, due to the license issues you mentioned (you have to run macOS on Apple branded hardware). If you ...
user avatar
10 votes

Changing the build intermediate paths for gitlab-runner

Conceptually, this approach is not the way to go; the build directory is not a deployment directory, it's a temporary directory, to build or to deploy from, whereas on a shell executor this could be ...
user avatar
9 votes
Accepted

How can I keep track of my Cloud Resource use?

A judicious usage of one of the cloud "orchestration" tools, such as Terraform or possibly Fugue seems to be the best way. You can start small, pick a less important and not very extensive ...
user avatar
9 votes
Accepted

Data Science pipelines and monolithic model blobs

Personally I don't see any reason for which an Artefact Repository - the recommeneded DevOps tool of managing artefacts - wouldn't be applicable to trained neural nets or other artefacts. The ...
user avatar
8 votes

How to avoid continuous integration-caused instabilities in test environments?

Sounds like you're talking about a test environment which is constantly re-used without being reliably re-initialized for every test execution. This makes such test an unreliable one. Similar, from ...
user avatar
8 votes
Accepted

What are the main differences between Jenkins and TeamCity if one is used to working with Jenkins?

TeamCity : It does look nicer, if this is important for your team then it should definitively weight in. That said, if it is VERY important than you probably will end up creating tools or some sort ...
user avatar
  • 1,841
8 votes
Accepted

JFrog Artifactory or JFrog Bintray , when to use one over the other?

JFrog Artifactory and JFrog Bintray both manage binaries (and any other file type you can think of). I'd like to see them as two different parts of your CI/CD pipeline. Artifactory is mostly meant to ...
user avatar
8 votes

Trigger Jenkins job from Gitlab CI with parameters

Here's the way I do it: no plugin required, just triggering Jenkins api from gitlab-ci. Gitlab-CI I will assume you have a gitlab-ci runner installed and configured. First, you need to have a ....
user avatar
7 votes

How to properly scale Jenkins?

Use Kubernetes and Helm. I would recommend using the Jenkins Helm chart. It installs with helm install stable/jenkins and automatically scales. https://github.com/kubernetes/charts/tree/master/...
user avatar
  • 1,153
7 votes

How to avoid continuous integration-caused instabilities in test environments?

The usual approach is to create different environments: DEV - this is the place where dev team mess the things. Here are create all changes tunings, deploy new version and so on. Here is the place ...
user avatar
7 votes
Accepted

Where can I find older versions of GitLab Runner?

As described in the documentation you are following to install on the first paragraph: You can download a binary for every available version as described in Bleeding Edge - download any other ...
user avatar
  • 11k
7 votes
Accepted

How to let build fail when docker image size exceeds certain threshold?

The output of docker images is really intended for humans, and it's not very parse-friendly. Instead, most Docker commands support a --format flag using Go templates. As you can see in the images ...
user avatar
  • 1,502
7 votes
Accepted

What are best practices for docker tag versioning?

I would direct you to my post Coupling docker registry and source control where dmaze answered from the official forums.docker.com. Commit hash and branch name or tags suffices. In your Dockerfile, ...
user avatar
  • 466
7 votes
Accepted

Does Immutable Servers imply no source code updates on the servers?

No. Immutable is exactly what it means, immutable, no change on configuration or code running or system library or whatever, if a change has to be made, create a new image and deploy it, never change ...
user avatar
  • 11k

Only top scored, non community-wiki answers of a minimum length are eligible