我有一个Aurelia CLI应用程序,它使用CLI与Gulp一起构建。我被要求启用一个功能,我们传递我们正在构建的分支的名称,并从中确定一个环境。我希望在我的gulp任务中做到这一点。我想我可以通过持续集成来实现它,但是,如果可能的话,我想从内部实现。这可能吗?
答案 0 :(得分:0)
您可以将任何自定义参数传递给Aurelia CLI,并从构建任务中获取它们。
说你致电au run --branch master
您可以从任务中获取值,如下所示:
import { CLIOptions } from "aurelia-cli";
const branch = CLIOptions.getFlagValue('branch')
这就是你需要的吗?
答案 1 :(得分:0)
我们使用Visual Studio Team Services进行持续集成。我在我们的定义中添加了一个Powershell Script构建步骤,根据传递的分支的名称,它将使用正确的环境名称编写变量。然后,我计划在我的定义中添加一个额外的构建步骤,仅在构建主分支时运行 - 在没有测试框架的情况下重建我的源代码。
我们用来编写变量的powershell脚本如下:
if ($env:BUILD_SOURCEBRANCHNAME -eq "qa"){
Write-Output ("##vso[task.setvariable variable=auenv]" + "stage")
}
elseif ($env:BUILD_SOURCEBRANCHNAME -eq "master")
{
Write-Output ("##vso[task.setvariable variable=auenv]" + "prod")
}
else
{
Write-Output ("##vso[task.setvariable variable=auenv]" + "dev")
}
然后,到时候使用它:
au build --env $(auenv) --version $(Build.BuildNumber) --testable
最后,我们在没有测试框架的情况下构建
au build --env $(auenv) --version $(Build.BuildNumber)
我认识到我的解决方案超出了我所要求的观众范围。对不起。