Azure Linux 应用服务:从 Devops 管道部署后安装包
Azure Linux App Service : Installing packages after deploy from Devops pipeline
我目前正在 Azure Devops 中设置 CI/CD 管道,以在 linux 托管应用服务(而非虚拟机)上部署 NodeJS 应用。
我的构建和部署都很顺利,但我需要确保在部署应用程序后在环境中安装了一些包。
问题是:无论我在部署后创建什么 apt-get
脚本,我都必须 运行 然后手动才能使它们真正生效。不过,在管道日志中,它们似乎已被执行。
这是我负责部署的 yaml 代码部分,我是不是漏掉了什么?
- stage: Deploy
displayName: Deploy stage
dependsOn: Build
condition: succeeded()
jobs:
- deployment: Deploy
displayName: Deploy
environment: $(environmentName)
pool:
vmImage: $(vmImageName)
workspace:
clean: all
strategy:
runOnce:
deploy:
steps:
- task: AzureWebApp@1
displayName: 'Azure Web App Deploy:'
inputs:
azureSubscription: $(azureSubscription)
appType: webAppLinux
appName: $(webAppName)
runtimeStack: 'NODE|16-lts'
package: $(Pipeline.Workspace)/drop/drop$(Build.BuildNumber).zip
startUpCommand: 'pm2 start index.js --no-daemon'
on:
success:
steps:
- script: sudo apt-get update
displayName: apt update
- script: sudo apt-get -y [SOME LIBS]
displayName: try install dependencies
谢谢!
目前,我在每次部署后手动 运行 使用“startup.sh”文件。不过 docker 稍后会通过
我目前正在 Azure Devops 中设置 CI/CD 管道,以在 linux 托管应用服务(而非虚拟机)上部署 NodeJS 应用。
我的构建和部署都很顺利,但我需要确保在部署应用程序后在环境中安装了一些包。
问题是:无论我在部署后创建什么 apt-get
脚本,我都必须 运行 然后手动才能使它们真正生效。不过,在管道日志中,它们似乎已被执行。
这是我负责部署的 yaml 代码部分,我是不是漏掉了什么?
- stage: Deploy
displayName: Deploy stage
dependsOn: Build
condition: succeeded()
jobs:
- deployment: Deploy
displayName: Deploy
environment: $(environmentName)
pool:
vmImage: $(vmImageName)
workspace:
clean: all
strategy:
runOnce:
deploy:
steps:
- task: AzureWebApp@1
displayName: 'Azure Web App Deploy:'
inputs:
azureSubscription: $(azureSubscription)
appType: webAppLinux
appName: $(webAppName)
runtimeStack: 'NODE|16-lts'
package: $(Pipeline.Workspace)/drop/drop$(Build.BuildNumber).zip
startUpCommand: 'pm2 start index.js --no-daemon'
on:
success:
steps:
- script: sudo apt-get update
displayName: apt update
- script: sudo apt-get -y [SOME LIBS]
displayName: try install dependencies
谢谢!
目前,我在每次部署后手动 运行 使用“startup.sh”文件。不过 docker 稍后会通过