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