【问题标题】:Concourse CI + MVN + PCF issue大厅 CI + MVN + PCF 问题
【发布时间】:2017-08-12 12:39:17
【问题描述】:

我正在尝试使用 Concourse CI 创建管道。管道应该:

  1. 从 git 中获取代码。
  2. 使用 maven 构建和打包所有内容。
  3. 将生成的工件 (target/*war) 推送到 Cloud Foundry。

步骤 1 和 2 已成功执行,但在尝试不同配置数小时后,我无法访问生成的工件并将其推送到 CF。

我在最后一步出现以下错误:error invalid path: found 0 files instead of 1 at path: /tmp/build/put/mvn-package/target/udm-0.1.war

文件 pipeline.yml

resources:
- name: branch-dev
  type: git
  source:
    uri: {{git-url}}
    branch: {{git-branch}}
    private_key: {{private-repo-key}}

- name: PCF-Dev
  type: cf
  source:
    api: {{pcf-api}}
    username: {{pcf-username}}
    password: {{pcf-password}}
    organization: {{pcf-organization}}
    space: {{pcf-space}}
    skip_cert_check: false

jobs:
- name: udm
  serial: true
  plan:
  - get: branch-dev
    trigger: true
  - task: mvn-package
      privileged: true
      file: branch-dev/ci/package.yml
  - put: PCF-Dev
    params:
      manifest: branch-dev/ci/manifest.yml
      path: mvn-package-output/target/udm-0.1.war

文件 manifest.yml

applications:
- name: udm

文件 package.yml

platform: linux

image_resource:
  type: docker-image
  source:
    repository: maven
    tag: latest

inputs:
  - name: branch-dev
outputs:
  - name: mvn-package-output

run:
  path: "mvn"
  args: ["-f", "branch-dev/udm/pom.xml", "package"]

我想我错过了一些东西。有人可以看看并指出我正确的方向吗?

【问题讨论】:

  • 在您运行第 1 步和第 2 步后,此路径 /tmp/build/put/mvn-package/target/udm-0.1.war 是否存在?
  • 我劫持到容器中,没有/tmp/build/put/mvn-package目录。我更新了 package.yml 以生成输出文件夹。之后,我可以看到输出目录是空的。由于某种原因,mvn package 没有将输出保存到文件夹中。
  • 尝试向mvn 命令行添加更多参数,如-e -x 以调试并查看发生了什么。
  • 看起来您需要另一个步骤,将 branch-dev/udm/target/udm-0.1.war 复制到 mvn-package-output。大厅不会自动执行此操作。
  • @CorbyPage,你是对的。我添加了另一个步骤,将 war 文件复制到 package.yml 中的 maven-package-output 文件夹,我工作得很好。 set -e -x mvn -f branch-dev/udm/pom.xml clean package cp branch-dev/udm/target/*.war mvn-package-output/.

标签: java maven cloud-foundry concourse


【解决方案1】:

您需要在构建/部署作业之间放置/获取资源(构建工件)(并将其定义为资源)

Pivotal 项目有非常好的生产 Concourse 使用示例,例如 https://github.com/azwickey-pivotal/volume-demo/blob/master/ci/pipeline.yml

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-07
    • 2022-09-23
    • 2011-10-12
    • 2012-01-15
    • 2020-10-04
    相关资源
    最近更新 更多