向默认Github Actions脚本添加依赖项



我在Azure上有一个Python web应用程序,它通过Github操作进行部署。我使用Azure部署中心创建的默认部署脚本(完整脚本如下所示(。为了让我的应用程序正常工作,我必须在每次部署后通过SSH连接到部署机器中,手动激活虚拟环境并安装无法通过pip使用的包。

有没有办法将手动安装包括在Azure为我创建的预生成部署脚本中?

这些是我在每次部署后通过SSH连接到机器时必须运行的手动命令。。。

source env/bin/activate
sudo apt-get install build-essential python3-dev python3-pip python3-setuptools python3-wheel python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info

这是我目前正在使用的部署脚本。。。

name: Build and deploy Python app to Azure Web App
on:
push:
branches:
- master
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up Python version
uses: actions/setup-python@v1
with:
python-version: '3.6'
- name: Build using AppService-Build
uses: azure/appservice-build@v2
with:
platform: python
platform-version: '3.6'
- name: 'Deploy to Azure Web App'
uses: azure/webapps-deploy@v2
with:
app-name: {{applicationname}}
slot-name: {{slotname}}
publish-profile: ${{ secrets.AzureAppService_PublishProfile_HIDDEN }}

如果你真的需要在系统中安装比默认安装的更多的程序包,你需要创建自己的docker映像,将其发布到你的私人Azure注册表中,并使用它们,如示例所示:

- uses: azure/docker-login@v1
with:
login-server: contoso.azurecr.io
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- run: |
docker build . -t contoso.azurecr.io/nodejssampleapp:${{ github.sha }}
docker push contoso.azurecr.io/nodejssampleapp:${{ github.sha }} 
- uses: azure/webapps-deploy@v2
with:
app-name: 'node-rnc'
publish-profile: ${{ secrets.azureWebAppPublishProfile }}
images: 'contoso.azurecr.io/nodejssampleapp:${{ github.sha }}'

最新更新