私はかなり長い間これに頭を悩ませてきましたが、それを理解することはできません(しかし、それは簡単なことであるに違いありません)。
現在、私がやろうとしているのは、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 では失敗します。