1.2. ソース定義


ビルド カスタムリソース (CR) で、ビルドに使用するソースコードの場所を設定します。

以下のソースフィールドは、ビルドが Git リポジトリーにアクセスし、ソースコンテンツを選択する方法を指定します。

  • source.git.url:Git リポジトリーの場所。
  • source.git.cloneSecret: プライベートリポジトリーの SSH キーを含むシークレット。
  • source.git.revision: 特定のコミット、タグ、またはブランチ (デフォルトはデフォルトブランチ)。
  • source.contextDir: ソースコードを含むサブディレクトリー。

ビルドコントローラーは、デフォルトでは Git リポジトリーを検証しません。検証を有効にするには、次の例に示すように、ビルド CR で 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 などの参照シークレットを定義していない場合。

以下の設定例は、異なるソース入力セットを使用してビルドを設定する方法を示しています。

認証情報を使用してビルドを設定する

次の例に示すように、リポジトリーの認証情報を含むシークレットを参照することで、プライベート Git リポジトリーにアクセスするようにビルドを設定します。

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
タグを使用してビルドを設定する

次の例に示すように、v0.1.0 などの特定の Git タグをソースリビジョンとして使用するようにビルドを設定します。

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>"
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る