Skip to content

plakun/gitlabmonitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

gitlabmonitor

Скрип для автоматического пулинга кода из gitlab через вебхуки. Для использования в коде необходимо поправить следующие переменные:

  • private_token - указываем сам токен для доступа к гитлабу, либо берем из env (private_token = os.environ["GITLAB_TOKEN"])
  • gitlab_url = 'gitlab.example.com' # адрес гитлаба
  • repo_path = 'devops/example.git' # адрес репы
  • project_id = '105' # ID проекта в GitLab
  • branch='master' # имя ветки

ID проекта можно найти в admin area проекта, например, https://gitlab.example.com/admin/projects/devops/example

Скрипт поднимает listener на порту 5000 по локейшену /webhook и ждет GET, PUSH или POST запрос от гитлаба. В проекте необходимо создать вебхук, который будет стучаться по адресу http://адрес_сервиса:5000/webhook и указать по каким событиям дергать вебхук (например, пуши и PR). Скрипт при запуске делает git clone указанной ветки указанного репозитория, после этого переходит в режим прослушивания порта. Если поступает запрос на порт 5000, он получает хэш последнего коммита в удаленном репо и сравнивает с последним коммитом в локальной репе. Если хэши не совпадают, делается git pull.

Список зависимостей для работы скрипта:

  • git
  • python3

pip:

  • flask
  • gitpython
  • requests
  • PyGithub

About

python script for auto-pull from gitlab repo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages