Gitlab-ci.yml для создания запроса на слияние - PullRequest
0 голосов
/ 10 октября 2019

У меня есть следующий файл gitlab-ci.yml, работающий в ветке DEV, с целевым именем DEV. Поскольку я не мог указать ЦЕЛЬ как МАСТЕРА, автоматического создания МР не существует. Я хотел бы знать, возможно ли создать запрос на слияние в самом скрипте gitlab-ci.

dev:
  stage: deploy
  script:
    - url_host=`git remote get-url origin | sed -e "s/https:\/\/gitlab-ci-token:.*@//g"`
    - git remote set-url origin "https://gitlab-ci-token:${CI_TAG_UPLOAD_TOKEN}@${url_host}"
    - databricks workspace export_dir -o /mynotebooks.
    - git add .
    - git commit -m 'Add notebooks to Repo' -a || true
    - git push origin HEAD:dev
  tags:
    - test

Я искал и пересылал свои сайты, но не смог увидеть какие-либо заметки о программном создании запросов на слияние.

Идея состоит в том, что различные разработчики работают над кластером блоков данных, и запуск gitlab запланирован через регулярные промежутки времени. Изменения будут переданы в ветку DEV и будут переданы в ветку MASTER с помощью запросов на слияние.

Я хотел бы знать, можно ли автоматизировать создание этого МР. NEW GITLAB, пожалуйста.

Спасибо.

Ответы [ 2 ]

1 голос
/ 10 октября 2019

Вы можете создать MR в Gitlab, используя опции git push.

Чтобы создать MR для объединения dev в master с помощью git, введите следующую команду

git push origin HEAD:dev -o merge_request.create -o merge_request.target=master 

Подробнее об этой функции здесь .

0 голосов
/ 16 октября 2019

На самом деле существует лучший программируемый способ создания MR.

Gitlab имеет официальный Gitlab API , к которому вы можете получить доступ для создания / обновления / удаления почти всего. Конечно, выполнение этих HTTP-запросов самостоятельно будет утомительным. Попробуйте использовать библиотеку Python для gitlab , чтобы делать то, что вы хотите. Вы можете буквально сделать что-нибудь программируемое!

Специально для работы с MR вы можете посмотреть эту главу .

...