Как установить пакет в Linux Azure App Service
Я хочу запустить свое приложение .net 5 в службе приложений Linux, в которой есть определенные библиотеки (например, ibnss3-dev).
У меня есть конвейер для сборки:
trigger:
- main
pool:
vmImage: ubuntu-20.04
variables:
buildConfiguration: 'Release'
wwwrootDir: 'Web/wwwroot'
dotnetSdkVersion: '5.0.x'
steps:
- task: UseDotNet@2
displayName: 'Use .NET Core SDK $(dotnetSdkVersion)'
inputs:
version: '$(dotnetSdkVersion)'
- script: 'echo "$(Build.DefinitionName), $(Build.BuildId), $(Build.BuildNumber)" > buildinfo.txt'
displayName: 'Write build info'
workingDirectory: $(wwwrootDir)
- task: DotNetCoreCLI@2
displayName: 'Restore project dependencies'
inputs:
command: 'restore'
projects: '**/Web.csproj'
- task: DotNetCoreCLI@2
displayName: 'Build the project - $(buildConfiguration)'
inputs:
command: 'build'
arguments: '--no-restore --configuration $(buildConfiguration)'
projects: '**/Web.csproj'
- task: DotNetCoreCLI@2
displayName: 'Publish the project - $(buildConfiguration)'
inputs:
command: 'publish'
projects: '**/Web.csproj'
publishWebProjects: false
arguments: '--no-build --configuration Release --output $(Build.ArtifactStagingDirectory)/Release'
zipAfterPublish: true
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
condition: succeeded()
И выпуск с развертыванием службы приложений Azure (версия задачи 4)
как мне это сделать? Я пробовал следующие решения, но ни одно из них не работает:
- Освободить действие после развертывания с помощью sudo (kuduPostDeploymentScript.sh: sudo: not found)
- Выпустить действие после развертывания без sudo ([ошибка]E: отсутствует каталог / var / lib / apt / lists / partial. - Получить (13: доступ запрещен))
Я могу запустить команду установки вручную через ssh, но я ищу автоматизированный метод.
apt-get update
apt-get install -y libnss3-dev
1 ответ
Решение
Пожалуйста, добавьте это вверху ваших шагов:
- script: |
sudo apt-get update
sudo apt-get install -y libnss3-dev
displayName: 'Dep install'