0

我正在关注关于持续集成的 Firebase 教程

他们在他们的例子中使用了 travis,我选择的 CI 是Semaphore Co。我被困在了firebase deploy --token $FIREBASE_TOKEN一步,因为我似乎无法在 Semaphore 中的任何类型的成功后挂钩中找到一种方法来触发它。他们确实有后续工作,但它也会在构建失败时触发,因此,我不想使用该步骤进行部署,我只想在所有测试/构建通过后进行部署。

4

1 回答 1

1

Semaphore 正在导出一些环境变量,您可以将它们用于有条件地执行命令,就像您使用$FIREBASE_TOKEN.

所以如果你想在job命令之后添加,你可以检查job的状态,如果成功就可以执行deploy命令,否则不行。这样的命令看起来像:

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

使用相同的系统,您可以将分支名称添加到“if”语句中,并且仅当您在“master”分支上并且构建通过时才触发部署。您可以在此处找到有关所有可用环境变量的更多信息/

作为替代方案,您可以检查 Semaphore 的构建部署系统,它基本上是在构建完成(并通过)后触发的单独作业。您可以在官方文档中找到更多信息。

于 2016-10-10T06:33:37.113 回答