我正在尝试为一个ASP.NET项目设置CI。在VS中定义了一个发布概要文件,它工作得很好。(我可以将页面部署到远程IIS服务器。)
我想使用GitLab实现自动化,所以我正在寻找一个相当于VS发布操作的命令行。
VS正在使用的发布概要文件可以在Properties\PublishProfiles下面找到。我这里有两份文件:
我在命令行上部署/发布的尝试:
dotnet publish /p:PublishProfile=myServer.pubxml
这将导致以下错误:
MSDEPLOY : error Code: ERROR_USER_UNAUTHORIZED [C:\Users\myUser\source\repos\Beam Time Request\BeantimeRequest\BeantimeRequest.csproj] Error : The remote server returned an error : (401) Unauthorized. [C:\Users\myUser\source\repos\Beam Time Request\BeantimeRequest\BeantimeRequest.csproj] MSDEPLOY : error count: 1. [C:\Users\myUser\source\repos\Beam Time Request\BeantimeRequest\BeantimeRequest.csproj]
这是合乎逻辑的,因为我还没有定义密码。
我可以在命令行设置密码,如下所示:
dotnet publish /p:PublishProfile=myServer.pubxml /p:password=myPassword
这是可行的,但我想避免用纯文本写密码。
那么,我如何告诉dotnet publish使用myServer.pubxml.user文件中的密码呢?
发布于 2022-02-28 12:05:06
如果有人遇到这种情况:我用一个GitLab秘密解决了这个问题,如下所示:
DEPLOY_PASSWD
https://stackoverflow.com/questions/71128287
复制相似问题