Рубрики
Uncategorized

Труба осьминога для битбакета: осьминог-клин

Узнайте, как интегрировать осьминог и Bitbucket с нашей новой экспериментальной трубкой Bitbucket под названием Octopus-Cli-Run. Tagged с осьминогом, DevOps, Bitbucket, Tipvelines.

В предыдущем посте я написал, как создать трубу Bitbucket и интегрировать ее с помощью Octopus Deploy. Если вы начинаете с труб впервые, это стоит прочитать.

В этом посте я дам вам обзор новой экспериментальной трубы Bitbucket для осьминога — Octopus-Cli-Run Анкет Если вы заинтересованы в попытке экспериментальной трубы, вы можете использовать ее для запуска команд из Octopus cli , позволяя вам дополнительно интегрировать ваш atlassian Bitbucket Pipeline с осьминогом для управления вашими пакетами, выпусками и развертываниями.

В этом посте

  • Труба ямль определение
    • Определения переменных труб
  • Поддерживаемые команды
    • Пакет
    • Толкать
    • Создайте информацию
    • Создать выпуск
    • Развернуть релиз
  • Используя трубу
  • Вывод

Труба ямль определение

Базовое определение трубы включает в себя ссылку на его хранилище, размещенное на Битбакет . Он также был опубликован как Осьминоги/Осьминог-Кли-Рун на Docker Hub.

У него есть один необходимый Cli_command переменная. Это команда CLI для запуска.

Использовать трубу в вашем Bitbucket-Pipelines.yml Файл, добавьте следующий фрагмент YAML в раздел скрипта:

- pipe: octopusdeploy/octopus-cli-run:0.13.0
  variables:
    CLI_COMMAND: ""
    # EXTRA_ARGS: ['','' ..] # Optional
    # DEBUG: "" # Optional

Труба также предоставляет Необязательно переменная массива называется Extra_args что вы можете использовать для включения любых дополнительных аргументов командной строки для указанной команды.

Определения переменных труб

Переменные в трубах и трубах Bitbucket настроены как Переменные среды Анкет Как Octopus-Cli-Run Труба содержит ряд команд, конкретные переменные, которые требуются, зависят от того, какую команду вы используете. Смотрите Readme Для получения дополнительной информации о переменных, которые требуются для каждой команды.

Поддерживаемые команды

Octopus-Cli-Run Труба была написана с наиболее часто используемыми командами CLI, и она фактически построена на вершине Octopus Cli Docker Image . Это включает в себя возможность:

  • Упакуйте свои файлы или создайте артефакты, используя Пакет Анкет
  • Отправить пакеты в встроенный репозиторий осьминога с использованием push Анкет
  • Подтолкнуть информацию о осьминоге с использованием встроенная информация Анкет
  • Автоматизируйте создание выпусков, используя Создать релиз Анкет
  • Развертывание выпусков, которые уже были созданы с использованием Развертывание смягчения Анкет

Далее мы рассмотрим, как выглядят шаги трубопровода для каждой из команд, используя Петлиновый Пример приложения доступен на Битбакет . Чтобы сделать это просто, шаги были уменьшены до минимального определения, которое необходимо.

Пакет

Пакет Команда позволяет создавать Пакеты (либо как Zip или Nupkg) из файлов на диске, без необходимости в .nuspec или .csproj файл.

Чтобы создать пакет, определите такой шаг, как это:

- step:
    name: octo pack mysql-flyway
    script:
      - pipe: octopusdeploy/octopus-cli-run:0.13.0
        variables:
          CLI_COMMAND: 'pack'
          ID: 'petclinic.mysql.flyway'
          FORMAT: 'Zip'
          VERSION: '1.0.0.0'
          SOURCE_PATH: 'flyway'
          OUTPUT_PATH: 'flyway'
    artifacts:
      - "flyway/*.zip"

Это упаковки пролет Папка и создает zip -файл с именем petclinic.mysql.flyway.1.0.0.0.zip в той же папке.

Толкать

push Команда позволяет вам нажимать пакеты (.zip, .nupkg, .war и т. Д.) к осьминогу Встроенный репозиторий

Он также поддерживает толкание нескольких пакетов одновременно. Чтобы выполнить мульти-пакет push , определите такой шаг, как это:

- step:
    name: octo push
    script:
      - pipe: octopusdeploy/octopus-cli-run:0.13.0
        variables:
          CLI_COMMAND: 'push'
          OCTOPUS_SERVER: $OCTOPUS_SERVER
          OCTOPUS_APIKEY: $OCTOPUS_API_KEY
          OCTOPUS_SPACE: $OCTOPUS_SPACE
          PACKAGES: [ "./flyway/petclinic.mysql.flyway.1.0.0.0.zip", "target/petclinic.web.1.0.0.0.war" ]

Это толкает оба petclinic.mysql.flyway.1.0.0.0.zip и petclinic.web.1.0.0.0.war Пакеты до осьминога.

Создайте информацию

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

Если вы уже создали файл встроенной информации, вы можете предоставить его команде, используя Файл переменная. Если переменная не предоставлена, труба будет генерировать свой собственный файл информации о сборке и отправлять его в Octopus.

Чтобы протолкнуть файл информации об автоматической сборке сборки, определите шаг, подобный этому:

- step:
    name: octo build-information
    script:
      - pipe: octopusdeploy/octopus-cli-run:0.13.0
        variables:
          CLI_COMMAND: 'build-information'
          OCTOPUS_SERVER: $OCTOPUS_SERVER
          OCTOPUS_APIKEY: $OCTOPUS_API_KEY
          OCTOPUS_SPACE: $OCTOPUS_SPACE
          VERSION: '1.0.0.0'
          PACKAGE_IDS: ['petclinic.web']

Это создает информацию о сборке, связывает ее с версией 1.0.0.0 из petclinic.web упаковка и подталкивает его к осьминогам.

Создать выпуск

Создать релиз Команда позволяет создать релиз в осьминоге. Вы указываете проект, чтобы создать релиз для использования Проект переменная.

При желании вы также можете развернуть релиз в одну или несколько сред. Чтобы достичь этого, вы должны использовать Global Extra_args переменная массива и предоставить соответствующие варианты. Например:

Extra_args: [‘—deployto’, ‘development’, ‘-guidedfailure’, ‘true’]

Чтобы создать релиз, и позвольте Octopus выбрать версию для использования, создайте шаг, как это:

- step:
    name: octo create-release
    script:
      - pipe: octopusdeploy/octopus-cli-run:0.13.0
        variables:
          CLI_COMMAND: 'create-release'
          OCTOPUS_SERVER: $OCTOPUS_SERVER
          OCTOPUS_APIKEY: $OCTOPUS_API_KEY
          OCTOPUS_SPACE: $OCTOPUS_SPACE
          PROJECT: $OCTOPUS_PROJECT

Развернуть релиз

Развертывание смягчения Команда позволяет развернуть релизы, которые уже были созданы. Вы указываете проект и номер выпуска, чтобы развернуть релиз для использования Проект и Release_number переменные.

Выберите среду (ы) для развертывания, указав их в Deploy_to переменная, используя имя или идентификатор, как так:

Deploy_to: [‘Environments-1’, ‘Development’, ‘Staging’, ‘test’]

Развернуть Последний выпустить в Развитие Для проекта создайте такой шаг, как это:

- step:
    name: octo deploy-release
    script:
      - pipe: octopusdeploy/octopus-cli-run:0.13.0
        variables:
          CLI_COMMAND: 'deploy-release'
          OCTOPUS_SERVER: $OCTOPUS_SERVER
          OCTOPUS_APIKEY: $OCTOPUS_API_KEY
          OCTOPUS_SPACE: $OCTOPUS_SPACE
          PROJECT: $OCTOPUS_PROJECT
          RELEASE_NUMBER: 'latest'
          DEPLOY_TO: ['Development']

Используя трубу

Наконец, давайте посмотрим на использование трубы в нескольких шагах, чтобы составить полный трубопровод Bitbucket:

image: maven:3.6.1

pipelines:
  branches:
    master:
      - step:
          name: build petclinic
          caches:
            - maven
          script:
            - mvn -B verify -DskipTests -Dproject.versionNumber=1.0.0.0 -DdatabaseUserName=$DatabaseUserName -DdatabaseUserPassword=$DatabaseUserPassword -DdatabaseServerName=$DatabaseServerName -DdatabaseName=$DatabaseName
          artifacts:
          - "target/*.war"
      - step:
          name: octo pack mysql-flyway
          script:
            - pipe: octopusdeploy/octopus-cli-run:0.13.0
              variables:
                CLI_COMMAND: 'pack'
                ID: 'petclinic.mysql.flyway'
                FORMAT: 'Zip'
                VERSION: '1.0.0.0'
                SOURCE_PATH: 'flyway'
                OUTPUT_PATH: './flyway'
          artifacts:
            - "flyway/*.zip"
      - step:
          name: octo push
          script:
            - pipe: octopusdeploy/octopus-cli-run:0.13.0
              variables:
                CLI_COMMAND: 'push'
                OCTOPUS_SERVER: $OCTOPUS_SERVER
                OCTOPUS_APIKEY: $OCTOPUS_API_KEY
                OCTOPUS_SPACE: $OCTOPUS_SPACE
                PACKAGES: [ "./flyway/petclinic.mysql.flyway.1.0.0.0.zip", "target/petclinic.web.1.0.0.0.war" ]
      - step:
          name: octo build-information
          script:
            - pipe: octopusdeploy/octopus-cli-run:0.13.0
              variables:
                CLI_COMMAND: 'build-information'
                OCTOPUS_SERVER: $OCTOPUS_SERVER
                OCTOPUS_APIKEY: $OCTOPUS_API_KEY
                OCTOPUS_SPACE: $OCTOPUS_SPACE
                VERSION: '1.0.0.0'
                PACKAGE_IDS: ['petclinic.web']
      - step:
          name: octo create-release
          script:
            - pipe: octopusdeploy/octopus-cli-run:0.13.0
              variables:
                CLI_COMMAND: 'create-release'
                OCTOPUS_SERVER: $OCTOPUS_SERVER
                OCTOPUS_APIKEY: $OCTOPUS_API_KEY
                OCTOPUS_SPACE: $OCTOPUS_SPACE
                PROJECT: $OCTOPUS_PROJECT
      - step:
          name: octo deploy-release
          script:
            - pipe: octopusdeploy/octopus-cli-run:0.13.0
              variables:
                CLI_COMMAND: 'deploy-release'
                OCTOPUS_SERVER: $OCTOPUS_SERVER
                OCTOPUS_APIKEY: $OCTOPUS_API_KEY
                OCTOPUS_SPACE: $OCTOPUS_SPACE
                PROJECT: $OCTOPUS_PROJECT
                RELEASE_NUMBER: 'latest'
                DEPLOY_TO: ['Development']

Вот и все!

Вы можете просмотреть полный Петклинический Bitbucket-Pipelines.yml Файл на Битбакет .

Образец проекта осьминога Вы можете увидеть Петклиновый проект осьминога в нашем образцы пример.

Вывод

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

Этот пост был первоначально опубликован в octopus.com .

Оригинал: «https://dev.to/octopus/octopus-pipe-for-bitbucket-octopus-cli-run-3pfc»