gpt4 book ai didi

Jenkins 无法访问共享文件夹

转载 作者:行者123 更新时间:2023-12-04 18:25:25 25 4
gpt4 key购买 nike

我有一个 ASP.Net 应用程序。我想部署到远程 Windows 机器。我有一个共享 wwwroot文件夹。从 cmd 部署使用以下命令

c:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe" "C:\path_to_project" /p:SolutionDir="path_to_solution_dir" /p:DeployOnBuild=true /p:Configuration=Release /p:PublishProfile="Profile.pubxml"

配置文件如下所示
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<publishUrl>\\<ip_address>\wwwroot</publishUrl>
<DeleteExistingFiles>True</DeleteExistingFiles>
</PropertyGroup>
</Project>

从命令行它工作正常。但是当我使用 Batch 插件将同样的东西放入 Jenkins 管道脚本时,我得到了下一个错误
error MSB3191: Unable to create directory "\\<ip_address>\wwwroot". 
Could not find a part of the path '\\<ip_address>\wwwroot'

Jenkins 有什么问题?配置设置有问题吗?也许我需要更改部署方法?

最佳答案

早在 2015/16 年就完全解决了这种方法。

这是我的设置:

  • 在要部署到远程(从 Jenkins 主站的角度)IIS 站点的 Web 项目上发布每个目标环境的配置文件。
  • 每个目标环境的 Web.config 转换文件
  • Web Deploy 3.6 安装在目标 IIS 机器上。
  • 确保我得到“绿色勾号”以证明发布配置文件中的连接性。 (请注意,您可能需要重新安装 Web Deploy 才能使其正常工作。出于某种原因,Web Deploy 第一次无法正确安装)
  • 对配置文件名称、IIS 站点名称和 AppPool 名称有严格的命名标准,因此一切都匹配。
  • 我做了 5,所以我可以将参数从 Jenkins Windows Batch 步骤(在我完全迁移到 2018 年 1 月开始的当前角色的管道之前这是一项自由式工作)到我写的两个 DOS 批处理脚本

    a) 远程控制目标 IIS(启动/停止站点和 AppPools)

    b) 通过发布配置文件和 MSBuild /p:DeployOnBuild 在重新部署 MSBuild 之前远程删除站点的当前内容.

  • 我利用 PSExec 来实现“远程”功能,并将其称为 DOS 批处理脚本的一部分。

    我相信您可以使用 Powershell 实现相同的目标,但原理是相同的。

    关于 Jenkins 无法访问共享文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50328572/

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