C# 如何通过脚本模拟用于VisualStudio的AWS Toolkit中的构建和部署功能?
我有一个带有几个不同项目的.NET解决方案。我现在通过AWS工具包设置了每一个脚本,所以我可以右键单击并点击“重新部署到AWS…”,但我想做的是创建一个脚本(可能是PowerShell?),自动构建和部署我的所有项目 我知道AWS Toolkit有一个CLI版本,名为awsdeploy.exe,但它似乎不像AWS Toolkit插件那样执行项目的编译和归档C# 如何通过脚本模拟用于VisualStudio的AWS Toolkit中的构建和部署功能?,c#,visual-studio,powershell,amazon-web-services,C#,Visual Studio,Powershell,Amazon Web Services,我有一个带有几个不同项目的.NET解决方案。我现在通过AWS工具包设置了每一个脚本,所以我可以右键单击并点击“重新部署到AWS…”,但我想做的是创建一个脚本(可能是PowerShell?),自动构建和部署我的所有项目 我知道AWS Toolkit有一个CLI版本,名为awsdeploy.exe,但它似乎不像AWS Toolkit插件那样执行项目的编译和归档 如何模仿这种行为?所以我目前正在工作中解决这个问题,并取得了部分成功。我发现,您可以使用msbuild进行打包,然后使用awsdeploy进
如何模仿这种行为?所以我目前正在工作中解决这个问题,并取得了部分成功。我发现,您可以使用msbuild进行打包,然后使用awsdeploy进行部署 例如,如果我有一个名为bas的VisualStudio解决方案,它有两个项目foo和bar,并且我想部署bar,那么我首先用msbuild打包bar msbuild bar/bar.csproj/t:Package/p:PackageLocation=barPackage.zip 这将在bar目录下创建一个包调用barPackage.zip。如果找不到它,请查看msbuild输出,因为它应该让您知道它是在哪里创建的 现在我们有了包,可以部署了。Awsdeploy需要一个配置文件。它只是一个包含形式为“key=value”的键值对的文件。在awsdeploy.exe所在的同一目录中,名为Samples\的目录中有一个示例文件 如果您使用的是visual studio,则在部署到aws时可以选择创建配置文件 更多信息: 假设我们有一个名为deployConfig.txt的配置文件,那么我们可以像这样调用awsdeploy awsdeploy/r deployConfig.txt 请注意/r用于重新部署。这假定您已经有一个正在运行的环境 如果您不想将凭证放入文件中,也可以这样做 awsdeploy/r/DAWSAccessKey=stuff/DAWSSecretKey=stuff部署 通常,我们可以通过添加/Dsomething=stuff这样的命令来指定文件中不需要的任何内容。正如您在上面看到的,指定AWSSecretKey时,我们使用/DAWSSecretKey=stuff VisualStudio生成的文件没有列出包的位置,因此我一直在做的是 awsdeploy/r/DAWSAccessKey=stuff/DAWSSecretKey=stuff/DDeploymentPackage=bar/bar.zip deployConfig.txt
这几乎适用于我。但遗憾的是,这并没有起到很好的作用。它部署了这个包,我可以看到环境试图加载它,但在某个时候失败了。我不知道为什么它无法加载它。当我从visual studio部署它时,它可以很好地加载它。这就是我们处理它的方式。所有这些都在我们的CI服务器上运行: 步骤1-使用msbuild生成web部署包: msbuild website.csproj/t:WebPublish/p:WebPublishMethod=Package /p:DesktopBuildPackageLocation=website.zip/p:Configuration=Release /p:deployiisappath=“默认网站” 步骤2-使用awsdeploy部署: awsdeploy.exe/DAWSAccessKey=**/DAWSSecretKey=**/r config.txt config.txt:
DeploymentPackage = .\website.zip
AWSProfileName = ******
Region = us-east-1
Template = ElasticBeanstalk
UploadBucket = ***********
Application.Name = ***********
Environment.Name = ***********
你能分享确切的ps1文件示例吗?我正在尝试让它运行,但awsdeploy始终给我一个关于输入语法错误的错误。这是错误:10:45:26“C:\Program Files(x86)\AWS Tools\Deployment Tool\awsdeploy.exe”-v-DApplication.Name=“”-DDeploymentPackage=“C:\\.zip”-DawsAccess Key=”