node.js - Azure DevOps Pipelines 将 Node.js 脚本作为一个步骤运行

标签 node.js azure azure-devops

作为 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) 将您的存储库添加为发布管道的工件

对于构建管道,您可以跳过此步骤,因为它们已经有权访问存储库。

enter image description here

enter image description here

3) 编辑您的发布管道以确保环境

添加一个步骤以确保代理上有正确的 Node 版本(Node.js 工具安装程序):

enter image description here

添加一个步骤来安装所有必需的 Node 模块(npm):

enter image description here

4) 添加 Node 脚本步骤

使用 Bash 步骤运行 Node 脚本,确保工作目录设置为项目的根目录(package.json 所在的位置):

enter image description here

选项 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/

相关文章:

powershell - 如何使用 PAT 从本地 Azure Artifacts 存储库在 docker 容器中安装 powershell 模块?

node.js - 如何在循环中正确实现async或await操作-nodejs

node.js - Jenkins 管道 : select nodejs version (+ python version)

javascript - NodeJS 条件决策

azure - 类型或命名空间名称 'Diagnostics' 在命名空间 'Microsoft.WindowsAzure' 中不存在

azure - 是否有任何 Powershell 脚本或 az 命令可以获取用于 API 管理的产品及其订阅 ID 列表?

azure-devops - 在 Visual Studio Online 中创建新团队项目时出错

node.js 和 redis : is a redis store accessible across node connections?

Azure 云服务与现有 ccproj 配置文件持续集成

azure-devops - 如何将 Azure DevOps Extension for Azure CLI 与 Azure DevOps Server 一起使用?