Я сейчас настраиваю свою конфигурацию Circleci, чтобы попытаться развернуть промежуточную сборку для каждой новой ветви, а затем отправляю сообщение моей слабой команде со ссылкой на демонстрационную версию.
Я сделал отправку сообщения в слабую часть, но теперь CircleCI отправляет сообщение, чтобы ослабить каждый раз, когда я нажимаю. Я хотел бы ограничить это случиться только один раз для конкретной отрасли. Я знаю, что есть CIRCLE_BRANCH env, который я могу использовать для идентификации текущей ветви, но как мне сохранить эту переменную в каком-то кеше, чтобы я мог выполнить условную проверку этой переменной, чтобы избежать выполнения одной и той же команды дважды?
Я проверил документы CircleCI, и они предложили кэшировать файлы, но ничего не упомянул о сохранении переменной в качестве кэша.
Мой файл config.yml для CircleCI выглядит так:
slackMessage:
docker:
- image: circleci/node
working_directory: ~/client
steps:
- attach_workspace:
at: ~/client
# - run: echo "$CIRCLE_BRANCH" > _branch_check
# - restore_cache:
# keys:
# - pr-{{ checksum "_branch_check" }}
- run:
command: |
PR_NUMBER=${CIRCLE_PULL_REQUEST##*/}
# yolo=pr-`echo -n $CIRCLE_PULL_REQUEST | md5sum`
# if [ -f "$yolo" ]; then
# touch $yolo
curl -X POST <Slack API webhook curl url>
# fi
# - save_cache:
# key: pr-{{ checksum "_branch_check" }}
# paths:
# - pr-{{ checksum "_branch_check" }}
Комментируемые строки являются частью сохранения в кэш. С этими комментариями CircleCI будет отправлять сообщение Slack при каждом нажатии. Без комментариев ожидаемое поведение для CircleCI - посылать слабое сообщение только один раз для каждого имени ветви.