Рубрики
Uncategorized

Управление интеграцией сервера CI/CD в среду DevOps

Мы все знаем, что CI или CD -сервер должен быть тесно подключен или интегрирован в вашу среду DevOps … Теги с DevOps, трубопроводы, CICD, интеграции.

Мы все знаем, что CI или CD -сервер должен быть тесно подключен или интегрирован в вашу среду DevOps.

Но проблема на большинстве серверов CI сегодня заключается в том, что вы должны настраивать для каждой работы каждый раз. Например, если вы пытаетесь развернуть в Kubernetes, используя Jenkins, вы должны настроить это на уровне работы, и вы можете проверить это только путем фактического запуска сборки. Если вам нужен этот kubeconfig в нескольких других заданиях, единственный путь здесь — то, что вы добавляете один и тот же файл конфигурации во всех других необходимых заданиях. А теперь представьте, вам нужно что -то изменить в файле конфигурации, теперь вам нужно перейти во все другие места и изменить их, что является Не эффективно Анкет Это то же самое для развертывания в Google Cloud или AWS или любого другого облачного провайдера, который также может потребовать некоторого плагина, чтобы заставить его работать.

Так что просто решить эту проблему, JFROG Pipelines Извлеченный их в центральную систему, создал для вас указатель, который вы можете использовать его в своих шагах, где наша платформа вводит их во время выполнения, и мы называем их интеграциями.

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

Самыми большими преимуществами нашего дизайна интеграции являются:

  1. Интеграции создаются в пользовательском интерфейсе и используются с дружественными именами в вашей конфигурации YAML. Это означает, что вам не нужно трогать свои сценарии автоматизации, когда интеграция обновляется.
  2. Интеграции надежно хранятся в Хранилище хранилища и зашифровано в покое и в полете.
  3. Значения интеграции не раскрываются в журналах, если вы не решите распечатать их как часть своего рабочего процесса. Вы можете охватить каждую интеграцию, чтобы разрешить или отклонить доступ для источников трубопровода

Позвольте мне показать пример добавления интеграции и использовать ее на одном из ваших шагов.

Добавить новую интеграцию

Чтобы добавить новую интеграцию, перейдите в вкладку 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»