当前位置: 首页 > 知识库问答 >
问题:

Azure构建管道和发布管道nodejs

南门鸿哲
2023-03-14

我有一个azure构建管道和发布管道。我在发布构建工件中面临问题。在构建管道中,发布构建工件被正确地创建在默认的“drop”目录中。

当我在发布管道中下载该工件时,发布文件正在服务抛出错误的home/wwwroot/apservicename/drop中下载

您没有查看此目录或页面的权限。

这意味着我的发布工件没有在“home/wwwroot”目录中下载。

构建管道

   # Node.js
   # Build a general Node.js project with npm.
   # Add steps that analyze code, save build artifacts, deploy, and more:
   # https://docs.microsoft.com/azure/devops/pipelines/languages/javascript
   
   trigger:
   - main
   
   pool:
     vmImage": ubuntu-latest
   
   steps:
   - task: NodeTool@0
     inputs:
       versionSpec: '12.x'
     displayName: 'Install Node.js'
   
   - script: |
       npm install
     displayName: 'npm install and build'
   
   - task: ArchiveFiles@2
     inputs:
       rootFolderOrFile: '$(Build.BinariesDirectory)'
       includeRootFolder: true
       archiveType: 'zip'
       archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
       replaceExistingArchive: true
   - task: PublishBuildArtifacts@1
     inputs
       PathtoPublish: "."
       publishLocation: Container"
   
   

释放管道

   steps:
   - task: DownloadBuildArtifacts@0
     displayName: 'Download Build Artifacts'
     inputs:
       "buildType": specific
       project: 'f736e2aa-631d-4bc0-a468-f8c8d1b3713a'
       "pipeline": 15
       "downloadType": specific
       "downloadPath": .
       "extractTars": false

我错过了什么?

共有1个答案

陈季
2023-03-14

项目名称将始终是路径的一部分,因为可以想象,此部署之前的版本可能会发布多个项目。

因此,您的部署作业将需要提供工件路径,但您可以尝试这样做-在您的变量部分:

变量:...artifact name:“APP-FE”然后在发布阶段:

      - task: PublishBuildArtifacts@1
        displayName: "Upload Artifacts"
        inputs:
          PathtoPublish: 
     '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
          ArtifactName: $(artifactName)
          publishLocation: 'Container'
 类似资料:
  • 看起来,PublishBuildArtifacts任务在发布环境中不可用。 https://docs.microsoft.com/de-de/azure/devops/pipelines/tasks/utility/publish-pipeline-artifact?view=azure-德沃斯 但是,当我们的客户从Azure存储库(通用软件包)中获取新的工件版本时,有机会通过发布管道发布这些工件

  • 寻找一种通过API触发Azure管道构建的方法,理想情况下是REST。如果REST是不可能的,也许我可以尝试通过Azure函数使用某种资源ID来调用构建。我希望我自己的存储库监视器发出一个API请求,当我的条件满足时触发构建。另一个问题--是否可以通过API设置“管道变量”--例如,我发出一个API调用,传递值作为管道变量的值,然后触发构建。 谢谢。

  • 我正在尝试从管道中自动创建Jenkins管道构建。 我有一个管道,它创建一个比特桶存储库并向其提交一些代码,包括一个Jenkinsfile。 我需要向此管道添加另一个步骤,然后为其创建管道生成,这将运行 Jenkinsfile 中的步骤。 我认为Jobs DSL应该能够处理这一点,但我找到的文档非常稀少,我仍然不完全确定是否有可能或如何做到这一点。 任何帮助都将不胜感激。我想生成的Pipeline

  • Azure发布管道可以使用环境功能吗?我一直在寻找,但所有使用环境的示例都是YAML和管道部署任务。

  • 当您选择此选项时,将生成 yaml 文件,如下所示: 在此 yaml 文件中,您可以定义从还原开始的整个部署周期

  • 我们已经配置和运行Azure运营模式管道构建和发布一年多了。我们部署到Azure应用服务。最近,我们开始将一些应用服务迁移到ASE(Azure服务环境)中。这就需要创建新的发布定义来部署到我们网站的新ASE实例。新的发布管道由于各种错误或警告而失败,这些错误或警告都包含错误: getaddrinfo ENOTFOIES。 示例: 部署失败,错误:错误:错误:将Web包部署到应用服务失败。错误:ge