Запуск развертывания Firebase после успешного процесса Semaphore CI

Я следую учебному пособию по непрерывной интеграции Firebase.

Они используют Трэвиса в своем примере, мой выбор CI - Semaphore Co. Я застрял в firebase deploy --token $FIREBASE_TOKEN шаг, так как я не могу найти способ вызвать это в любом виде ловушки после успеха в семафоре. Они есть после выполнения задания, но оно также запускается на неудачных сборках, поэтому я не хочу развертывать с использованием этого шага, я хочу развертывать только после того, как все тесты / сборки пройдены.

1 ответ

Решение

Семафор экспортирует несколько переменных среды, которые вы можете использовать для условного выполнения команд, так же, как вы делаете с $FIREBASE_TOKEN,

Поэтому, если вы хотите добавить команду после задания, вы можете проверить состояние задания, и, если оно выполнено успешно, вы можете выполнить команду развертывания, в противном случае - нет. Такая команда должна выглядеть так:

if [ "$SEMAPHORE_THREAD_RESULT" = "passed" ]; then firebase deploy --token $FIREBASE_TOKEN ; fi

В той же системе вы можете добавить имя ветки в оператор if и инициировать развертывание только в том случае, если вы, например, в "главном" брахе и если сборка пройдена. Более подробную информацию обо всех доступных переменных env вы можете найти здесь/

В качестве альтернативы вы можете проверить систему развертывания сборки Semaphore, которая в основном является отдельной работой, которая запускается после того, как сборка завершена (и пройдена). Более подробную информацию об этом вы можете найти в официальных документах.

Другие вопросы по тегам