Actualmente estoy configurando una canalización de CI/CD en Azure Devops para implementar una aplicación NodeJS en un servicio de aplicaciones alojadas en Linux (no en una máquina virtual).
Mi compilación e implementación funcionan sin problemas, PERO necesito asegurarme de que algunos paquetes estén instalados en el entorno después de que se haya implementado la aplicación.
El problema es: cualquiera que sea el script apt-get que cree después de la implementación, tengo que ejecutarlo manualmente para que realmente surta efecto. Sin embargo, en el registro de Pipeline parece que se han ejecutado.
Aquí está la parte de mi código yaml responsable de la implementación, ¿me perdí algo?
- 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 dependenciesGracias !
Por ahora, fui con un archivo "startup.sh" que ejecuto manualmente después de cada implementación. Sin embargo, pasaré por la ventana acoplable más tarde