サービス接続は、パイプラインが外部サービスにアクセスするために必要な認証情報と設定を一元管理します。パイプラインは接続を通じてキー、証明書、その他のシークレットを取得するため、手動設定が不要になり、セキュリティリスクが軽減されます。
ユースケース
サービス接続を使用する一般的なパイプラインシナリオは次のとおりです。
-
コードリポジトリ:Codeup にリンクして RAM 認可を自動的に完了します。認証情報をハードコーディングしたり、追加の権限を要求したりする必要はありません。
-
パッケージ:Packages にリンクして RAM 認可を自動的に完了します。
-
イメージリポジトリ:プライベートイメージリポジトリにリンクして、
docker loginを自動的に処理します。 -
Kubernetes クラスター:クラスターの認証情報をリンクすることで、パイプラインが
kubectlを呼び出してローリングアップデートを実行できるようになります。
サービス接続のタイプ
Flow は、次のサービス接続タイプをサポートしています。
|
分類 |
製品 |
|
Alibaba Cloud サービス |
|
|
コードサービス |
|
|
その他のサービス |
|
サービス接続の作成
-
Flow コンソールで、[Global Settings] をクリックし、次に [Service Connection Management] をクリックします。
-
[Service Connection Management] ページで、[Create] または [New Service Connection] をクリックします。
説明[Create] ボタンは、サービス接続が存在しない場合に表示されます。 存在する場合、[New Service Connection] ボタンが右上に表示されます。
-
サービス接続のタイプを選択します。 この例では Codeup を使用します。 [Next] をクリックします。
-
[New Service Connection] ダイアログボックスで、次のパラメーターを設定します。
-
サービス接続名:サービス接続の名前を入力します。
-
サービス接続 ID:任意です。カスタム ID が必要な場合を除き、デフォルト値を使用します。
-
サービス認可/証明書:[サービス認可/証明書] ドロップダウンから既存の認証情報を選択するか、[+ New] をクリックして新しい認証情報を作成します。
説明-
Alibaba Cloud 以外のサービスの場合、ユーザー名とトークンまたはパスワードを手動で入力して証明書を作成します。
-
サービス接続が無効になった場合 (従業員の退職後など) 、関連する各パイプラインを修正するのではなく、その認可/証明書を更新してください。
-
-
利用範囲:このサービス接続を使用できるユーザーを制御します。
-
Private :自分にのみ表示されます。
-
Public :全員に表示されます。
-
Custom :指定されたメンバーにのみ表示されます。
-
-
-
設定を確認したら、[Create] をクリックします。
GitHub サービス接続 (リージョンサイト)
このセクションは Flow リージョンサイトにのみ適用され、中央の Flow サイトには適用されません。
Flow は GitHub App を介して GitHub リポジトリに接続します。GitHub で GitHub App を作成してインストールし、それを使用して Flow でサービス接続を作成します。
-
GitHub で、 に移動し、[New GitHub App] をクリックします。
[Developer settings] の左のナビゲーションペインで、[GitHub Apps] を選択します。
-
[Register new GitHub App] ページで、次のように設定します。
-
GitHub App name :GitHub App の名前を入力します。
-
Homepage URL :カスタム URL を入力します。
-
権限:[Repository permissions] で、[Contents - Read and write] の権限を付与します。これにより、Flow がリポジトリのブランチを読み書きできるようになります。
-
[Create GitHub App] をクリックします。
-
-
アプリの [General] ページで、
Client IDをコピーします。 [Generate a private key] をクリックして、.pemファイルをダウンロードします。後で証明書を作成するために必要になるので、安全に保存してください。秘密鍵ファイルの内容は PEM 形式です。例:
-----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAgiCCYTPSvYLq0w5pC7tH2gXnR++kcoB1DjY6XDCRZ1yhqZZY nSpLFfusXUtb1gu64V1igLcWy24yiV7aIM3yLw3tcCXGx5HjFXRdNUulJ1LuPeFm E/WHs+Ifew0NprKUB1Dlxxx/TvVxxx8PNY6cP6OF6YUKHRxylYIxQ6lh D8DfRQZcnOkfHDjWxxx...xxx4RqtlIGHkIWI ZJXzdMVPJ11CfcA01pTYbfD/1zepeDj0i0SPRSkcvOp6ggynSmiK6sEnAp34Cxr5 uuctk1biJ4AVs/fb+8gam2FYEYCcj5Il177LHQIDAQABAoIBAERES00p+Hl4GTab 37cfbZ0lLsuE9B4mOdJ0HDMGIjKxzwU4GVLnt72Yge/l33IivtjUGqt5zKHRFGJf N3RWb8pF8nNAFWXbup3PVd+e/SSseIFIOyfbLJsYL7223TV5D0FoOFMgeZks0Jn4 ep6N0x6u4xF6RTNvAFGcWxSXZ7tqHPO3u8UNCgxVhT42/MhuixNz2SkfWbNc134y 2k791mxCxDrJ2TUA3pmhmGwx4LZpxZqls4LU5/visx4LVEnHQBkJltNcGJl2sa4Z zzIFUBOubEasxVAVPxxx...xxxK/rcDzFm0Qrlu PQbmbkECqYEA3wJg+5AJ+pSB+GIE/SuqkZltmblxxxtokMzMmXR6AJrGvFm /Bsh9NkJlivUFA35+VN9/WwTDaF7Mp+d8aT9BaGePTmuR4q8ySEWMVYiZ0MJAaJA 5GK5fvjb6EAqozE3KuuGN0/XTKsnw3mNZc/QUK9Cs6AnBv0fSPu0KPUCqYEAw0tk a/pX9NNaYI8MPXzc0B3amrR7/p7SYgiwONESj3q090od3I7sGNCPyE0yqDy2ImC7 5jSe6dGwdHxqrIF8DiIkKJHtIbAFDxkerm0KibD0PzrMdTBMLMrR/VNsij9w7Aov +LiGi4dr40s33UkxFNsoYFxGv0BIHiG7em6zYIkCqYEApo0ea5a61vcCwHuli9nt APuWDLm4GaWcqkm0HK1Mvv3mIS4FGWYdNqtvzGpuzRHG1n6lI3UjOvH6jBqCbIdg oPlH8HeAN0klh8xxx...xxxCtQ4LtC400gldcEC Qn5MlaJ21LcFzSMdxBoJSS0CgYASErsTZxKWvKyDfRmD4zdIJ0sgwA0tjiMoIW2h xG90ScXPWI805yEgVsTHos043413dv5MmpgOSXKMBSuWFVGWursv6flJAdImCIwX VXjIL03GXDmpqr0R/Z8bU4oa7S4VGghAe0swozavzTk5SFm7dWCyMif2/Vbv0u3v saj2CQKBqOCcMokki1iJK2SrhTa3LT/KFRjylAMkyYmTU6gyz0GCWXKUkHVNOBvE lkPq17iIRA2pG5kDOSlNnkLkFic04m/tIsyfPQpdHNcd1WFEn18Zjb+on/mqTwED nPhnrk0LV4MAx200qCvNiZ8tNpw7f3pZqF90krvkZ1hzURqnBmAGnA== -----END RSA PRIVATE KEY-----
-
[Install App] ページに移動します。ターゲットのアカウントまたは組織を選択し、アクセスを許可するリポジトリを選択して、[Install] をクリックします。インストール後、URL またはインストール済みアプリの設定ページで
Installation IDを見つけます。Installation IDを見つけるには、インストール後にブラウザーのアドレスバーの URL の末尾にある番号を確認します。URL の形式は次のとおりです。https://github.com/organizations/{org-name}/settings/installations/{INSTALLATION_ID}
-
Flow で、 に移動し、[New Service Connection] をクリックします。 [GitHub] タイプを選択します。前の手順で取得した
Client ID、秘密鍵ファイルの内容、およびインストール IDを入力して、GitHub 証明書を作成します。証明書を作成してから、サービス接続を作成します。サービス接続名を入力し、利用範囲を設定します (オプション:Private (自分にのみ表示)、Public (全員に表示)、Custom (指定されたメンバーに表示)。デフォルトは Private です)。
-
パイプラインを作成し、コードソースを追加します。作成した GitHub サービス接続を選択します。これで、リポジトリとブランチを選択できます。パイプラインは、コードのクローン、ブランチのマージ、ブランチの削除ができます。
内部のセルフホスト GitLab への接続
セルフホスト GitLab が内部ネットワーク経由でのみアクセス可能な場合は、Flow リージョンサイトを使用して接続してください。中央の Flow サイトはこの機能をサポートしていません。
-
Flow コンソールで、VPC ドメインを有効にし、GitLab サイトのリバースアクセス IP アドレスを追加します。詳細については、「ネットワーク設定」をご参照ください。
-
サービス接続を作成する際、タイプとして [セルフホスト GitLab (API v4 以降)] を選択します。
-
新しい [サービス認可/証明書]を作成します。 [The GitLab domain can be accessed only through an internal network] を選択します。次に、VPC を選択し、内部 IP アドレスを入力し、GitLab のドメイン名と認証情報を指定します。
-
[接続テスト] をクリックして接続を確認します。テストが失敗した場合、接続は使用できません。エラーメッセージを使用してトラブルシューティングを行ってください。