Выпуск тега не построен с CircleCI - PullRequest
0 голосов
/ 01 июня 2018

Я использую CircleCI для создания проекта, все работает нормально, за исключением того, что мои теги не создаются при отправке в github:

Я не понимаю почему, у меня естьсвел всю мою конфигурацию к минималистичному конфигурационному файлу, это та же логика:

version: 2

jobs:

  my_dummy_job_nightly:
    working_directory: ~/build
    docker:
      - image: docker:git
    steps:
      - checkout
      - setup_remote_docker:
          reusable: true
          exclusive: true

      - run:
          name: NIGHTLY BUILD
          command: |

            apk add --update py-pip
            python -m pip install --upgrade pip

  my_dummy_job_deploy:
    working_directory: ~/build
    docker:
      - image: docker:git
    steps:
      - checkout
      - setup_remote_docker:
          reusable: true
          exclusive: true

      - run:
          name: RELEASE BUILD
          command: |

            apk add --update py-pip
            python -m pip install --upgrade pip

###################################################################################
#                               CircleCI WORKFLOWS                                #
###################################################################################

workflows:
  version: 2
  build-and-deploy:
    jobs:

      ###################################################################################
      #                                  NIGHTLY BUILDS                                 #
      ###################################################################################

      - my_dummy_job_nightly:
          filters:
            tags:
              ignore: /.*/
            branches:
              only: master


      ###################################################################################
      #                                   TAGS BUILDS                                   #
      ###################################################################################

      - hold:
          type: approval
          filters:
            tags:
              only: /.*/
            branches:
              ignore: /.*/

      - my_dummy_job_deploy:
          requires:
            - hold
          filters:
            tags:
              only: /.*/
            branches:
              ignore: /.*/

Я не понимаю, почему теги не создаются ... Регулярное выражение должно пропустить все ...

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Я наконец нашел проблему.Ничего общего с конфигурацией, интерфейс CircleCI не показывает построение тегов в интерфейсе рабочих процессов и, таким образом, операция approval блокирует весь процесс.

Чтобы получить доступ к рабочему процессу и одобрить развертывание, вы должны нажать навыполните сборку и щелкните рабочий процесс (см. ниже):

enter image description here

В рабочем процессе можно утвердить процесс:

enter image description here

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

version: 2

jobs:

  init_tag_build:
    working_directory: ~/build
    docker:
      - image: docker:git
    steps:
      - checkout
      - setup_remote_docker:
          reusable: true
          exclusive: true

      - run:
          name: Launch Build OP
          command: |
            echo "start tag workflow"

  my_deploy_job:
    working_directory: ~/build
    docker:
      - image: docker:git
    steps:
      - checkout
      - setup_remote_docker:
          reusable: true
          exclusive: true

      - run:
          name: DEPLOY BUILD
          command: |
            echo "do the deploy work"

workflows:
  version: 2
  build-and-deploy:
    jobs:

      - init_tag_build:
          filters:
            tags:
              only: /.*/
            branches:
              ignore: /.*/

      - hold:
          type: approval
          requires:
            - init_tag_build
          filters:
            tags:
              only: /.*/
            branches:
              ignore: /.*/

      - my_deploy_job:
          requires:
            - hold
          filters:
            tags:
              only: /.*/
            branches:
              ignore: /.*/
0 голосов
/ 04 июня 2018

TL; DR

В yaml вы игнорируете каждую ветку.Удалите следующую часть.

branches:
  ignore: /.*/

Вы, вероятно, намеревались строить только в том случае, если показаны теги, но вы проигнорировали все ветви.Если вы хотите построить для каждой ветви с тегами, удалите строку.Если вы хотите построить какую-то ветку (например, dev) с тегами, добавьте branches: only: dev.

Соединение между двумя спецификаторами - AND вместо OR.Существует обсуждение на форуме CircleCI, чтобы добавить функцию, чтобы изменить его на OR.

...