Интересная задачка - настроить систему сборки через gitlab-runner под macos.
1. Подготовка (штатно работаем в консоли, от своего юзера, НЕ от рута):
sudo mkdir -m 0777 /usr/local/bin/
2. Качаем раннер:
sudo curl --output /usr/local/bin/gitlab-runner \
"https://s3.dualstack.us-east-1.amazonaws.com/gitlab-runner-downloads/latest/binaries/gitlab-runner-darwin-arm64"
(для М*) (дока)
и ставим бит выполнения
sudo chmod +x /usr/local/bin/gitlab-runner
3. Для запуска нужен user: On macOS, GitLab Runner runs as a user-mode LaunchAgent, not as a system-level LaunchDaemon. This is the only supported mode.
(дока)
Заводим:
sudo sysadminctl -addUser gitlab-runner -shell /bin/bash
Момент: если делать как в линуксе - там ставится признак system и UID добавляется начиная с 999 и вниз, как тут - опции такой не было найдено, но можно явно задать -UID 400 например.
Теперь переключаемся под него:
sudo -u gitlab-runner -i
4. Настройка как сервис
gitlab-runner install
(если запустить команду от рута, то будет ошибка FATAL: Please specify user that will run gitlab-runner service)
gitlab-runner start
И заводим раннер в гитлабе, готовим токен и потом
gitlab-runner register
Всё, проверяем.
gitlab-runner list
При необходимости, настраиваем фаервол (pfctl -s all и далее по докам)
Вариант 2: используя homebrew.
1. Ставим brew (не работает от рута, используйте своего юзера)
/bin/bash -c "$(curl "https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh")"
Если теперь поставить раннер, то он поставится под текущим юзером, но может иметь смысл добавить выделенного как в линуксах - описано выше, п.3
Переключаемся в юзера gitlab-runner и ставим (brew ставится системно, отдельно ставить не нужно)
2. brew install gitlab-runner
3. Запуск
brew services start gitlab-runner
В ответе должно быть
==> Successfully started `gitlab-runner` (label: homebrew.mxcl.gitlab-runner)
Немного про размещения файлов.
Если запустить gitlab-runner register от рута, то конфиг будет в /etc/gitlab-runner/config.toml . Если запустить от гитлаб юзера то в /Users/gitlab-runner/.gitlab-runner/config.toml
Комментариев нет:
Отправить комментарий