Jenkins интегрирует правильную позицию GitLab для реализации отправки кода Git, запускающей CI/CD.
Jenkins интегрирует правильную позицию GitLab для реализации отправки кода Git, запускающей CI/CD.

jenkinsиgitlabв настоящее времяDevOpsНаиболее распространен в цепочках инструментовиз,Оставьте в стороне gitlab-ci,Отправка кода Gitlab, запускающая конвейер Jenkins, — самая классическая комбинация. Вот и переход к изменению между Jenkins и gitlab.

Установите плагин GitLab

  • Плагин Gitlab — этот плагин позволяет GitLab запускать сборки в Jenkins при фиксации кода или открытии/обновлении мерж-реквеста. Он также может отправлять статус сборки обратно в GitLab.

Настройка сервера Дженкинса

Сначала создайте учетные данные GitLab и введите учетные данные в Manage Jenkins->System->enable authentication for '/project' end-point

через это Конфигурация,Эквивалентно созданию Дженкинса job Учетными данными для доступа к gitlab можно манипулировать, и они будут объявлены и использованы в последующем файле jenkins.

Настройка задания Дженкинса

Создайте задание jenkins, выберите Git для управления исходным кодом и введите адрес вашего репозитория исходного кода в gitlab для URL-адреса репозитория — это аутентификация личности, необходимая при извлечении кода.

Выберите «Создать, когда изменение будет отправлено в GitLab» для триггера сборки (помните, что URL-адрес веб-перехватчика GitLab будет заполнен позже в веб-перехватчиках gitlab) и проверьте следующее:

Также нажмите «Дополнительно», «Разрешить ветки» и установите флажок «Фильтровать ветки по регулярному выражению».

Нажмите «Создать», чтобы сгенерировать токен. Этот токен используется для заполнения веб-перехватчика gitlab. Когда gitlab обнаруживает отправку кода, он уведомляет URL-адрес обратного вызова, сгенерированный Дженкинсом, заполненным веб-перехватчиком, и передает этот токен, чтобы предотвратить запуск других. непрерывная интеграция Jenkins.

Примечание. Скопируйте URL-адрес и токен, которые позже будут использоваться для настройки веб-перехватчика gitlab.

Этот шагизглазиз В основном с целью прохожденияgitlabкурокизjenkins Информация о задании готова для последующей настройки gitlab-webhook, Сообщите gitlab, какие jenkins запускать job.

Возможные подводные камни в новой версии jenkins

В "Сгенерировать" генерировать При использовании токена, если вы используете более высокую версию jenkins , произойдет ошибка 403 HTTP ERROR 403 No valid crumb was included in the request

Это связано с тем, что эксплойты Jenkins Prevent Cross Site Request Forgery блокируют запросы. Первоначально в более низких версиях Jenkins это можно было отключить в интерфейсе. Кажется, что в более высоких версиях это удалено. Это можно сделать следующими способами.

hudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION = true

Если возникает ситуация, показанная на рисунке ниже, это означает, что команда выполнена успешно.

image.png

Вышеупомянутый метод предназначен для запуска изjenkins в контейнере.,Вам необходимо войти в контейнер, чтобы изменить конфигурацию, которая вступит в силу навсегда.

Измените /usr/local/bin/jenkins.sh. ,найти руководителя Java-строка,добавить в-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true

Язык кода:javascript
копировать
# конечный эффект
exec java -Duser.home="$JENKINS_HOME" -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true "${java_opts_array[@]}" -jar ${JENKINS_WAR} "${jenkins_opts_array[@]}" "$@"

На этом этапе непрерывная интеграция Jenkins настроена, и необходимо настроить веб-перехватчик gitlab для уведомления Jenkins об отправке кода.

Настройка GitLab Webhook

Открыть gitlab из repo из Settings-Integrations,URL и Secret Token заполнять jenkins Постройте триггерную часть в задании «обернутьиз», нажмите точку. “Add вебхук", готово!

Перед вводом ссылки в Jenkins предоставляется URL-адрес веб-перехватчика.

точечный тест,если вернуть 200,Это был бы успех,Перейдите в Дженкинс, чтобы узнать, есть ли какая-либо запись автоматической сборки.

Настройка Jenkins для возврата в состояние выполнения

Как я могу увидеть статус в gitlab после выполнения задания?

Язык кода:javascript
копировать
pipeline {
    agent any

    options {
        gitLabConnection('gitlab-connection') 
      //Manage Jenkins->System->enable authentication for '/project' end-pointYourКонфигурацияизGitLab Connection
    }

    stages {
        stage('build') {
            steps {
                updateGitlabCommitStatus name: 'build', state: 'running'
                hogehoge
            }
        }
    }

    post {
        success {
            updateGitlabCommitStatus name: 'build', state: 'success'
        }
        failure {
            updateGitlabCommitStatus name: 'build', state: 'failed'
        }
    }
}

Описание параметра:

  • gitLabConnection даиGitLabСвязьизимя。GitLabимяизнастраиватьдасуществоватьjenkinsуправлять>Системные настройки>GitlabУкажите детали визgitlab urlиtoken
  • updateGitlabCommitStatus
    • имя: имя сборки
    • state: pending, running, canceled, success, failed

ссылка:

  • https://about.gitlab.com/devops-tools/jenkins-vs-gitlab/
boy illustration
Проблема со входом в Docker: невозможно подключиться к Docker Hub
boy illustration
Установите докер на виртуальной машине CentOS
boy illustration
Контейнерное путешествие программистов в облако в 2024 году. Эпизод 1: Пересечение границ
boy illustration
Инфраструктура как код (IaC): будущее автоматизированного управления инфраструктурой
boy illustration
Как создать онлайн-банк вопросов для тестов и помочь пользователям бесплатно формировать статьи и тесты.
boy illustration
Корпоративная практика Traefik: внедрение Traefik на производственном уровне
boy illustration
Каковы основные модели обслуживания облачных вычислений? Каковы их характеристики?
boy illustration
Дополнительные правила поощрения Роспотребнадзора на 22 марта
boy illustration
Анализ и лечение причин вирусов-вымогателей и майнинга на серверах
boy illustration
Hexo -26- Бесплатное ускорение CDN CloudFlare
boy illustration
Разница между традиционным хранилищем и объектным хранилищем
boy illustration
Использование хост-порта и хост-сети в Kubernetes
boy illustration
Учебное пособие о том, как создать частный сервер Palworld одним щелчком мыши
boy illustration
[Зона легкого облачного игрового сервера] Как продлить срок действия игрового сервера и вернуть деньги за него?
boy illustration
Исследование и практика реального бизнес-производства и применения GBI (генеративная бизнес-аналитика)
boy illustration
Перейти в облако государственных активов или облако по делам правительства? Безопасное облако зависит от оценки облака
boy illustration
Поговорим о ситуационной осведомленности с нуля
boy illustration
Внедрение промежуточного программного обеспечения универсального хранилища файлов через протокол S3.
boy illustration
Поймите управление продукцией в одной статье: от теоретических норм, практического применения до безопасности цепочки поставок.
boy illustration
Feiniu fnos использует Docker для развертывания учебника по iptv-источникам
boy illustration
RDMA — принцип проектирования подкачки по требованию ODP, преимущества и анализ исходного кода
boy illustration
Этот вычислительный кластер, выпущенный Goose Factory, может обучать большие модели с триллионами параметров за самые быстрые 4 дня.
boy illustration
[Техническая посадка] Дабл Одиннадцать! Приближается большая волна скидок на создание веб-сайтов, почему бы не прийти сюда, чтобы создать веб-сайт?
boy illustration
[Представление сообщества] Реализация шлюза k8s на основе Pingora, практика кода (1)
boy illustration
Стратегия создания веб-сайтов IIS на облачном сервере Сколько веб-сайтов может создать облачный сервер?
boy illustration
Cloud Native использует Docker для развертывания личной навигационной страницы на домашней странице.
boy illustration
Разработка приложения HarmonyOS | HarmonyOS Next-анализ всего процесса от разработки приложения до запуска
boy illustration
Поделитесь хорошим местом для загрузки оригинального iso-файла server2025 от Microsoft.
boy illustration
Feiniu fnos использует Docker для развертывания онлайн-офисного пакета для совместной работы с открытым исходным кодом onlyoffice
boy illustration
Комплексная оценка мощного и простого в использовании программного обеспечения для офлайн-заметок: преимущества, недостатки, сравнение