1.6. 出力定義
Build CR では、イメージをプッシュする出力の場所を指定できます。出力場所として外部プライベートレジストリーを使用する場合は、イメージにアクセスするためのシークレットを指定する必要があります。出力イメージのアノテーションとラベルを指定することもできます。
注記
アノテーションまたはラベルを指定すると、出力イメージが 2 回プッシュされます。最初のプッシュはビルドストラテジーから行われ、2 番目のプッシュではイメージ設定を変更してアノテーションとラベルを追加します。
以下の例では、イメージがプッシュされるパブリックレジストリーを定義します。
apiVersion: shipwright.io/v1beta1
kind: Build
metadata:
name: s2i-nodejs-build
spec:
source:
git:
url: https://github.com/shipwright-io/sample-nodejs
contextDir: source-build/
strategy:
name: source-to-image
kind: ClusterBuildStrategy
paramValues:
- name: builder-image
value: docker.io/centos/nodejs-10-centos7
output:
image: image-registry.openshift-image-registry.svc:5000/build-examples/nodejs-ex
以下の例では、イメージがプッシュされるプライベートレジストリーを定義します。
apiVersion: shipwright.io/v1beta1
kind: Build
metadata:
name: s2i-nodejs-build
spec:
source:
git:
url: https://github.com/shipwright-io/sample-nodejs
contextDir: source-build/
strategy:
name: source-to-image
kind: ClusterBuildStrategy
paramValues:
- name: builder-image
value: docker.io/centos/nodejs-10-centos7
output:
image: us.icr.io/source-to-image-build/nodejs-ex
pushSecret: icr-knbuild
以下の例では、イメージのアノテーションおよびラベルを定義します。
apiVersion: shipwright.io/v1beta1
kind: Build
metadata:
name: s2i-nodejs-build
spec:
source:
git:
url: https://github.com/shipwright-io/sample-nodejs
contextDir: source-build/
strategy:
name: source-to-image
kind: ClusterBuildStrategy
paramValues:
- name: builder-image
value: docker.io/centos/nodejs-10-centos7
output:
image: us.icr.io/source-to-image-build/nodejs-ex
pushSecret: icr-knbuild
annotations:
"org.opencontainers.image.source": "https://github.com/org/repo"
"org.opencontainers.image.url": "https://my-company.com/images"
labels:
"maintainer": "team@my-company.com"
"description": "This is my cool image"