我熟悉如何使用VSTS设置node.js Web应用程序的持续集成。
如何为node.js webjob设置持续集成。我找到了使用Visual Studio如何使用.NET项目执行此示例的示例,但是找不到有关如何使用node.js webjob执行此操作的任何文档。
答案 0 :(得分:1)
执行以下操作:构建和通过Azure App Service Deploy
任务部署Node.js Web作业(由于IT领域的安全问题,FTP已停止。)
这是一种快速而又肮脏的方法,用于恢复我们面临的构建+发布过程,对任何其他方法都持开放态度,但是关于此特定主题的文档(如最初的问题所述)相当缺乏。
在我的项目中,所有东西(run.js + package.json +依赖项位于根级别)
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)
(发布路径)发布定义:经典的App Service Deploy使用上述构建生成的工件zip文件
答案 1 :(得分:0)
要构建您的node.js应用程序,您可以首先通过VSTS上的仓库管理您的代码(或者在其他站点上托管远程仓库,例如github,bitbucket等),然后为您的node.js创建构建定义定义webjob。详细步骤如下:
您可以将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命令。
在构建标签中 - >新 - >使用Node.JS和Gulp(PREVIEW)模板(或者你可以使用空模板,然后手动添加任务) - >获取源步骤 - >指定代码存在的repo和branch - >指定任务的设置 - >如果需要,添加其他任务 - >触发标签 - >启用持续集成。
有关node.js应用CI构建的更多详细信息,您可以参考define your CI build for node.js app。
在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。