GitLabCI-CIの高度な使用法
環境と展開
環境は、CI(継続的インテグレーション)ジョブのテスト、構築、デプロイに使用され、GitLabを使用してソフトウェアの継続的デプロイを制御します。GitLab CIはプロジェクトのデプロイを追跡することができ、サーバーに何がデプロイされているかを知ることができます。
環境の名前は、environment :name文字列を使用して定義でき、次のものが含まれます。
- letters
- digits
- spaces
- -
- _
- /
- $
- {
- }
GitLab CI / CDでのSSHキーの使用
SSH(SecureShellまたはSecureSocket Shell)キーを設定して、コンピューターとGitLabの間に信頼性の高い接続を提供できます。SSHキーは、次の場合にGitLab CI / CDで使用できます。
- 内部サブモジュールをチェックアウトする必要があります。
- パッケージマネージャーを使用してプライベートパッケージをダウンロードする必要があります。
- 自分のサーバーにアプリケーションをインストールする必要があります。
- ビルド環境からリモートサーバーへのSSHコマンドを実行します。
- ビルド環境からリモートサーバーにファイルをrsyncする必要があります。
SSHキーの設定については、GitLabSSHキーの設定の章で説明されています。
アーティファクト
アーティファクトは、成功後にファイルとディレクトリのリストをジョブに添付するために使用されます。アーティファクトには次のタイプが含まれます-
- artifacts:name−このディレクティブは、作成されたアーティファクトアーカイブの名前を指定するために使用されます。作成されたアーティファクトアーカイブの一意の名前を提供します。これは、GitLabからアーカイブをダウンロードするときに役立ちます。
- artifacts:when−このディレクティブは、ジョブが失敗したときにアーティファクトをアップロードするために使用されます。次の値が含まれています。
- on_success −ジョブが成功したときにアーティファクトをアップロードするために使用されます。
- on_failure −ジョブが失敗したときにアーティファクトをアップロードするために使用されます。
- always −ジョブのステータスに関係なくアーティファクトをアップロードするために使用されます。
- artifacts:expire_in − GitLabにアップロードおよび保存されるため、アーティファクトが期限切れになり、削除されるまでの期間を定義します。
パイプラインのトリガー
トリガーは、特定のブランチまたはタグをAPI呼び出しで強制的に再構築することができ、レガシーラベルのトリガーは現在のプロジェクトにアクセスできます。
以下の手順に示すように、新しいトリガーを追加できます。
Step 1 − GitLabアカウントにログインして、プロジェクトに移動します−

Step 2− [設定]タブの[ CI / CD ]オプションをクリックし、[パイプライントリガー]オプションを展開します−

トリガーの説明を入力し、[トリガーの追加]ボタンをクリックします。
Step 3 −次に、トリガーを作成した後、成功メッセージを表示します−

Step 4− [設定]タブの[ CI / CD ]オプションに移動し、[パイプライントリガー]オプションを展開します。下の画像に示すように、新しく作成されたトリガーとトークンが表示されます-

パイプラインスケジュール
特定の間隔でパイプラインスケジュールを使用して、パイプラインを実行できます。パイプラインスケジュールを作成するには、以下の手順を使用します-
Step 1 − GitLabアカウントにログインして、プロジェクトに移動します−
Step 2− [ CI / CD ]タブの[スケジュール]オプションをクリックし、[新しいスケジュール]ボタンをクリックします−

Step 3−次に、[新しいパイプラインのスケジュール]画面を開き、フィールドに入力して、[パイプラインスケジュールの保存]ボタンをクリックします。

Step 4 −これで、実行がスケジュールされているパイプラインが表示されます−

GitLabをKubernetesクラスターに接続する
Kubernetesクラスターを使用すると、アプリケーションのレビューとデプロイ、パイプラインの実行などを簡単な方法で行うことができます。GitLabアカウントをGoogleKubernetes Engine(GKE)に関連付けることで、プロジェクトに新しいクラスターを作成できます。
次の手順に示すように、新しいKubernetesクラスターを作成できます。
Step 1 − GitLabアカウントにログインして、プロジェクトに移動します−

Step 2− [ CI / CD ]タブの[ Kubernetes ]オプションをクリックします−

Step 3−次に、[ Kubernetesクラスターの追加]ボタンをクリックします−

Step 4− [ GKEで作成]ボタンをクリックして、Google KubernetesEngineで新しいKubernetesクラスタを作成します−

Step 5 − Googleアカウントをお持ちの場合は、そのアカウントで署名してKubernetesクラスターの詳細を入力するか、新しいGoogleアカウントを作成します−

Step 6 −ここで、Kubernetesクラスターのフィールドに値を入力します−

Step 7−フィールドに値を追加する前に、KubernetesクラスターをホストするためにGoogle CloudPlatformコンソールで作成されたプロジェクトのIDが必要です。IDを作成するには、前の画像で強調表示されている[プロジェクトを表示]リンクをクリックします。以下の画面が開き、[マイプロジェクト]メニューをクリックし、プラス(+)アイコンをクリックして新しいプロジェクトを作成します-

Step 8−プロジェクト名を入力し、[作成]ボタンをクリックします−

Step 9 −KubernetesクラスターをホストするプロジェクトのIDを取得します−

Step 10−KubernetesクラスターのフィールドにGoogleCloud PlatformプロジェクトIDとともに値を入力し、[ Kubernetesクラスターの作成]ボタンをクリックします−
