1.2. ソース定義
次のフィールドの値を設定することで、Build
カスタムリソース (CR) でビルドのソース情報を設定できます。
-
source.git.url
: Git リポジトリーで利用可能なイメージのソースの場所を定義します。 -
source.git.cloneSecret
: プライベート Git リポジトリーの SSH 秘密鍵を含む namespace 内のシークレットを参照します。 -
source.git.revision
: ソース Git リポジトリーから選択する特定のリビジョンを定義します。たとえば、コミット、タグ、ブランチ名などです。このフィールドのデフォルトは、Git リポジトリーのデフォルトブランチです。 -
source.contextDir
: ルートフォルダーにソースコードが存在しないリポジトリーのコンテキストパスを指定します。
ビルドコントローラーは、イメージをプルするために指定した Git リポジトリーが存在するかどうかを自動検証しません。検証する必要がある場合は、次の例に示すように、build.shipwright.io/verify.repository
アノテーションの値を true
に設定します。
apiVersion: shipwright.io/v1beta1 kind: Build metadata: name: buildah-golang-build annotations: build.shipwright.io/verify.repository: "true" spec: source: git: url: https://github.com/shipwright-io/sample-go contextDir: docker-build
ビルドコントローラーは、以下のシナリオで Git リポジトリーの存在を検証します。
- HTTP または HTTPS プロトコルでエンドポイント URL を使用する場合。
-
git@
などの SSH プロトコルを定義しているが、source.git.cloneSecret
などの参照シークレットを定義していない場合。
以下の例は、異なるソース入力セットでビルドを設定する方法を示しています。
例: 認証情報を使用したビルドの設定
次の例に示すように、認証情報を指定してソースを使用してビルドを設定できます。
apiVersion: shipwright.io/v1beta1 kind: Build metadata: name: buildah-build spec: source: git: url: https://github.com/sclorg/nodejs-ex cloneSecret: source-repository-credentials
例: コンテキストパスを使用したビルドの設定
次の例に示すように、Git リポジトリー内のコンテキストパスを指定するソースを使用してビルドを設定できます。
apiVersion: shipwright.io/v1beta1 kind: Build metadata: name: buildah-custom-context-dockerfile spec: source: git: url: https://github.com/userjohn/npm-simple contextDir: docker-build
例: タグを使用したビルドの設定
次の例に示すように、Git リポジトリーのタグ v.0.1.0
を指定するソースを使用してビルドを設定できます。
apiVersion: shipwright.io/v1beta1 kind: Build metadata: name: buildah-golang-build spec: source: git: url: https://github.com/shipwright-io/sample-go revision: v0.1.0
例: 環境変数を使用したビルドの設定
次の例に示すように、環境変数を指定するビルドを設定することもできます。
apiVersion: shipwright.io/v1beta1 kind: Build metadata: name: buildah-golang-build spec: source: git: url: https://github.com/shipwright-io/sample-go contextDir: docker-build env: - name: <example_var_1> value: "<example_value_1>" - name: <example_var_2> value: "<example_value_2>"