大厅CI + MVN + PCF问题

时间:2017-03-21 01:57:14

标签: java maven cloudfoundry concourse

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

  1. 从git获取代码。
  2. 使用maven构建和打包所有内容。
  3. 将生成的工件(target/*war)推送到Cloud Foundry。
  4. 步骤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 个答案:

答案 0 :(得分:0)

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

关键项目有很好的生产大厅使用的例子,比如https://github.com/azwickey-pivotal/volume-demo/blob/master/ci/pipeline.yml