Как убедиться, что CircleCi игнорирует толчок к мастеру, вызванный самой CircleCi? - PullRequest
0 голосов
/ 06 февраля 2019

CircleCi запускается, когда код передается мастеру, однако CircleCi подталкивает к самосовершенствованию в скрипте запуска с именем Version Package Bump.После первой сборки запускается вторая.Но происходит сбой с сообщением:

На главном филиале Ваша ветвь обновлена ​​с «origin / master».нечего зафиксировать, рабочий каталог очищен Выход с кодом 1

Как мне убедиться, что CircleCi не запускается снова после нажатия, вызванного самим собой?

jobs:
  build:
    docker:
      - image: circleci/node:8.10.0
    branches:
      only:
        - master
    steps:
      - add_ssh_keys
      - checkout
      - run:
          name: Keyscan DreamHost (HACK)
          command: ssh-keyscan -H HOST >> ~/.ssh/known_hosts
      - run:
          name: Install Dependencies
          command: npm install
      - run:
          name: Build App
          command: npm run build
      - run:
          name: Verion Package Bump
          command: |
            git config user.name "circleci"
            git config user.email "EMAIL"
            git add .
            git commit -m "[ci] Generated Build"
            npm version patch -m "[ci] Bumped version number to %s"
            git push origin master
            git push --tags
      - deploy:
          name: Publish to DreamHost
          command: scp -r build/* HOST:./DIRECTORY/

Даже если яобернуть его в условное выражение, я все еще вижу ту же ошибку, и сборка происходит дважды:

if ! git diff-index --quiet HEAD --; then
    git config user.name "circleci"
    git config user.email "EMAIL"
    git add .
    git commit -m "[ci] Generated Build"
    npm version patch -m "[ci] Bumped version number to %s"
    git push origin master
    git push --tags
fi

1 Ответ

0 голосов
/ 06 февраля 2019

Добавьте тег [ci skip] или [skip ci] в любом месте сообщения коммита.

См. https://circleci.com/docs/2.0/skip-build/

Замените

git commit -m "[ci] Generated Build"

на

git commit -m "[ci skip] Generated Build"

или

git commit -m "Generated Build [skip ci]"
...