我正在关注Firebase tutorial on Continuous Integration。
他们在他们的例子中使用travis,我选择的CI是Semaphore Co。我陷入firebase deploy --token $FIREBASE_TOKEN
阶段,因为我无法在Semaphore的任何成功后挂钩中找到触发此方法的方法。他们确实在工作之后,但它也是在失败的构建中触发的,由于这个原因,我不想使用该步骤进行部署,我希望仅在所有测试/构建通过后进行部署。
答案 0 :(得分:1)
信号量正在导出一些可用于条件执行命令的环境变量,就像使用// modules/Navlink.js
import React from 'react'
import { Link } from 'react-router'
export default class extends Link {
constructor(props) {
super(props);
props.activeClassName = 'active'
}
}
一样。
因此,如果要在作业命令之后添加,则可以检查作业的状态,如果成功,则可以执行deploy命令,否则不执行。这样的命令看起来像:
$FIREBASE_TOKEN
使用相同的系统,您可以将分支名称添加到" if"语句,并且只有当您在" master" brach和如果构建通过。有关所有可用env变量的更多信息,您可以find here /
作为替代方案,您可以检查Semaphore的构建部署系统,该系统基本上是单独的作业,在构建完成(并通过)后触发。有关您的更多信息,请参阅at official docs。