CI 用于将未编译的文件热交换到 VSO 和 Octopus 管道
CI for hotswapping non-compiled files into VSO and Octopus pipeline
上下文:
目前我们手动获取一个 git dev 分支内置到 VSO 的包中,一旦构建了该包,它就会部署到 Octopus 并在很长一段时间内关闭该站点,因为所有构建的包被加载到网站所在的每台服务器上......但是,老实说,很多错误修复最终都在 js 文件中,可以很容易地热插拔......而且不得不等待可怜的人真是太烦人了OP 和支持完成所有这一切只是为了一个小小的改变。
白日梦:
我想设置CI允许js、css、cshtml、html文件到VSO和Octopus的热交换...这个将允许快速发布 javascript 文件中的小改动,无需部署...
...还有另一个允许我说的选项,"look, i've changed some csharp files so i need a built package to be pushed up into VSO and Octopus"。如果愿意,可以手动重建。
问题:
我在 Google 中缺少搜索这个的词汇,想知道你们是否可以帮助我设置它。
您可以只将修改后的文件(保留文件夹结构)包含在包中,然后将此包推送到八达通服务器并使用此包进行部署,然后必要的文件将被替换。
我的IIS部署流程:
- 具有监听触手模式的新部署目标
- 为 Octopus 项目添加 Deploy to IIS 过程模板
- 在 Process
的 Configure Features window 中启用自定义安装目录功能
- 正在指定自定义安装目录路径
构建任务:
- 添加复制文件任务以复制必要的文件(例如 js)
- 添加打包应用程序任务打包这些文件(保留文件夹结构)
- 八达通任务添加推送包
- 添加创建八达通发行任务
另一方面,您可以将所有已发布的文件包含到包中(使用文件系统发布进行测试),然后使用该包进行部署,Octopus 可以比较文件并仅替换修改后的文件({webapp}.dll 将也被替换,检查目标服务器上的创建、修改时间)
关于在构建过程中获取更改的文件,您可以调用Get commit with Changed items REST API, then create/modify the build variable (e.g. depAll) through Logging Command (e.g. PS: Write-Host "##vso[task.setvariable variable=depAll];]Yes") per to the changed files result, then using this variable in task condition (Control Options of each task) to determine which tasks need to be run. Specify conditions for running a task
上下文:
目前我们手动获取一个 git dev 分支内置到 VSO 的包中,一旦构建了该包,它就会部署到 Octopus 并在很长一段时间内关闭该站点,因为所有构建的包被加载到网站所在的每台服务器上......但是,老实说,很多错误修复最终都在 js 文件中,可以很容易地热插拔......而且不得不等待可怜的人真是太烦人了OP 和支持完成所有这一切只是为了一个小小的改变。
白日梦:
我想设置CI允许js、css、cshtml、html文件到VSO和Octopus的热交换...这个将允许快速发布 javascript 文件中的小改动,无需部署...
...还有另一个允许我说的选项,"look, i've changed some csharp files so i need a built package to be pushed up into VSO and Octopus"。如果愿意,可以手动重建。
问题:
我在 Google 中缺少搜索这个的词汇,想知道你们是否可以帮助我设置它。
您可以只将修改后的文件(保留文件夹结构)包含在包中,然后将此包推送到八达通服务器并使用此包进行部署,然后必要的文件将被替换。
我的IIS部署流程:
- 具有监听触手模式的新部署目标
- 为 Octopus 项目添加 Deploy to IIS 过程模板
- 在 Process 的 Configure Features window 中启用自定义安装目录功能
- 正在指定自定义安装目录路径
构建任务:
- 添加复制文件任务以复制必要的文件(例如 js)
- 添加打包应用程序任务打包这些文件(保留文件夹结构)
- 八达通任务添加推送包
- 添加创建八达通发行任务
另一方面,您可以将所有已发布的文件包含到包中(使用文件系统发布进行测试),然后使用该包进行部署,Octopus 可以比较文件并仅替换修改后的文件({webapp}.dll 将也被替换,检查目标服务器上的创建、修改时间)
关于在构建过程中获取更改的文件,您可以调用Get commit with Changed items REST API, then create/modify the build variable (e.g. depAll) through Logging Command (e.g. PS: Write-Host "##vso[task.setvariable variable=depAll];]Yes") per to the changed files result, then using this variable in task condition (Control Options of each task) to determine which tasks need to be run. Specify conditions for running a task