GitLab: Push without triggering CI Pipeline
Short hint: If you want to push to a git repository that has CI configured, you can skip the CI pipeline for commits that don't need a CI run:
$ git push -o ci.skip
This has a few cavates:
Skips only branch pipelines and not merge request pipelines.
This does not skip pipelines for CI/CD integrations, such as Jenkins.
Related cards:
GitLab CI: debugging failed jobs
It happens from time to time that a job in a GitLab pipeline fails. Sometimes, however, the error message is too meaningless to be helpful.
Example:
Running with gitlab-runner 16.7.0 (102c81ba)
on <host>, system ID: <ID>
Resolving secr...
HowTo apply Test Driven Development to Container Images
Apply Test Driven Development(TDD) to the process of building container images by defining test before writing code and automate the testing process. Iterate through the TDD cycle while developing and running the tests later in continuous integrat...
GitLab scheduled pipeline: Don't notify owner
The owner of a scheduled CI/CD pipeline in GitLab will always be notified if the pipeline fails.
Follow these steps if you don't want this:
- Create a
Project Access Token
withapi
scope and developer role - Create the scheduled pipeline w...
HowTo: Clone and refresh all repos in a GitLab Group
If the project you're working on has, say, 39 repositories and counting in GitLab and you need all the repos checked out for some reason, here's how to do it.
Checking out all repos
- Create a personal access token for GitLab that has the `A...
GitLab: Rails Console Tasks
Sometimes you might need to do some task in GitLab which would be tedious if you'd have to do it via the Browser.
There is also an API which you could maybe use!
You can connect to the GitLab internal Rails wit...
Create gitlab container expiry config in every repo in a group
The link contains a simple shell script to push a cleanup policy for gitlab repositories in a group.
Please mind that this will ...
Don't use puppet `exec` type without `cwd` and `user` parameter
-
Don't use
exec
withoutuser
parameterIf you use
exec
withoutuser
parameter, the command will get executed as root. You mostly don't want this. -
There is a difference in the env variables of the exec if you run puppet man...
HowTo: Curl applications that are usually behind reverse proxies with TLS termination without the application redirecting to https schema
A lot of web applications require being called over https
, which is a good thing. It's possible to configure this requirement at the web- or proxy server level, where nginx
or apache
will just redirect every request on http
to https
. Som...
Use pg_repack to do a VACUUM FULL without holding an exclusive lock during processing
You can use pg_repack
to do a VACUUM FULL
without holding an exclusive lock during processing.
There is still a need of one exclusive lock at the beginning and the end of the repacking process. But in the time between, you can use the affecte...
Why doesn't my prometheus relabel_config work?
When configuring prometheus scrape_configs, you may use [relabel_configs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_...