Интеграция Jenkins с Gitlab

Мне нужно настроить конфигурацию сборки в Jenkins, чтобы всякий раз при запуске сборки я получал свои последние сценарии из Gitlab, копировал их в целевые системы и запускал этот сценарий на цели.

Я не смог найти подходящей информации для интеграции Gitlab с Jenkins. Есть ли какие-то специальные плагины, которые я мог бы использовать?

Я использую Дженкинс версии 2.158.


person user3268439    schedule 03.12.2018    source источник
comment
Привет. Вы знаете о devops, вебхуках?   -  person JRichardsz    schedule 03.12.2018
comment
нет, я понятия не имею   -  person user3268439    schedule 04.12.2018


Ответы (2)


Пошаговая процедура для выполнения того, что вы ищете:

  1. Добавьте расположение скрипта из GitLAB. (Например) введите здесь описание изображения
  2. Запустите сценарий на целевой машине.

При создании задания вы получите код в корневом каталоге (./) рабочей области задания. Копирование и запуск скрипта на целевой машине можно выполнить удаленным выполнением скрипта. Ниже приведены случаи, когда мы запускаем скрипт на удаленной машине.

  1. Windows (jenkins) для Windows — используйте psexec.exe
  2. Windows (Jenkins) для linux — используйте plink.exe, который представляет собой шпатлевку командной строки.
  3. Linux (Jenkins) на linux — используйте SCP и SSH
  4. От Linux до Windows — используйте ansible для Windows .

E.g,.

$ scp script.sh [email protected]:/remote/directory
$ ssh -t [email protected] /remote/directory/script.sh

Всего наилучшего.

person Prabhu Vignesh Rajagopal    schedule 04.12.2018
comment
Спасибо, но когда я дал URL-адрес своего репозитория gitab, я получил сообщение об ошибке Не удалось подключиться к репозиторию: ошибка при выполнении команды: git.exe ls-remote -h gitlab.company.net/user.name/project_name HEAD - person user3268439; 04.12.2018

Интеграция между Git Repository Management (github, gitlab, bitbucket и т. д.) и Jenkins состоит из следующих шагов:

  • Разработчик отправляет некоторый исходный код (java, php, nodejs и т. д.) в управление репозиторием Git.
  • Управление репозиторием Git обнаруживает это событие и уведомляет некоторую общедоступную конечную точку http в вашем Jenkins. В настоящее время наиболее рекомендуемым способом реализации этого уведомления является веб-перехватчик.
  • Jenkins получает HTTP-запрос (например, от bitbucket) и, используя некоторые плагины или конфигурации, Jenkins пытается определить или получить основные параметры devops, такие как: имя ветки, автор фиксации, сообщение фиксации, технология и т. д.
  • С извлеченными параметрами devops Дженкинс запускает предварительно настроенное задание. Это задание использует ранее извлеченные значения для сборки, компиляции, архивирования, установки или выполнения всего, что необходимо для запуска вашего приложения.

Если вы хотите реализовать этот поток, проверьте этот пост:

https://jrichardsz.github.io/devops/devops-with-git-and-jenkins-using-webhooks

Также, если вам нужно. Я с удовольствием покажу вам базовую интеграцию с использованием некоторого управления репозиторием git и jenkins. Просто свяжитесь со мной.

person JRichardsz    schedule 18.12.2018