如何在 VSTS 中设置 Node.js webjob 的持续集成
How do I set up continuous integration of a Node.js webjob in VSTS
我熟悉如何使用 VSTS 设置 node.js Web 应用程序的持续集成。
如何为 node.js 网络作业设置持续集成。我找到了如何使用 Visual Studio 对 .NET 项目执行此操作的示例,但是找不到任何有关如何使用 node.js webjob 执行此操作的文档。
要 CI 构建您的 node.js 应用程序,您可以首先通过 VSTS 上的存储库管理您的代码(或托管在其他站点(例如 github、bitbucket 等上的远程存储库) ),然后为您的 node.js 网络作业创建构建定义定义。详细步骤如下:
1。通过 VSTS 存储库(git 或 TFVC)管理代码
您可以将您的 node.js 应用程序管理到您使用的当前存储库,或者您可以创建一个新的存储库来管理您的 node.js 应用程序。新建一个git repo(我用的是git repo,和TFVC类似),可以参考create a git repo for team project.
将您的 node.js 代码推送到 VSTS 存储库。您可以使用 VS(克隆存储库 -> 将代码复制到本地存储库 -> 提交 -> 推送)或直接使用 git 命令。
2。创建CI构建
在 Builds 选项卡 -> New -> 使用 Node.JS With Gulp (PREVIEW) 模板(或者你可以使用空模板然后手动添加任务) -> Get sources 步骤 ->指定您的代码存在的 repo 和分支 -> 指定任务设置 -> 如果需要,添加其他任务 -> 触发器选项卡 -> 启用持续集成。
node.js 应用程序 CI 构建的更多详细信息,您可以参考 define your CI build for node.js app。
3。在 Azure webjobs
中添加你的应用程序
在 CI 构建定义中,添加以下任务:
复制文件任务: 将您想要 运行 在 Azure webjobs 上的应用程序从 $(System.DefaultWorkingDirectory)
复制到 $(Build.ArtifactStagingDirectory)
.
存档文件任务: 从 $(Build.ArtifactStagingDirectory)
.[=19= 中的文件创建一个 zip 文件(例如 $(Build.ArtifactStagingDirectory)/webjob.zip
) ]
Azure 应用服务部署任务:将您的 zip 文件 ($(Build.ArtifactStagingDirectory)/webjob.zip
) 部署到 Azure。
还有更多的细节,你也可以参考this thread。
完成以下操作:构建 + 通过 Azure App Service Deploy
任务部署 nodejs webjob(FTP 由于我们 IT 环境中的安全问题而停止)。
这是一种快速而肮脏的方法,用于恢复我们处于危险之中的构建 + 发布过程,对任何其他方法持开放态度,但关于这个特定主题的文档(如最初的问题所述)相当不存在。
在我的项目中,所有东西(run.js + package.json + 依赖项都在根级别)
构建定义
- 获取资源
- powershell 脚本内联(清理目标文件夹、创建目标文件夹、将根文件夹移动到 webjob 结构)
Remove-Item -Path $(Build.BinariesDirectory)\app_data -Force -Confirm:$false -Recurse -ErrorAction:Ignore
New-Item $(Build.BinariesDirectory)\app_data\jobs\continuous\ -ItemType Directory -Force
Move-Item $(Build.SourcesDirectory)\[webjobname]\ $(Build.BinariesDirectory)\app_data\jobs\continuous\[webjobname] -Force
npm install
在 $(Build.BinariesDirectory)\app_data\jobs\continuous\[webjobname]
(工作文件夹)
中
存档任务$(Build.BinariesDirectory)
- 发布工件
$(Build.ArtifactStagingDirectory)
(发布路径)
版本定义:经典应用服务部署使用上述构建生成的工件 zip 文件
我熟悉如何使用 VSTS 设置 node.js Web 应用程序的持续集成。
如何为 node.js 网络作业设置持续集成。我找到了如何使用 Visual Studio 对 .NET 项目执行此操作的示例,但是找不到任何有关如何使用 node.js webjob 执行此操作的文档。
要 CI 构建您的 node.js 应用程序,您可以首先通过 VSTS 上的存储库管理您的代码(或托管在其他站点(例如 github、bitbucket 等上的远程存储库) ),然后为您的 node.js 网络作业创建构建定义定义。详细步骤如下:
1。通过 VSTS 存储库(git 或 TFVC)管理代码
您可以将您的 node.js 应用程序管理到您使用的当前存储库,或者您可以创建一个新的存储库来管理您的 node.js 应用程序。新建一个git repo(我用的是git repo,和TFVC类似),可以参考create a git repo for team project.
将您的 node.js 代码推送到 VSTS 存储库。您可以使用 VS(克隆存储库 -> 将代码复制到本地存储库 -> 提交 -> 推送)或直接使用 git 命令。
2。创建CI构建
在 Builds 选项卡 -> New -> 使用 Node.JS With Gulp (PREVIEW) 模板(或者你可以使用空模板然后手动添加任务) -> Get sources 步骤 ->指定您的代码存在的 repo 和分支 -> 指定任务设置 -> 如果需要,添加其他任务 -> 触发器选项卡 -> 启用持续集成。
node.js 应用程序 CI 构建的更多详细信息,您可以参考 define your CI build for node.js app。
3。在 Azure webjobs
中添加你的应用程序在 CI 构建定义中,添加以下任务:
复制文件任务: 将您想要 运行 在 Azure webjobs 上的应用程序从
$(System.DefaultWorkingDirectory)
复制到$(Build.ArtifactStagingDirectory)
.存档文件任务: 从
$(Build.ArtifactStagingDirectory)
.[=19= 中的文件创建一个 zip 文件(例如$(Build.ArtifactStagingDirectory)/webjob.zip
) ]Azure 应用服务部署任务:将您的 zip 文件 (
$(Build.ArtifactStagingDirectory)/webjob.zip
) 部署到 Azure。
还有更多的细节,你也可以参考this thread。
完成以下操作:构建 + 通过 Azure App Service Deploy
任务部署 nodejs webjob(FTP 由于我们 IT 环境中的安全问题而停止)。
这是一种快速而肮脏的方法,用于恢复我们处于危险之中的构建 + 发布过程,对任何其他方法持开放态度,但关于这个特定主题的文档(如最初的问题所述)相当不存在。
在我的项目中,所有东西(run.js + package.json + 依赖项都在根级别)
构建定义
- 获取资源
- powershell 脚本内联(清理目标文件夹、创建目标文件夹、将根文件夹移动到 webjob 结构)
Remove-Item -Path $(Build.BinariesDirectory)\app_data -Force -Confirm:$false -Recurse -ErrorAction:Ignore New-Item $(Build.BinariesDirectory)\app_data\jobs\continuous\ -ItemType Directory -Force Move-Item $(Build.SourcesDirectory)\[webjobname]\ $(Build.BinariesDirectory)\app_data\jobs\continuous\[webjobname] -Force
npm install
在$(Build.BinariesDirectory)\app_data\jobs\continuous\[webjobname]
(工作文件夹) 中
存档任务
$(Build.BinariesDirectory)
- 发布工件
$(Build.ArtifactStagingDirectory)
(发布路径)
版本定义:经典应用服务部署使用上述构建生成的工件 zip 文件