如何在VSTS

时间:2017-07-03 20:59:25

标签: node.js azure-devops azure-web-sites azure-pipelines azure-pipelines-release-pipeline

我熟悉如何使用VSTS设置node.js Web应用程序的持续集成。

如何为node.js webjob设置持续集成。我找到了使用Visual Studio如何使用.NET项目执行此示例的示例,但是找不到有关如何使用node.js webjob执行此操作的任何文档。

2 个答案:

答案 0 :(得分:1)

执行以下操作:构建和通过Azure App Service Deploy任务部署Node.js Web作业(由于IT领域的安全问题,FTP已停止。)

这是一种快速而又肮脏的方法,用于恢复我们面临的构建+发布过程,对任何其他方法都持开放态度,但是关于此特定主题的文档(如最初的问题所述)相当缺乏。

在我的项目中,所有东西(run.js + package.json +依赖项位于根级别)

内部定义 enter image description here

  1. 获取资源
  2. 内联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(工作文件夹)内的
  1. $(Build.BinariesDirectory)\app_data\jobs\continuous\[webjobname]

  2. 归档任务$(Build.BinariesDirectory)

  3. 发布工件$(Build.ArtifactStagingDirectory)(发布路径)

发布定义:经典的App Service Deploy使用上述构建生成的工件zip文件

答案 1 :(得分:0)

要构建您的node.js应用程序,您可以首先通过VSTS上的仓库管理您的代码(或者在其他站点上托管远程仓库,例如github,bitbucket等),然后为您的node.js创建构建定义定义webjob。详细步骤如下:

1。通过VSTS repo(git或TFVC)管理代码

您可以将node.js应用程序管理为您使用的当前仓库,也可以创建新的仓库来管理您的node.js应用程序。创建一个新的git repo(我使用git repo作为例子,类似于TFVC),你可以参考create a git repo for team project

将node.js代码推送到VSTS repo。您可以直接使用VS(克隆repo - >在本地repo中复制代码 - > gt; commit - > push)或git命令。

2。创建CI构建

在构建标签中 - >新 - >使用Node.JS和Gulp(PREVIEW)模板(或者你可以使用空模板,然后手动添加任务) - >获取源步骤 - >指定代码存在的repo和branch - >指定任务的设置 - >如果需要,添加其他任务 - >触发标签 - >启用持续集成。 enter image description here

有关node.js应用CI构建的更多详细信息,您可以参考define your CI build for node.js app

3。在Azure webjobs中添加您的应用

在CI构建定义中,添加以下任务:

  • 复制文件任务:将要在Azure网络营销上运行的应用从$(System.DefaultWorkingDirectory)复制到$(Build.ArtifactStagingDirectory)

  • 存档文件任务:$(Build.ArtifactStagingDirectory)/webjob.zip中的文件创建一个zip文件(例如$(Build.ArtifactStagingDirectory))。

  • Azure App Service Deploy任务:将您的zip文件($(Build.ArtifactStagingDirectory)/webjob.zip)部署到Azure。

更多细节,您也可以参考this thread