0

私はかなり長い間これに頭を悩ませてきましたが、それを理解することはできません(しかし、それは簡単なことであるに違いありません)。

現在、私がやろうとしているのは、2 つのリポジトリ (2 つの別々のディレクトリが自然に作成される) からプルしてから、あるディレクトリから別のディレクトリにファイルを移動して、Dockerfile を正常に実行しようとしています。

私の Pipeline.yml ファイルは次のようになります。

---
jobs:
- name: build-nexus-docker-image
  public: false
  plan:
  - get: git-nexus-docker-images
    trigger: true
  - get: git-nexus-license
    trigger: true
  - task: mv-nexus-license
    config:
      platform: linux
      image_resource:
        type: docker-image
        source: {repository: ubuntu, tag: "trusty"}
      inputs:
        - name: git-nexus-license
        - name: git-nexus-docker-images
      run:
        path: /bin/sh
        args:
          - -c
          - mv -v git-nexus-license/nexus.lic git-nexus-docker-images/nexus.lic; ls -la git-nexus-docker-images
  - put: nexus-docker-image
    params:
      build: git-nexus-docker-images/

resources:
- name: git-nexus-docker-images
  type: git
  source:
    uri: git@git.company.com:dev/nexus-pro-dockerfile.git
    branch: test
    paths: [Dockerfile]
    private_key: {{git_ci_key}}

- name: git-nexus-license
  type: git
  source:
    uri: git@git.company.com:secrets/nexus-information.git
    branch: master
    paths: [nexus.lic]
    private_key: {{git_ci_key}}

- name: nexus-docker-image
  type: docker-image
  source:
    username: {{aws-token-username}}
    password: {{aws-token-password}}
    repository: {{ecr-nexus-repo}}

実際に Concourse にデプロイできるパイプラインを投稿しました。しかし、私は多くのことを試しましたが、これを行う方法がわかりません。git-nexus-licenseライセンス ファイルをディレクトリからディレクトリに移動する作業に行き詰まっていますgit-nexus-docker-images。私が行ったことは、nexus.licファイルをmvしていないようです。これは、dockerイメージの構築中に、ディレクトリでそのファイルが見つからないために失敗するためです。

編集: 上記のコードを使用して "mv" を実行できましたがnexus.lic、ファイルが見つからないため、ビルドはまだ失敗しています! 何が間違っているのかわかりません。ビルドは手動で行うと正しく動作しますが、Concourse では失敗します。

4

1 に答える 1