Circleci: как развернуть в зависимости от тега git

Есть ли способ ограничить развертывание кругов при проверках с определенным тегом git?

В настоящее время я использую это

...
deployment:
  dockerhub:
    branch: master
    commands:
      - docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS
      - docker push abcdef

Вместо branch: master я хотел бы написать что-то вроде tag: /release_.*/

Справочная информация. Я хотел бы установить теги docker в зависимости от тегов git. Так, например, всякий раз, когда что-то фиксируется для мастеринга, создается и выводится новый образ докера с тегом latest. Всякий раз, когда устанавливается специальный тег git (например, release_1.0_2015-06-13), новое изображение докера с тегом 1.0 будет создан и отправлен.

Альтернативой является использование только разных веток в соответствии с разными тегами. Но я хотел бы использовать теги, чтобы отметить конкретный выпуск.

12 голосов | спросил dsteinkopf 13 J0000006Europe/Moscow 2015, 13:43:54

3 ответа


0

Похоже, это было добавлено с тех пор, как Ким ответила.

  

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

     

В приведенном ниже примере нажатие на тег с именем release-v1.05 вызовет сборку & развертывание. Нажатие на тег qa-9502 не приведет к сборке.

deployment:
  release:
    tag: /release-.*/
    owner: circleci
    commands:
      - ./deploy_master.sh
ответил Dean 28 PM000000100000000231 2015, 22:21:02
0

Это Ким из CircleCI.

Чтобы архивировать то, что вы хотите сделать, я думаю, что вы должны иметь возможность запускать сборку, когда новый тег помещается в Github. Тем не менее, только новый коммит вызовет сборку, так что кажется, что это не выполнимо на данный момент. Извините!

ОБНОВЛЕНИЕ: эта функция теперь реализована: https://circleci.com/docs/configuration/#tags

ответил kimh 15 J0000006Europe/Moscow 2015, 11:33:39
0

Я размещаю это здесь для людей, которые следовали документации , но не получили это на работу. CircleCI, похоже, вообще игнорирует теги, если у вас есть branch only конфигурация в ваших общих настройках. Таким образом, отмеченные коммиты будут отображаться как «Не запускаться».

Чтобы построить только на определенных ветвях и развернуть на определенном теге, используйте branch и ignore вместе с отрицательным регулярным выражением:

# circle.yml
general:
  branches:
    ignore:
      - /^(?!master).*$/
deployment:
  beta:
    tag: /v[0-9]+(\.[0-9]+)*(-.*)*/
    owner: mediafreakch
    commands:
      - deploy.sh

Это создаст каждый коммит в master и развернет, если это коммит с тегом. Чтобы пометить коммит, я использую npm version.

ответил mediafreakch 25 J000000Monday16 2016, 09:41:49

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132