Gitlab Runner на Raspberry Pi Zero W
Gitlab Runner - это программа, которая будет после каждого коммита в репозиторий производить определенные действия - запускать тесты, компилировать релиз, деплоить приложение и т.д. Gitlab Runner написан на Go, поэтому может запускаться на самом простом железе, например, на Raspberry Pi Zero W.
Бесплатный аккаунт Gitlab уже дает возможность запускать предустановленные раннеры беcплатно, но их использование ограниечено по времени и если вам нужно больше CI минут можно использовать свой собственный Gitlab Runner. В этом случае, вы получаете неограниченные возможности использования CI/CD.
В этой статье устновим Gitlab Runner на систему на Raspberry Pi Zero W, инсталлированную в предыдущем посте, настроим и зарегистрируем для использования с проектом на Gitlab.
Зарегистрируем gitlab репозиторий:
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash
Устанавливаем сам runner:
sudo apt-get install gitlab-runner
Создаем тестовый проект на gitlab.com. Заходим в насторойки в секцию CI/CD и копируем токен:
Регистрируем runner для использования в проекте:
sudo gitlab-runner register --url https://gitlab.com/ --registration-token iztXysgDwDvH8z2AV4sZ
Самый простой тип раннера - shell - его и выберем на последнем шаге.
Убедимся, что раннер работает:
sudo gitlab-runner verify
GitLab Runner готов к использованию. Добавляем в проект файл .gitlab.yml со следующим содержимым:
build:
script:
- echo "Building"
Если все настроено правильно после коммита, наш pipeline будет исполнен и вы увидите следующее:
Таким нехитрым способом можно автоматизировать большинство рутинных операций переложив на компьютер операции по запуску тестов, деплою приложений и т.д. и т.п.
Конечно, вышеприведенный пример раннера пока не делает ничего полезного - только выводит слово "Building", но это легко исправить, добавив команды типа "npm test", "composer test".
Больше информации по установке и использованию руннеров можно узнать из официальной документации gitlab.
разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться
комментарии: