首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Azure管道上使用pnpm?

如何在Azure管道上使用pnpm?
EN

Stack Overflow用户
提问于 2022-07-26 02:59:24
回答 1查看 752关注 0票数 1

在我的Nextjs项目中,我想使用Azure管道创建一个管道。但是我的项目使用pnpm包管理器。我读过pnpm文档,其中只有Travis、信号量、AppVeyor、GitHub操作、Gitlab CI和Bitbucket管道。没有Azure管道文件。

有人知道如何实现这一点吗?

EN

回答 1

Stack Overflow用户

发布于 2022-07-26 02:59:24

我已经在Azure管道中创建了我自己的管道配方。

任何反馈都是有用的。

对于Nextjs

azure-pipelines.yml

代码语言:javascript
运行
复制
variables:
  pnpm_config_cache: $(Pipeline.Workspace)/.pnpm-store

trigger:
  - main

pool:
  vmImage: ubuntu-latest

steps:
  - task: Cache@2
    inputs:
      key: 'pnpm | "$(Agent.OS)" | pnpm-lock.yaml'
      path: $(pnpm_config_cache)
    displayName: Cache pnpm

  - task: Cache@2
    inputs:
      key: next | $(Agent.OS) | pnpm-lock.yaml
      path: "$(System.DefaultWorkingDirectory)/.next/cache"
    displayName: "Cache .next/cache"

  - script: |
      curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@7
      pnpm config set store-dir $(pnpm_config_cache)
    displayName: "Setup pnpm"

  - script: |
      pnpm install
      pnpm run build
    displayName: "pnpm install and build"

  - task: ArchiveFiles@2
    inputs:
      rootFolderOrFile: "."
      includeRootFolder: false
      archiveType: "zip"
      archiveFile: "$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip"
      replaceExistingArchive: true

  - task: PublishBuildArtifacts@1
    inputs:
      PathtoPublish: "$(Build.ArtifactStagingDirectory)"
      ArtifactName: "drop"
      publishLocation: "Container"

用于其他构建( Nextjs部件的移除版本)

azure-pipelines.yml

代码语言:javascript
运行
复制
variables:
  pnpm_config_cache: $(Pipeline.Workspace)/.pnpm-store

trigger:
  - main

pool:
  vmImage: ubuntu-latest

steps:
  - task: Cache@2
    inputs:
      key: 'pnpm | "$(Agent.OS)" | pnpm-lock.yaml'
      path: $(pnpm_config_cache)
    displayName: Cache pnpm

  - script: |
      curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@7
      pnpm config set store-dir $(pnpm_config_cache)
    displayName: "Setup pnpm"

  - script: |
      pnpm install
      pnpm run build
    displayName: "pnpm install and build"

  - task: ArchiveFiles@2
    inputs:
      rootFolderOrFile: "."
      includeRootFolder: false
      archiveType: "zip"
      archiveFile: "$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip"
      replaceExistingArchive: true

  - task: PublishBuildArtifacts@1
    inputs:
      PathtoPublish: "$(Build.ArtifactStagingDirectory)"
      ArtifactName: "drop"
      publishLocation: "Container"
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73117288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档