Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Následující verze | Předchozí verze | ||
navody:server:gitlab_runner [2018/06/08 16:25] – vytvořeno Aither | navody:server:gitlab_runner [2018/09/30 15:22] (aktuální) – odstraněno Aither | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | ====== GitLab Runner ====== | ||
- | Pokud chcete používat GitLab Runner s Docker executorem na vpsAdminOS, nejprve si nainstalujte [[navody: | ||
- | [[https:// | ||
- | Aby se Docker kontejnery připojily k internetu, je potřeba použít vlastní síť (viz // | ||
- | v [[navody: | ||
- | ''/ | ||
- | |||
- | < | ||
- | [[runners]] | ||
- | ... | ||
- | [runners.docker] | ||
- | ... | ||
- | network_mode = " | ||
- | </ | ||
- | |||
- | Ve vlastní síti ovšem správně nefunguje linkování služeb ke kontejneru s testy/ | ||
- | Ověřeny byly dvě možné řešení: používat výchozí síť dockeru a upravit si ji, nebo | ||
- | patchnout GitLab Runner, aby linkování správně nastavil. | ||
- | |||
- | |||
- | ===== Úprava výchozí sítě ===== | ||
- | Docker nad výchozím bridge nastavuje '' | ||
- | o tom, že by to šlo v Dockeru přenastavit, | ||
- | spuštění '' | ||
- | a doplňte následující: | ||
- | |||
- | < | ||
- | [Service] | ||
- | ExecStartPost=/ | ||
- | </ | ||
- | |||
- | Nyní vytvoříme ten skript: | ||
- | |||
- | < | ||
- | cat <<EOF > / | ||
- | #!/bin/sh | ||
- | |||
- | if [ $# != 1 ] ; then | ||
- | echo " | ||
- | exit 1 | ||
- | fi | ||
- | |||
- | ip=$1 | ||
- | |||
- | ORIG_RULE=" | ||
- | NEW_RULE=" | ||
- | |||
- | rule_exists() { | ||
- | local rule=" | ||
- | |||
- | if $(iptables-save | grep -q " | ||
- | echo y | ||
- | else | ||
- | echo n | ||
- | fi | ||
- | } | ||
- | |||
- | while true ; do | ||
- | orig_exists=$(rule_exists " | ||
- | new_exists=$(rule_exists " | ||
- | |||
- | if [ " | ||
- | iptables -t nat -D $ORIG_RULE | ||
- | [ " | ||
- | exit 0 | ||
- | |||
- | elif [ " | ||
- | exit 0 | ||
- | |||
- | else | ||
- | sleep 1 | ||
- | continue | ||
- | fi | ||
- | done | ||
- | EOF | ||
- | |||
- | chmod +x / | ||
- | </ | ||
- | |||
- | Zbývá už jen restartovat Docker: | ||
- | |||
- | < | ||
- | systemctl daemon-reload | ||
- | systemctl restart docker.service | ||
- | </ | ||
- | |||
- | ===== Patch GitLab Runneru ===== | ||
- | Pokud chcete používat vlastní docker network a mít v kontejneru dostupné služby, | ||
- | nezbývá než opravit GitLab Runner. Tento [[https:// | ||
- | aplikujte vůči https:// | ||
- | zážitek, pro Fedoru 28 vypadá build takto: | ||
- | |||
- | < | ||
- | make RPM_PLATFORMS=fedora/ | ||
- | make package-rpm-fpm ARCH=amd64 PACKAGE_ARCH=amd64 | ||
- | </ | ||
- | |||
- | Výsledný balíček pak stačí nainstalovat: | ||
- | |||
- | < | ||
- | dnf install out/ | ||
- | </ |