GitHub PR не запускает конвейер GitLab

#github #gitlab #gitlab-pipelines

# #github #gitlab #gitlab-конвейеры

Вопрос:

Я пытаюсь использовать GitHub для запуска при PR конвейера GitLab. Практически, когда разработчик создает PR в GitHub, его / ее код тестируется на конвейере GitLab.

Я пытаюсь следовать этому руководству пользователя: https://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/github_integration.html

и у нас есть учетная запись silver, но она не будет работать. При создании PR конвейер GitLab не запускается.

Кто-нибудь с таким опытом, кто может помочь? Спасибо, Джо

Комментарии:

1. Можете ли вы поделиться своим .gitlab-ci.yml вопросом, чтобы проверить??? Я подозреваю, что что-то не так в .gitlab-ci.yml

Ответ №1:

Я нашел причину проблемы. Для того, чтобы GitHub запускал GitLab как CD / CI в основном в запросе PR, у вас должна быть учетная запись Silver / Premium И, что очень важно, быть владельцем root.

В любом другом случае вы не сможете увидеть github в списке интеграции в GitLab. У людей из gitlab была блестящая идея скрыть его вместо того, чтобы показывать его отключенным (что было бы подсказкой, чтобы понять, что вам нужна обновленная лицензия)

В приведенном выше видео это не объясняется.

Ответ №2:

Во-первых, вам нужно предоставить нам содержимое вашего .gitlab-ci.yaml файла. В вашем вопросе вы спросили о GitHub, но вы следуете документации Gitlab, которая совершенно другая. Оба используют git команды для фиксации и отправки репозиториев, но Github amp; Gitlab отличаются.

  1. Для конвейеров Github вам необходимо создать репозиторий, затем вы переходите к действиям. Github предложит вам настроить .github/workflows каталог, содержащий file.yaml . В этом .yaml файле вы можете кодировать свои конвейеры. В соответствии с вашим проектом, Github предложит вам несколько Linux-машин с соответствующей конфигурацией для запуска ваших файлов (если это Java-проект -> вам будут предложены машины maven, Python -> Python-машины, React / Angular -> машины с npm установленными, Docker, Kubernetes для развертывания …), И вынасколько я знаю, он ограничен 4 частными проектами (проверьте эту последнюю информацию).

введите описание изображения здесь

  1. Для Gitlab у вас есть два варианта: вы можете использовать предварительно настроенные машины, такие как github, и вызывать их, добавляя, например, a tag: npm в свой .gitlab-ci.yaml файл, для вызова машины с установленным npm, но вам нужно заплатить определенную сумму денег. Или вы можете настроить свои собственные бегуны, следуя Gitlab документации с gitlab командами (что является лучшим вариантом), но вам понадобятся хорошие машины и серверы для запуска npm - mvn - python3 - ... commands , конечно, в вашем репозитории Gitlab, и, наконец, чтобы ответить на ваш вопрос, это пример .gitlab-ci.yaml файла с двумя простыми этапами: сборка и тестирование,в only инструкции указано, что эти конвейеры будут выполняться при наличии запроса на слияние (я использую предварительно настроенные машины Gitlab в качестве примера здесь) Подробнее о моем проекте python github https://github.com/mehdimaaref7/Scrapping-Sentiment-Analysis и для gitlab https://docs.gitlab.com/runner /
 stages: 
  - build 
  - test 

build: 
  tags: 
    - shell
    - linux
  stage: build
  script: 
    - echo "Building"
    - mkdir build 
    - touch build/info.txt 
  artifacts:
    paths:
      - build/
  only:
    - merge_requests

test: 
  tags: 
    - shell
    - linux
  stage: test 
  script:
    - echo "Testing"
    - test -f "build/info.txt"
  only:
    - merge_requests