0

语境:

目前,我们手动将 git dev 分支构建到 VSO 的包中,一旦构建了该包,它就会部署到 Octopus 并在很长一段时间内关闭站点,因为所有构建的包都加载到站点所在的每个服务器中...但是,老实说,很多错误修复最终都在 js 文件中,这些文件可以很容易地被热交换......而且不得不等待糟糕的 OP 和支持来完成所有这些工作真是太烦人了为了一点点零钱。

白日梦:

我想设置允许将 js、css、cshtml、html 文件热交换到 VSO 和 Octopus 的 CI...这将允许快速发布 javascript 文件中的微小更改而无需部署...

...并且还有另一个选项可以让我说,“看,我已经更改了一些 csharp 文件,所以我需要一个构建包来推送到 VSO 和 Octopus 中”。如果愿意,可以手动重建。

问题:

我错过了在谷歌中搜索这个的词汇,想知道你们是否可以帮助我设置它。

4

1 回答 1

0

您可以将修改后的文件(保留文件夹结构)包含在包中,然后将此包推送到八达通服务器并使用此包进行部署,然后将替换必要的文件。

我的 IIS 部署工作流程:

  1. 具有侦听触手模式的新部署目标
  2. 为 Octopus 项目添加 Deploy to IIS 流程模板
  3. 在进程的配置功能窗口中启用自定义安装目录功能
  4. 在进程中指定自定义安装目录路径

构建任务:

  1. 添加复制文件任务以复制必要的文件(例如 js)
  2. 添加打包应用程序任务以打包这些文件(保留文件夹结构)
  3. 将推送包添加到 Octopus 任务
  4. 添加创建八达通发布任务

另一方面,您可以将所有已发布的文件包含到包中(使用文件系统发布测试),然后使用该包进行部署,八达通可以比较文件并替换修改后的文件({webapp}.dll 也将被替换,检查目标服务器上的创建、修改时间)

关于在构建期间获取更改的文件,您可以使用 Changed items REST API 调用 Get commit ,然后通过Logging 命令创建/修改构建变量(例如 depAll)(例如 PS:Write-Host "##vso[task.setvariable variable=depAll ];]Yes") 根据更改的文件结果,然后在任务条件(每个任务的控制选项)中使用此变量来确定需要运行哪些任务。指定运行任务的条件

于 2018-03-23T07:35:15.627 回答