gpt4 book ai didi

git - Azure Web App (linux) dotnet core 2.2 中默认部署脚本的权限问题

转载 作者:行者123 更新时间:2023-12-03 02:51:15 25 4
gpt4 key购买 nike

在适用于 dotnet core 2.2 的 Azure WebApp (linux) 中使用本地 git 部署方法,我猜测默认的 nuget 路径存在权限问题。

这是我在 bitbucket 上的部署管道

- step:
image: microsoft/dotnet
name: Deploy DataCore
script:
- git subtree split -P data-core -b split
- git push https://$BACKEND_LOGIN:$BACKEND_PASSWORD@$BACKEND_GITURL split:master --force

这是从远程返回的内容,也是部署日志的一部分:

+ git push https://$BACKEND_LOGIN:$BACKEND_PASSWORD@$BACKEND_GITURL split:master --force
remote: Deploy Async
remote: Updating branch 'master'.
remote: Updating submodules.
remote: Preparing deployment for commit id '449e740796'.
remote: Generating deployment script.
remote: Running deployment command...
remote: Handling ASP.NET Core Web Application deployment.
remote: .........................
remote: Restoring packages for /home/site/repository/data-core.csproj...
remote: .
remote: Installing NuGet.Frameworks 4.7.0.
remote: /opt/dotnet/2.2.104/sdk/2.2.104/NuGet.targets(114,5): error : Access to the path '/var/nuget/nuget.frameworks/4.7.0' is denied. [/home/site/repository/data-core.csproj]
remote: /opt/dotnet/2.2.104/sdk/2.2.104/NuGet.targets(114,5): error : Permission denied [/home/site/repository/data-core.csproj]
remote: An error has occurred during web site deployment.
remote: dotnet restore failed
remote: App container will begin restart within 10 seconds.
remote: Deployment Logs : 'https://_NAME_.scm.azurewebsites.net/newui/jsonviewer?view_url=/api/deployments/449e74079667b8ff046c75a45d4e2e251f99e4d0/log'
To https://_NAME_.scm.azurewebsites.net:443/_NAME_.git
9bfde94..449e740 split -> master

注意这两个错误

remote:   Installing NuGet.Frameworks 4.7.0.        
remote: /opt/dotnet/2.2.104/sdk/2.2.104/NuGet.targets(114,5): error : Access to the path '/var/nuget/nuget.frameworks/4.7.0' is denied. [/home/site/repository/data-core.csproj]
remote: /opt/dotnet/2.2.104/sdk/2.2.104/NuGet.targets(114,5): error : Permission denied [/home/site/repository/data-core.csproj]

此 WebApp 尚未在默认设置之外进行配置,我在其他时候也使用过此设置。所以我想知道是否有更新需要我更改某些内容。

这是我的 .csproj 文件

<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
<RootNamespace>data_core</RootNamespace>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="AutoMapper" Version="8.1.0" />
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="6.1.0" />
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.2.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.4">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="2.2.0" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.3" />
</ItemGroup>

</Project>

这里还有完整的部署日志

[{"log_time":"2019-05-07T08:41:18.5348434Z","id":"","message":"Command: \"/home/site/deployments/tools/deploy.sh\"","type":0,"details_url":null},{"log_time":"2019-05-07T08:41:18.6366309Z","id":"","message":"Handling ASP.NET Core Web Application deployment.","type":0,"details_url":null},{"log_time":"2019-05-07T08:41:47.6970957Z","id":"","message":"  Restoring packages for /home/site/repository/data-core.csproj...","type":0,"details_url":null},{"log_time":"2019-05-07T08:41:53.3146873Z","id":"","message":"  Installing NuGet.Frameworks 4.7.0.","type":0,"details_url":null},{"log_time":"2019-05-07T08:41:53.3801758Z","id":"","message":"/opt/dotnet/2.2.104/sdk/2.2.104/NuGet.targets(114,5): error : Access to the path '/var/nuget/nuget.frameworks/4.7.0' is denied. [/home/site/repository/data-core.csproj]","type":0,"details_url":null},{"log_time":"2019-05-07T08:41:53.4164253Z","id":"","message":"/opt/dotnet/2.2.104/sdk/2.2.104/NuGet.targets(114,5): error :   Permission denied [/home/site/repository/data-core.csproj]","type":0,"details_url":null},{"log_time":"2019-05-07T08:41:53.5778675Z","id":"","message":"An error has occurred during web site deployment.","type":0,"details_url":null},{"log_time":"2019-05-07T08:41:53.6091768Z","id":"","message":"dotnet restore failed","type":0,"details_url":null},{"log_time":"2019-05-07T08:41:53.6748839Z","id":"","message":"\\n/opt/Kudu/KuduConsole/Scripts/starter.sh \"/home/site/deployments/tools/deploy.sh\"","type":2,"details_url":null}]

最佳答案

此特定软件包似乎存在问题。它尝试写入全局 NuGet 文件夹,这些文件夹显然是写保护的。

<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.3" />

所以我把它删除了

关于git - Azure Web App (linux) dotnet core 2.2 中默认部署脚本的权限问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56019515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com