如何使用 TeamCity 发布 .Net Core lambda 函数

Aym*_*ric 2 teamcity .net-core aws-lambda

我正在研究一个 .Net Core 解决方案,其中我们刚刚添加了 .Net Core lambdas。新创建的 lambda 都已设置,包括 aws-lambda-tools.json。

我剩下要做的就是使用 TeamCity 自动发布这些 lambda。(解决方案的其余部分已经在 TC 上设置了持续部署)
此外,我不想每次添加新的 Lambda 时都更新 TC 构建步骤。

如何设置 TC 以自动发布所有 lambda?
我应该使用 .Net CLI 还是有任何插件可以帮助我配置这一步?

Aym*_*ric 7

最后,我在解决方案的根目录选择了一个非常简单的 powershell 脚本,它部署了所有设置了 aws-lambda-tools-defaults 的项目:

$lambdaProfile = "aws-lambda-tools-defaults.json"

$solutionFolder = (Get-Item -Path ".\" -Verbose).FullName;
$lambdaFolders = Get-ChildItem -Path $solutionFolder -File -Recurse aws-lambda-tools-defaults*.json | ForEach-Object {$_.DirectoryName } | Select-Object  -uniq

forEach ($lambdaFolder in $lambdaFolders)
{
    Write-Output "Deploying following lambda: $lambdaFolder"
    Write-Output "with profile: $lambdaProfile"
    Set-Location $lambdaFolder
    dotnet lambda deploy-function -cfg $lambdaProfile
    Set-Location $solutionFolder
}
Run Code Online (Sandbox Code Playgroud)

然后只需在 TeamCity 的特定构建步骤中执行此脚本,