Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ FreeBSD and Nix ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Скрипт синхронизации репозиториев Git и GitLab


Скрипт синхронизации репозиториев Git и GitLab

Функционал скрипта упрощенно подразумевает следующую логику

У насть есть в сети есть сервер с установленным git и еще один сервер с gitlab

Нам нужен скрипт, который бы мог синхронизировать репозитории из git в gitlab

10.10.1.10 и 10.10.1.20 адреса серверов

2 режима запуска скрипта:

1. Полность перекачать все репозитории с git, добавить линки на gitlab и запушить

2. Только провести операцию push на gitlab, предварительно сделав pull с git

Объяснение

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

Описываем функционал в функциях clone, add, pull, push

В зависимости от аругмента, переданного скрипту запускаем один из 2 вариантов запуска

Составляются списки директорий, названий репозиториев для дальнейшей работы

В функциях clone, pull, push довольно все просто, мы читаем из составленных списков строки как команды

В функции add мы сопоставляем директории с названиями репозиториев

Дело в том, что в git у меня были репозитории с неймспейсами типа admin/configs, / в gitlab я поменял на -

Далее вырезаем префикс полной директории к относительному названию репозитория

Далее идет обход по папкам репозиториев и команда добавления ссылки на репозиторий в gitlab

Далее идет обход по папкам репозиториев и команда push на gitlab

Обратите внимание, у меня использовались ветки master, у вас уточняйте самостоятельно

Репозитории соответственно в gitlab создаете заранее и прописываете .pub ssh ключ с write permissions

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект