使用Bamboo YAML规范的工件依赖项(目标)

问题描述 投票:2回答:1

我正在尝试使用Bamboo YAML规范(下面的.yml文件)设置Bamboo生成计划配置。在最后一个阶段(创建部署工件),我想使用上一个阶段的共享工件。通过将作业的工件指定为“ shared:true”,我可以在第二阶段中使用它们。但是,它们位于同一目标文件夹中。使用用户界面可以轻松进行编辑。

Artifact dependencies

但是如何在Bamboo YAML规范中指定两个工件的目标文件夹,例如从“工作目录的根目录”分别到“ ./app”和“ ./wwwroot”?

---
version: 2
plan:
  project-key: COCKPIT
  key: BE
  name: Cockpit - Continuous Build - Windows 
stages:
  - Build Stage:
    - Build Backend
    - Build Frontend
  - Build Artifact:
    - Create Deployment Artifact

Build Backend:
  requirements:
    - Visual Studio Build Tools (32-bit)
  tasks:
    - checkout:
        repository: cockpit_backend
        path: 'cockpit_backend'
        force-clean-build: false
    - script:
      - dotnet publish .\cockpit_backend\src\Cockpit.WebApi\ --configuration Release

  artifacts:
    -
      name: BackendBuild
      location: cockpit_backend/src/Cockpit.WebApi/bin/Release/netcoreapp3.1/publish
      pattern: '**/*.*'
      required: true
      shared: true

Build Frontend:
  requirements:
    - os_linux
  tasks:
    - checkout:
        repository: 'Cockpit / cockpit_frontend'
        path: 'cockpit_frontend'
        force-clean-build: false
    - script:
      - cd cockpit_frontend
      - npm install
    - script:
      - cd cockpit_frontend
      - npm run build-prod
  docker: 
    image: node:alpine
  artifacts:
    -
      name: FrontendBuild
      location: cockpit_frontend/dist
      pattern: '**/*.*'
      required: true
      shared: true

Create Deployment Artifact:
  requirements:
    - os_windows
  tasks:
    - script:
        interpreter: powershell
        scripts:
          - $buildDir = "Cockpit"
          - $dest = "Cockpit_${bamboo.buildNumber}.zip"
          - Add-Type -assembly "system.io.compression.filesystem"
          - '[io.compression.zipfile]::CreateFromDirectory($buildDir, $dest)'
  artifacts:
    -
      name: Completebuild
      pattern: 'Cockpit_${bamboo.buildNumber}.zip'
      required: true
yaml bamboo
1个回答
0
投票

YAML规范不支持工件依赖关系管理,并且您需要在“创建部署工件”作业中具有脚本任务,以将其从根目录放入与根目录分离的单独文件夹中

© www.soinside.com 2019 - 2024. All rights reserved.