代码之家  ›  专栏  ›  技术社区  ›  Imran Sh

如何在Linux Azure应用程序服务上安装数据包

  •  0
  • Imran Sh  · 技术社区  · 4 年前

    我想在具有特定库(例如ibnss3-dev)的Linux应用程序服务上运行我的.net 5应用程序。

    我有要构建的管道:

    trigger:
    - main
    
    pool:
      vmImage: ubuntu-20.04
    
    variables:
      buildConfiguration: 'Release'
      wwwrootDir: 'Web/wwwroot'
      dotnetSdkVersion: '5.0.x'
    
    - script: |
        sudo apt-get update
        sudo apt-get install -y libnss3-dev
      displayName: 'Dep install'
    
    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)

    我该怎么做?我尝试了以下解决方案,但都不起作用:

    1. 使用sudo发布后期部署操作(kuduPostDeploymentScript.sh:sudo:未找到)
    2. 在没有sudo的情况下发布部署后操作([error]E:List directory/var/lib/apt/lists/partial丢失。-获取(13:拒绝权限))
    3. 在管道中添加脚本步骤

    我可以通过ssh手动运行install命令,但我正在寻找一种自动化的方法。

    apt-get update
    apt-get install -y libnss3-dev
    
    0 回复  |  直到 4 年前
        1
  •  1
  •   Krzysztof Madej    4 年前

    请检查这个问题。正如您已经发现的,您应该替换您的命令 "dotnet web.dll" 使用sh脚本,首先安装依赖项,然后使用dotnet CLI运行web.dll。