【问题标题】:Artifact dependencies (destination) using Bamboo YAML specs使用 Bamboo YAML 规范的工件依赖项(目标)
【发布时间】:2020-09-16 17:29:15
【问题描述】:

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

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】:

    YAML 规范不支持工件依赖项管理,您需要在“创建部署工件”作业中有脚本任务,以便在压缩之前将它们从根目录放入单独的文件夹中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-04
      • 2021-07-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多