【发布时间】:2021-03-01 09:38:40
【问题描述】:
我在 Azure 上有一个 Django Web 应用程序。我正在使用 Azure 的内置持续部署,因此我的仓库中没有任何 .deployment 文件。
但是,为了让我的应用程序正常工作,我必须手动安装几个无法通过 pip 获得的包。因此,每次部署后,我都必须通过 SSH 进入部署并执行以下 2 个命令:
source home/site/wwwroot/pythonenv3.6/bin/activate
sudo apt-get install XXX XXX XXX
我相信我可以通过部署后脚本简单地执行此操作,但我很难找到任何解释确切如何执行此操作的文献。使用部署后脚本是最好的方法吗?如果可能,我宁愿不管理自定义 docker 文件。
更新 这是我手动运行 apt-get 命令后安装的软件包的屏幕截图:
所以除非有办法从部署后脚本运行此命令(并让它正确执行),否则我唯一的选择是创建一个自定义容器? 考虑到这是一个很小的定制,我并不热衷于这样做......但我可能不再有选择?
更新 我尝试在 Azure 中将“apt-get install XXX XXX”添加到“PRE_BUILD_COMMAND”... 结果收到以下消息:
是否有任何想法如何使用 prebuild 或 post build 命令绕过此消息?
【问题讨论】:
-
请尝试使用
apt-get update和apt-get install g++,更多详情请阅读stackoverflow.com/questions/64640016/… -
如果它有效,请告诉我,如果您需要进一步的帮助,您需要创建一个没有任何机密信息的示例代码。
-
每次新部署后我是否还需要运行这些行?我正在尝试找到一个解决方案,让我可以自动执行这些命令,这样我就不必在每次部署后重新运行它们。
-
This document引入了.bat、ps1等格式的文件,文件中的命令可以在重新部署时执行。
-
我会尝试使用
apt-get install xxx并使用 redeploy 来检查环境。 stackoverflow.com/questions/64640016/…
标签: python bash ssh deployment azure-web-app-service