Мы все знаем, что CI или CD -сервер должен быть тесно подключен или интегрирован в вашу среду DevOps.
Но проблема на большинстве серверов CI сегодня заключается в том, что вы должны настраивать для каждой работы каждый раз. Например, если вы пытаетесь развернуть в Kubernetes, используя Jenkins, вы должны настроить это на уровне работы, и вы можете проверить это только путем фактического запуска сборки. Если вам нужен этот kubeconfig в нескольких других заданиях, единственный путь здесь — то, что вы добавляете один и тот же файл конфигурации во всех других необходимых заданиях. А теперь представьте, вам нужно что -то изменить в файле конфигурации, теперь вам нужно перейти во все другие места и изменить их, что является Не эффективно
Анкет Это то же самое для развертывания в Google Cloud или AWS или любого другого облачного провайдера, который также может потребовать некоторого плагина, чтобы заставить его работать.
Так что просто решить эту проблему, JFROG Pipelines Извлеченный их в центральную систему, создал для вас указатель, который вы можете использовать его в своих шагах, где наша платформа вводит их во время выполнения, и мы называем их интеграциями.
Интеграции используются для подключения ваших рабочих процессов CI или CD CD к сторонним платформам или услугам и управлению такими секретами, как клавиши, токены, пароли, которые необходимы для шагов в трубопроводе для взаимодействия с источником. Вся информация об учете учетных данных зашифрована и поддерживается отдельно от определения трубопровода и хранится в безопасном хранилище.
Самыми большими преимуществами нашего дизайна интеграции являются:
- Интеграции создаются в пользовательском интерфейсе и используются с дружественными именами в вашей конфигурации YAML. Это означает, что вам не нужно трогать свои сценарии автоматизации, когда интеграция обновляется.
- Интеграции надежно хранятся в
Хранилище хранилища
и зашифровано в покое и в полете. - Значения интеграции не раскрываются в журналах, если вы не решите распечатать их как часть своего рабочего процесса. Вы можете охватить каждую интеграцию, чтобы разрешить или отклонить доступ для источников трубопровода
Позвольте мне показать пример добавления интеграции и использовать ее на одном из ваших шагов.
Добавить новую интеграцию
Чтобы добавить новую интеграцию, перейдите в вкладку Pipelines-> Integrations и нажмите на Добавить интеграцию
В Вы можете дать какое -то дружественное имя и выбрать тип интеграции, которую вы хотите создать.
Доступные типы интеграции для трубопроводов JFrog: Аэрофтрак , Артефактор , AWS Keys , Azure Keys , Bitbucket , Цифровой океан , Распределение , Docker Registry , Внешний веб -крюк , Файловый сервер , Универсальный , GitHub Enterprise , GitHub , Gitlab , Google Cloud , Внутренняя интеграция веб -крюков В Джира , Kubernetes , Новорель , PEM -ключ , Слаб , SMTP Detrentys , SSH -ключ
Как только вы добавите все необходимые поля:
Вы также можете установить, какие источники трубопровода могут использовать эту интеграцию:
После создания вы можете добавить интеграцию непосредственно на шаг:
steps: - name: sample_bash type: Bash configuration: integrations: - name: myArtifactory execution: onExecute: - echo "executing bash step." - echo $int_myArtifactory_url
Когда вы это делаете, автоматически предоставляется набор переменных среды.
Вы также можете отправить уведомления, используя функцию утилиты: send_notification Всякий раз, когда ваш шаг преуспевает или терпит неудачу по какой -то причине с использованием интеграции уведомлений: Airbrake, Slack, Jira, Newrelic, исходящий Webhook, Smtpcreds (электронная почта)
steps: - name: sample_bash type: Bash configuration: integrations: - name: myArtifactory - name: mySlack - name: myJira execution: onExecute: - echo "executing bash step." onSuccess: - send_notification mySlack onFailure: - send_notification myJira --project-id myProjectOnJira --type Bug --summary "sample_bash step: ${step_id} failed"
Надеюсь это поможет!:)
Оригинал: «https://dev.to/deepika_banoth/managing-integration-of-ci-cd-server-to-devops-environment-5385»