GitHub の構成
GitHub は、Git リポジトリーの Web ベースのホスティング・サービスです。 リポジトリーのローカルとリモートの両方のコピーを持つことができるので、共同作業が容易になります。
GitHub Enterprise は、オンプレミス型の Web ベースの Git リポジトリー・ホスティング・サービスです。
GitHub Issues は、作業と計画のすべてを 1 つの場所に保持するトラッキング・ツールです。 これは、ユーザーが重要タスクに注力できるようにユーザーの開発リポジトリーと統合されます。
GitHub.com または会社の GitHub Enterprise インスタンスの新規または既存のリポジトリーでソース・コードを管理できるように、ツールチェーン内の 1 つのツール統合として GitHub を構成できます。 Wiki、問題のトラッキング、プル・リクエストを介してソーシャル・コーディングに参加します。
ツールチェーンの作成時にこのツール統合を構成する場合は、次の手順を実行します。
-
GitHub リポジトリーにソース・コードを格納している場合は、「構成可能な統合」セクションで**「GitHub」**をクリックします。 IBM Cloud Public でこのツール統合を構成する場合は、 OAuth または 「個人アクセス・トークン」 のいずれかを選択して、 IBM Cloud が GitHub にアクセスすることを許可する必要があります。
-
OAuth を選択した場合は、 「Authorize」 をクリックして、 GitHub Web サイトにアクセスします。 アクティブな GitHub セッションがない場合は、ログインするよう求められます。 「アプリケーションを許可 (Authorize Application)」 をクリックして、IBM Cloud が GitHub アカウントにアクセスできるようにします。 アクティブな GitHub セッションはあるものの、最近パスワードを入力していない場合は、確認のために GitHub パスワードの入力を求められることがあります。
-
「個人アクセス・トークン (Personal Access Token)」を選択した場合は、リポジトリーを複製して他のアクションを実行するために GitHub での許可に使用する個人アクセス・トークンを入力する必要があります。 個人用アクセス・トークンがない場合は、 GitHub Web サイトにある資料に従って作成できます。 個人用アクセス・トークンに
repo
、delete_repo
、read:user
、およびworkflow
の各権限があることを確認します。
-
-
独自のGitHub Enterpriseサーバ上のレポを使用している場合は、[設定可能な統合]セクションで[カスタムサーバ]をクリックします。
a. カスタム GitHub サーバーのタイトルを入力し、サーバーのルート URL を指定し、個人用アクセス・トークンを入力します。
b. 個人用アクセス・トークンがない場合は、 GitHub Web サイトにある資料に従って作成できます。
c. GitHub サーバーがエアギャップされていたり、公共のインターネットからアクセスできない場合は、Delivery Pipeline Private Worker を接続して統合し、独自の Kubernetes インフラストラクチャ上で実行することで、内部またはオンプレミスのリソースにアクセスすることができます。 Delivery Pipelineプライベート・ワーカーについての詳細は、Delivery Pipelineプライベート・ワーカーでの作業 を参照してください。
-
GitHub リポジトリーのデフォルトのターゲット・リポジトリーの場所を確認します。 これらのリポジトリーは、サンプル・リポジトリーのクローンです。 必要に応じて、ターゲット・リポジトリーの名前を変更します。
既存のツールチェーンにツール統合を追加する場合は、以下の手順に従います。
-
IBM Cloudコンソールから、メニューアイコンの
>Platform Automation>Toolchains をクリックします。 「ツールチェーン」ページで、ツールチェーンをクリックしてその「概要」ページを開きます。 あるいは、アプリの「概要」ページの「継続的デリバリー」カードで、**「ツールチェーンの表示」をクリックします。 次に、「概要」**をクリックします。
-
**「ツールの追加」**をクリックします。
-
「ツール統合」セクションで、**「GitHub」**をクリックします。
-
使用する GitHub サーバーをクリックします。
-
既存の GitHub または GitHub Enterprise リポジトリーを使用する場合は、リポジトリーのタイプとして**「既存」**をクリックし、URL を入力します。
-
新しい GitHub または GitHub Enterprise リポジトリーを使用する場合は、そのリポジトリーに付ける名前を入力し、複製またはフォークするリポジトリーの URL を入力し、リポジトリー・タイプを次のように選択します。
a. 空のリポジトリーを作成する場合は、**「新規」**をクリックします。
b. GitHub または GitHub Enterprise リポジトリーのコピーを作成する場合は、**「クローンを作成する (Clone)」**をクリックします。
c. GitHub または GitHub Enterprise リポジトリーをフォークし、プル・リクエストで変更内容を提供できるようにする場合は、**「フォーク (Fork)」**をクリックします。
-
アップグレードしたアカウントを持つ GitHub.com ユーザーの場合、または GitHub Enterprise サーバーを選択してこのサーバー上に新規のプライベート・リポジトリーを作成する場合は、**「このリポジトリーをプライベートにする (Make this repository private)」**チェック・ボックスを選択します。
-
問題のトラッキングに GitHub Issues を使用する場合は、**「GitHub Issues を使用可能にする (Enable GitHub Issues)」**チェック・ボックスにチェック・マークを付けます。
-
コミットに対するタグおよびコメントと、コミットで参照される問題に対するラベルおよびコメントを作成することによって、コード変更のデプロイメントをトラッキングしたい場合は、**「コード変更のデプロイメントを追跡する (Track deployment of code changes)」**チェック・ボックスにチェック・マークを付けます。 詳しくは、ツールチェーンでコードがどこにデプロイされたかを追跡するを参照のこと。
-
「統合の作成」 をクリックします。
-
ツールチェーンの「概要」ページの**「リポジトリー」**カードで、処理する GitHub または GitHub Enterprise リポジトリーをクリックします。 選択したリポジトリーに応じて、GitHub Web サイトか会社の GitHub Enterprise リポジトリーが開きます。ここで、リポジトリーのコンテンツを表示できます。
-
GitHub Issues を使用可能にした場合、**「GitHub Issues」**をクリックして開きます。 ツールチェーンに複数の GitHub または GitHub Enterprise リポジトリーが含まれれている場合でも、GitHub Issues のこのインスタンスをツールチェーン全体に使用できます。
リンクしようとしているリポジトリーに対する管理特権をお持ちでない場合、Web フックを使用できないので統合は制限されます。 リポジトリーにコミットがプッシュされたときにパイプラインが自動的に実行されるようにするには、Web フックが必要です。 Web フックがない場合、パイプラインを手動で開始する必要があります。
API を使ってGitHubを設定する
GitHub ツール統合は、 、 read、および update ツール統合を作成するときに ツールチェーン HTTP API および SDK で使用できる以下の構成パラメーターをサポートします。
githubconsolidated
値を使用して、要求本体に tool_type_id
プロパティーを指定する必要があります。
パラメーター | 使用法 | タイプ | Terraform 引数 | 説明 |
---|---|---|---|---|
API のルート URL | オプション、更新可能 | ストリング | API のルート URL | GitHub サーバーの API のルートの URL。 |
API トークン | オプション、更新可能 | パスワード | API トークン | 個人用アクセス・トークン (PAT)。 このパラメーターは、 auth_type が pat に設定されている場合にのみ必要です。それ以外の場合は無視されます。 |
auth_type | オプション、更新可能 | ストリング | auth_type | Git プロバイダーへのアクセスに使用する認証方式を設定します。 |
自動初期化 | 任意、不変、'Default: false |
ブール値 | 自動初期化 | このリポジトリーを README ファイルで初期化するには、この値を true に設定します。 このパラメーターは、リポジトリーを作成する場合にのみ使用します。 |
インデント接続 | 任意、更新可能、'Default: false |
ブール値 | インデント接続 | この値を true に設定することは、サーバーがパブリック・インターネット上でアドレス可能でないことを意味します。 IBM Cloud は、指定された接続の詳細を検証できません。 Git サーバーへの API アクセスを必要とする特定の機能は無効になります。 デリバリー・パイプラインは、Git サーバーへのネットワーク・アクセス権限を持つプライベート・ワーカーのみを使用して機能します。 |
デフォルト・ブランチ | オプション、更新可能 | ストリング | デフォルト・ブランチ | Git リポジトリーのデフォルトのブランチです。 |
enable_traceability | 任意、更新可能、'Default: false |
ブール値 | enable_traceability | この値を'true に設定すると、コミット、プルリクエスト、参照された課題に対してタグ、ラベル、コメントを作成し、コード変更のデプロイメントを追跡します。 |
Git_id | オプション、不変 | ストリング | Git_id | この値を github ( github.comの場合)、またはカスタム GitHub Enterprise サーバーの GUID に設定します。 |
has_issues | 任意、更新可能、'Default: true |
ブール値 | ツールチェーンの発行が有効 | GitHub リポジトリーで問題を有効にし、ツールチェーンに問題ツール・カードを追加するには、この値を true に設定します。 ツールチェーンからツール統合カードを削除するには、値を false に設定します。 この設定は、 GitHub リポジトリー自体で問題が有効になっているかどうかには影響しません。 |
統合所有者 | オプション、更新可能 | ストリング | 統合所有者 | Git 操作の実行に使用するユーザーを選択します。 |
owner_id | オプション、不変 | ストリング | owner_id | リポジトリーを所有している GitHub ユーザーまたは組織。 このパラメーターは、リポジトリーを作成する場合、またはリポジトリーを複製またはフォークする場合に必要です。 この値は、既存のリポジトリーにリンクすると計算されます。 |
プライベート・リポジトリー | 任意、不変、'Default: false |
ブール値 | プライベート・リポジトリー | この値を true に設定すると、リポジトリーの作成時、クローン作成時、またはフォーク時にリポジトリーがプライベートになります。 既存のリポジトリーにリンクする場合、このパラメーターは使用されません。 |
リポジトリー ID | オプション、不変 | ストリング | リポジトリー ID | GitHub リポジトリーの ID。 |
repo_name | オプション、不変 | ストリング | repo_name | 作成する GitHub リポジトリーの名前。 このパラメーターは、リポジトリーを作成する場合、またはリポジトリーを複製またはフォークする場合に必要です。 この値は、既存のリポジトリーにリンクすると計算されます。 |
repo_url | オプション、不変 | ストリング | repo_url | このツール統合のための GitHub リポジトリーの URL。 既存のリポジトリーにリンクする場合、このパラメーターは必須です。 この値は、リポジトリーを作成するとき、またはリポジトリーを複製またはフォークするときに計算されます。 |
ルート URL | オプション、更新可能 | ストリング | ルート URL | サーバーのルート URL です。 例: https://github.example.com |
ソース repo_URL | オプション、不変 | ストリング | ソース repo_URL | フォークまたはクローン作成しようとしているリポジトリーの URL。 このパラメーターは、リポジトリーをフォークまたはクローン作成する場合に必要です。 これは、リポジトリーを作成するとき、または既存のリポジトリーにリンクするときには使用されません。 |
title | オプション、更新可能 | ストリング | title | サーバーのタイトルです。 例: My GitHub Enterprise Server |
トークン URL | オプション、更新可能 | ストリング | トークン URL | GitHub サーバーでの許可に使用されるトークン URL。 |
タイプ | 必須、変更不可能 | ストリング | タイプ | 新規ツール統合を初期化するために実行する操作。 new を使用して Git リポジトリーを作成します。 clone を使用して既存のリポジトリーを新しい Git リポジトリーに複製します。 fork を使用して既存の Git リポジトリーをフォークするか、 link を使用して既存の Git リポジトリーにリンクします。 |