我目前正在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
谢谢!