从构建中影响环境标志

时间:2018-03-05 15:15:09

标签: aurelia aurelia-cli

我有一个Aurelia CLI应用程序,它使用CLI与Gulp一起构建。我被要求启用一个功能,我们传递我们正在构建的分支的名称,并从中确定一个环境。我希望在我的gulp任务中做到这一点。我想我可以通过持续集成来实现它,但是,如果可能的话,我想从内部实现。这可能吗?

2 个答案:

答案 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)

我认识到我的解决方案超出了我所要求的观众范围。对不起。