SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы
НазадМетки: gitlab-runner gitlab docker docker registry centos fedora dnf nftables openssl wget chmod chmod
wget -O /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64"
chmod +x /usr/local/bin/gitlab-runner
Создаём нужные группы и нужных пользователей
groupadd gitlab-runner useradd -m -d /home/gitlab-runner -s /bin/bash -g gitlab-runner -m gitlab-runner
/etc/systemd/system/gitlab-runner.service
[Unit]
Description=GitLab Runner
ConditionFileIsExecutable=/usr/local/bin/gitlab-runner
After=syslog.target network.target
[Service]
StartLimitInterval=5
StartLimitBurst=10
ExecStart=/usr/local/bin/gitlab-runner "run" "--working-directory" "/home/gitlab-runner" "--config" "/etc/gitlab-runner/config.toml" "--service" "gitlab-runner" "--user" "gitlab-runner"
Restart=always
RestartSec=120
EnvironmentFile=-/etc/sysconfig/gitlab-runner
[Install]
WantedBy=multi-user.target
Принимаем сервис
systemctl daemon-reload
systemctl enable gitlab-runner
systemctl start gitlab-runner
gitlab-runner register
Проброс порта
cat << EOF | nft -f -
table ip nat {
chain prerouting {
type nat hook prerouting priority -100;
policy accept;
ip daddr 10.10.10.10 tcp dport { 8093 } dnat to 192.168.0.10:8093 comment "Accept gitlab-runner on port 8093";
}
}
EOF
Авторизация
printf "my_username:my_password" | openssl base64 -A
/etc/gitlab-runner/config.toml
[[runners]]
executor = "docker"
environment = ["DOCKER_AUTH_CONFIG={\"auths\": {\"registry.specialistoff.net\": {\"auth\": \"bXlfdXNlcm5hbWU6bXlfcGFzc3dvcmQ=\"}}}"]
Очистка кеш
docker system prune --volumes -af --filter label=com.gitlab.gitlab-runner.managed=true