我正在使用 AWS CodeDeploy 和 codepipeline 进行部署,并且我有一个 PowerShell 脚本 (
bootstrap-base.ps1
),它将成为 ami 的一部分,驻留在 D:\scripts 中,并且我需要在执行期间更新脚本的变量部署过程。这是我的脚本的简化版本:
# bootstrap-base.ps1
$bootstrapRepository = "testcd" ;
$environment = "QA" ;
param(
[String]
$bootstrapRepository,
[ValidateSet("QA","PROD","PREPROD","TRAIN","DR","OPS", IgnoreCase = $false)]
[String]
$environment,
# Other parameters...
)
# Rest of the script...
我需要在部署过程中动态更新
$bootstrapRepository
和$environment
的值。
是否有任何选项可以使用 appspec.yaml
和 AWS CodeDeploy 来更新值,或者我是否需要采用不同的方法。
如何在 AWS CodeDeploy 部署期间更新 PowerShell 脚本变量
如果我是你,我会编写 powershell 脚本,使其可以使用变量。您可以通过这种方式使用命令行参数 -
# Access command-line arguments
$env = $args[0] -or "dev"
$ec2ip = $args[1]
Write-Host "environment: $env"
Write-Host "ec2 ip: $ec2ip"
并在我的 CICD 管道内或您想要的任何地方运行脚本 -
powershell script_name.ps1 "stage" "172.168.10.23"