大厅CI,获取并放置一个git资源

时间:2017-06-20 13:09:15

标签: concourse

我正在尝试使用git-resource来获取,修改和推送文件,但这不起作用,有人可以帮助我吗?

这两个资源指向同一个git存储库,目标是在存储库中添加一个文件。 我无法理解我错在哪里,大厅输出是绿色但存储库没有新文件

这是工作:

jobs:
- name: myjob
  plan:
  - get: input-repo
  - get: output-repo

  - task: simpletask
    config:
      platform: linux
      image_resource:
        type: docker-image
        source:
          repository: ubuntu
      run:
        path: sh
        args:
          - -exc
          - |
            cat a_file > output-repo/another_file
      inputs:
      - name: input-repo
      - name: output-repo

  - put: input-repo
    params: { repository: output-repo }

谢谢你

1 个答案:

答案 0 :(得分:3)

你不应该为此需要两种不同的资源。你想要做的是getgit clone)回购,修改它,git commit然后putgit push)它。

所以你想要这样的东西。

jobs:
- name: myjob
  plan:
  - get: repo

  - task: simpletask
    config:
      platform: linux
      image_resource:
        type: docker-image
        source:
          repository: ubuntu
      run:
        path: sh
        args:
          - -exc
          - |
            cp -r repo changed-repo
            cat a_file > changed-repo/another_file
            git add .
            git commit -m "message"

      inputs:
      - name: repo

  - put: repo
    params: { repository: changed-repo }