作为 Azure DevOps Pipeline 中的一个步骤(发布步骤)运行 Node.js 脚本的最简单方法是什么?
我尝试了几种方法,但似乎这并不像我希望的那么简单。我正在寻找一个通用的方法想法。
我的最后一次尝试是将脚本添加到源存储库中的tools/script.js 下。我需要在发布管道中运行它(构建后),从那里我无法直接访问存储库,因此我将整个存储库添加为第二个构建工件。现在我可以从发布代理访问脚本文件,但我还没有找到实际运行脚本的方法,通常似乎没有选项可以在代理上运行 Node.js 脚本。
最佳答案
选项 1:可视化管道编辑器
1) 创建要在构建/发布步骤中运行的脚本文件
您可以将该文件添加到您的 Azure 项目存储库,例如在 tools/script.js
下并将运行所需的任何 Node 模块添加到 package.json,例如:
npm install --save-dev <module>
提交并推送,以便您的更改处于在线状态并且 Azure 可以看到它们。
2) 将您的存储库添加为发布管道的工件
对于构建管道,您可以跳过此步骤,因为它们已经有权访问存储库。
3) 编辑您的发布管道以确保环境
添加一个步骤以确保代理上有正确的 Node 版本(Node.js 工具安装程序):
添加一个步骤来安装所有必需的 Node 模块(npm):
4) 添加 Node 脚本步骤
使用 Bash 步骤运行 Node 脚本,确保工作目录设置为项目的根目录(package.json 所在的位置):
选项 2:YAML
您有一个 script\shell 步骤,您可以在其中执行自定义命令,只需使用它即可实现目标。代理上安装了 Node ,您可能需要做的一件事是使用选择 Node 版本
步骤为您的脚本使用正确的 Node 版本
示例:
trigger:
- master
pool:
vmImage: 'Ubuntu-16.04'
steps:
- checkout: self
persistCredentials: true
clean: true
- bash: |
curl $BEDROCK_BUILD_SCRIPT > build.sh
chmod +x ./build.sh
displayName: My script download
env:
BEDROCK_BUILD_SCRIPT: https://url/yourscript.sh
- task: ShellScript@2
displayName: My script execution
inputs:
scriptPath: build.sh
关于node.js - Azure DevOps Pipelines 将 Node.js 脚本作为一个步骤运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56402780/