我尝试在Python 3.4上部署运行Flask的Azure App Service。当我从Visual Studio(2015)中通过Web Deploy进行部署时,一切都运行良好。但是,当我尝试使用MSBuild步骤从我的CI / CD服务器(Windows Server 2012 R2上的TeamCity 10.0.3)进行部署时,部署成功没有错误,但我的应用程序显然缺少一些关键组件,只是抛出HTTP错误每个请求(我的日志记录都无法捕获实际错误,因为此时应用程序显然完全被清除)。我正在使用Web Deploy从此TeamCity实例部署大量C#应用程序。我的构建包含以下步骤:
命令行运行器 - 复制发布配置文件(因为msdeploy在〜/ __配置文件中查找它有一些未知原因,我找不到要更改的标志或配置设置):
mkdir __profiles
copy *.pubxml __profiles
命令行运行器 - 在顶级文件夹中创建venv:
c:\python34\python.exe -m venv env
命令行运行器 - 从requirements.txt安装:
env\scripts\pip install -r requirements.txt
Powershell Runner - 停止Azure App服务
MSBuild Runner - Deploy(构建文件路径指向.pyproj文件):
/p:DeployOnBuild=true
/p:PublishProfile="My Publish Profile"
/p:Configuration=Release
/p:AllowUntrustedCertificate=True
/p:UserName=%WebDeployUserName%
/p:Password=%WebDeployPassword%
Powershell Runner - 启动Azure App服务