【发布时间】:2017-08-12 12:39:17
【问题描述】:
我正在尝试使用 Concourse CI 创建管道。管道应该:
- 从 git 中获取代码。
- 使用 maven 构建和打包所有内容。
- 将生成的工件 (
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