1.2. Git リポジトリーへの認証
Git リポジトリーに対して次のタイプの認証を定義できます。
- Basic 認証
- セキュアシェル (SSH) 認証
Build
CR で両方のタイプの認証を使用して Git シークレットを設定することもできます。
1.2.1. Basic 認証
Basic 認証では、Git リポジトリーのユーザー名とパスワードを設定する必要があります。以下の例は、Git の Basic 認証の使用方法を示しています。
apiVersion: v1 kind: Secret metadata: name: secret-git-basic-auth annotations: build.shipwright.io/referenced.secret: "true" type: kubernetes.io/basic-auth 1 stringData: 2 username: <cleartext_username> password: <cleartext_password>
1.2.2. SSH 認証
SSH 認証では、使用する Git リポジトリープロバイダーのホスト名を指定するように Tekton アノテーションを設定する必要があります。たとえば、GitHub の場合は github.com
、GitLab の場合は gitlab.com
です。
以下の例は、Git での SSH 認証の使用方法を示しています。
apiVersion: v1 kind: Secret metadata: name: secret-git-ssh-auth annotations: build.shipwright.io/referenced.secret: "true" type: kubernetes.io/ssh-auth 1 data: ssh-privatekey: | 2 # Insert ssh private key, base64 encoded
1.2.3. Git シークレットの使用
関連する namespace でシークレットを作成したら、そのシークレットを Build
カスタムリソース (CR) で参照できます。両方のタイプの認証で Git シークレットを設定できます。
次の例は、SSH 認証タイプでの Git シークレットの使用法を示しています。
apiVersion: shipwright.io/v1beta1 kind: Build metadata: name: buildah-golang-build spec: source: git: url: git@gitlab.com:userjohn/newtaxi.git cloneSecret: secret-git-ssh-auth
以下の例は、Basic 認証タイプでの Git シークレットの使用法を示しています。
apiVersion: shipwright.io/v1beta1 kind: Build metadata: name: buildah-golang-build spec: source: git: url: https://gitlab.com/userjohn/newtaxi.git cloneSecret: secret-git-basic-auth