Appveyor:在每个受影响的环境上部署后运行命令

时间:2019-03-15 07:44:50

标签: c# entity-framework entity-framework-6 appveyor

我的公司最近从对Entity Framework数据库的自动迁移切换到现在依靠正在运行的命令来迁移并随后为数据库添加种子。 我们希望它在通过Appveyor部署到的每个环境的数据库上运行,因此当推送到指定分支时,Appveyor会在部署完成后在每个环境上构建,部署并运行migration and seed命令。

我们通常将所有构建和部署配置放在yaml文件中,但是在环境本身上部署之后,似乎没有任何方法可以运行命令。 yaml脚本命令after_deploy在构建过程(而不是环境)中运行命令。

Appveyor环境的设置After deployment command似乎是关键,但是需要在服务器端允许使用“ runCommand”提供程序。这样做的原因是可以理解的,但是我该如何设置呢?

我发现的指南并没有提供任何帮助。 SO上没有适用的方法,Appveyor在部署过程中将其打印为错误的Microsoft链接不再准确。

1 个答案:

答案 0 :(得分:1)

由于环境部署是在共享工作服务器上运行的,因此不允许自定义脚本。但是您可以尝试使用deployment project方法。这将您的项目分为“主项目”和“ deploymnet项目”,从而模拟了部署环境,从而使构建和部署脱钩。

假设您要部署到Azure,则可以使用我的同事写的this script在服务器上运行命令。

如果您不打算部署到Azure,则可以切换到AppVeyor deployment agent,它在后台使用Web部署。