Skip to content

NickOsipov/gitlab-runner

Repository files navigation

GitLab Runner in Terraform

Проект для автоматического развертывания GitLab Runner в Yandex Cloud с использованием Terraform. Включает в себя инструменты для мониторинга и управления раннерами.

Установка

  1. Клонируйте репозиторий:
git clone https://github.com/NickOsipov/gitlab-runner.git
cd gitlab-runner
  1. Установите Poetry (если еще не установлен):
curl -sSL https://install.python-poetry.org | python3 -
  1. Установите зависимости проекта:
poetry env use python3.11
poetry install
poetry shell
  1. Создайте файл .env на основе примера и заполните необходимые переменные:
cp .env.example .env
  1. Настройте Terraform:
cd infra
cp terraform.tfvars.example terraform.tfvars

Заполните terraform.tfvars необходимыми значениями для Yandex Cloud и GitLab.

Запуск

Terraform операции

cd infra
terraform init
terraform plan
terraform apply --auto-approve

Проверка состояния раннеров

Используйте команды Make или Invoke для выполнения различных операций:

# Использование Make
make check-runners
make check-projects

# Использование Invoke
invoke check-runners
invoke check-projects

Получение логов

make download_log
# или
invoke download-log

Лицензия

MIT License

Contribution

  1. Форкните репозиторий
  2. Создайте ветку для ваших изменений:
git checkout -b feat/amazing-feature
  1. Зафиксируйте изменения:
git commit -m 'feat: add amazing feature'
  1. Отправьте изменения в ваш форк:
git push origin feat/amazing-feature
  1. Создайте Pull Request

Требования к разработке

  • Python 3.11+
  • Poetry
  • Terraform 1.0+
  • Yandex Cloud CLI
  • GitLab токен с правами администратора

Структура проекта

.
├── infra/              # Terraform конфигурация
├── src/                # Python скрипты
├── scripts/            # Bash скрипты
├── logs/               # Логи выполнения
└── config/             # Конфигурационные файлы

Авторы

Nick Osipov

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published