GitLab runner upgrade
How to upgrade to a new installed gitlab runner version? - Stack Overflow
How do you keep your Gitlab runners up to date?
Gitlab Runner Install & Updates
We have largely on-prem / non-docker hosts. Currently we manually copy the https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64 over. https://i.imgur.com/L0h1qBb.png
Curious how you manage this? Ansible playbook?
Hello, We host our products on AWS Cluster. We have multiple products and clusters that are deployed on their respective AWS Account that we "Switch Role" to. For each Group of Product we have multiple environments (DEV/UAT/PROD).
We create CFN stack for our Bastion host (Private Subnet) and from that Bastion Host we create another EC2 instance (Private Subnet) that acts as our GitLab Runner for the Group for a particular environment.
This way we are ending up with many Runners (custom and not shared).
Question:
I was wondering how to manage these runners if we have to push any changes to the runner's themselves (let's say install a software or patching etc) without manually logging into them individually or Creating them new from the Bastion.
We are open to adopting a different runner creation setup if this is not ideal.
Official answer for this problem (source of the text from the following link):
https://docs.gitlab.com/omnibus/update/package_signatures#update-keys-after-expiry-extension
Update keys after expiry extension
For Debian based distributions:
PackageCloud generally made use of apt-key, which will be deprecated in the future. Manually installed or configured repositories from some distributions are already using the signed-by support within Debian package source lists.
Determine if you’re using apt-key or signed-by functionality:
grep 'deb \[signed-by=' /etc/apt/sources.list.d/gitlab_gitlab-?e.listIf this grep returns any lines, you're using signed-by functionality. This takes precedence over any apt-key usage. If this grep returns no lines, you're using apt-key functionality.
For signed-by, the following script (run as root) updates the public keys for GitLab repositories:
awk '/deb \[signed-by=/{ pubkey = $2; sub(/\[signed-by=/, "", pubkey); sub(/\]$/, "", pubkey); print pubkey }' /etc/apt/sources.list.d/gitlab_gitlab-?e.list | \ while read line; do curl -s "https://packages.gitlab.com/gpg.key" | gpg --dearmor > $line doneFor apt-key, the following script (run as root) updates the public keys for GitLab repositories:
apt-key del 3F01618A51312F3F curl -s "https://packages.gitlab.com/gpg.key" | apt-key add - apt-key list 3F01618A51312F3F
You can use the same step that is described in the installation script:
curl -fsSL "https://packages.gitlab.com/runner/gitlab-runner/gpgkey" | gpg --dearmor > /usr/share/keyrings/runner_gitlab-runner-archive-keyring.gpg
then
apt update
You can use the same to fix gitlab-ce and gitlab-ee
curl -fsSL "https://packages.gitlab.com/runner/gitlab-runner/gpgkey" | gpg --dearmor > /usr/share/keyrings/gitlab_gitlab-ee-archive-keyring.gpg
curl -fsSL "https://packages.gitlab.com/runner/gitlab-runner/gpgkey" | gpg --dearmor > /usr/share/keyrings/gitlab_gitlab-ce-archive-keyring.gpg