gitlab - перенос variable

Thank you for reading this post, don't forget to subscribe!

появи­лась зада­ча пере­та­щить гит­лаб из обла­ка в self-hosted  - мигра­ци­я­ми со сто­ро­ны гит­ла­ба пере­мен­ные не пере­тас­ки­ва­ют­ся, поэто­му вос­поль­зу­ем­ся сле­ду­ю­щим методом:

на уровне груп­пы созда­ём токен

так же токен на уровне груп­пы созда­ём и в нашем self-hosted gitlab

что­бы ска­чать все пере­мен­ные вос­поль­зу­ем­ся сле­ду­ю­щим запросом:

тут
glpat-BYpCKcoE2P8PKn  - это наш токен
614629  - это id группы
group_1.json - это файл куда мы сохра­ня­ем переменные

 

для загруз­ки в наш self-hosted гит­лаб вос­поль­зу­ем­ся скрип­том upload.sh

в этом скрип­те нуж­но запол­нить переменные:
GITLAB_URL - адрес ваше­го self-hosted gitlab
GROUP_ID - id груп­пы ваше­го проекта
PRIVATE_TOKEN - токен кото­рый вы созда­ва­ли на всю группу
VARIABLE_FILE_NAME - файл в кото­ром сохра­не­ны все переменные.

даль­ше мож­но запус­кать загрузку
bash upload.sh

всё.

 

альтернативный вариант

пере­тас­ки­ва­ет и груп­по­вые пере­мен­ные и пере­мен­ные в проектах

 

нам нуж­но создать токе­ны как в облач­ном так и в self hosted gitlab

и ука­зать груп­пу (под­груп­пы будут рекур­сив­но обрабатываться)

# === Настрой­ки исход­но­го (облач­но­го) GitLab === GITLAB_CLOUD_TOKEN="glpat-BoGxdtMTE2P8PKn"
GITLAB_CLOUD_DOMAIN="gitlab.com" # Путь к основ­ной груп­пе-источ­ни­ку (без URL‑кодирования)
GITLAB_CLOUD_GROUP="tech-tech"

# === Настрой­ки целе­во­го (self‑hosted) GitLab ===
GITLAB_SELF_HOSTED_TOKEN="glpat-gxqqBY3ArKf-z91A8FZB"
GITLAB_SELF_HOSTED_DOMAIN="gitlab.infra.tech.tech" # Путь к основ­ной груп­пе-назна­че­нию (струк­ту­ра под­групп совпадает)
GITLAB_SELF_HOSTED_GROUP="tech-tech"