Gitlab-advanced-usage-ci
GitLab CI-CIの高度な使用法
環境と展開
環境は、CI(Continuous Integration)ジョブのテスト、構築、展開に使用され、GitLabによるソフトウェアの継続的展開を制御します。 GitLab CIはプロジェクトの展開を追跡することができ、サーバーに何が展開されているかを知ることができます。
環境の名前は、_environment:name_文字列を使用して定義でき、次のものが含まれます-
- 手紙
- 桁
- スペース
- -
- _ */
- $
- \{
- }
GitLab CI/CDでSSHキーを使用する
SSH(Secure ShellまたはSecure Socket Shell)キーを設定して、コンピューターとGitLab間の信頼できる接続を提供できます。 SSHキーは、GitLab CI/CDで次の場合に使用できます-
- 内部サブモジュールをチェックアウトする必要があります。
- パッケージマネージャーを使用してプライベートパッケージをダウンロードする必要があります。
- 独自のサーバーにアプリケーションをインストールする必要があります。
- ビルド環境からリモートサーバーに対してSSHコマンドを実行します。
- ビルド環境からリモートサーバーにファイルをrsyncする必要があります。
SSHキーのセットアップについては、リンク:/gitlab/gitlab_ssh_key_setup [GitLab SSH Key Setup]の章で説明しています。
アーティファクト
アーティファクトは、成功後にファイルとディレクトリのリストをジョブに添付するために使用されます。 アーティファクトには、次のタイプが含まれています-
- artifacts:name -このディレクティブは、作成されたアーティファクトアーカイブの名前を指定するために使用されます。 GitLabからアーカイブをダウンロードするときに役立つ、作成されたアーティファクトアーカイブの一意の名前を提供します。
- artifacts:when -このディレクティブは、ジョブが失敗したときにアーティファクトをアップロードするために使用されます。 次の値が含まれます。
- on_success -ジョブが成功したときにアーティファクトをアップロードするために使用されます。
- on_failure -ジョブが失敗したときにアーティファクトをアップロードするために使用されます。
- 常に-ジョブのステータスに関係なく、アーティファクトをアップロードするために使用されます。
- artifacts:expire_in -アーティファクトはGitLabにアップロードおよび保存されるため、アーティファクトが期限切れになり削除されるまでの期間を定義します。
パイプラインのトリガー
トリガーは、API呼び出しで特定のブランチまたはタグを強制的に再構築することができ、_legacy_ラベルを持つトリガーは現在のプロジェクトにアクセスできます。
以下の手順に示すように、新しいトリガーを追加できます-
- ステップ1 *-GitLabアカウントにログインして、プロジェクトに移動します-
- ステップ2 *-_Settings_タブの下の_CI/CD_オプションをクリックし、_Pipeline triggers_オプションを展開します-
トリガーの説明を入力し、[トリガーの追加]ボタンをクリックします。
- ステップ3 *-次に、トリガーの作成後に成功メッセージが表示されます-
- ステップ4 *-_Settings_タブの下の_CI/CD_オプションに移動し、_Pipeline triggers_オプションを展開します。 次の画像に示すように、トークンとともに新しく作成されたトリガーが表示されます-
パイプラインスケジュール
特定の間隔でパイプラインスケジュールを使用して、パイプラインを実行できます。 パイプラインのスケジュールを作成するには、以下の手順を使用します-
ステップ1 GitLab Usage of CI
- ステップ2 *-[CI/CD]タブの下の[Schedules]オプションをクリックし、[_ New schedule_]ボタンをクリックします-
- ステップ3 *-次に、新しいパイプラインのスケジュール画面を開き、フィールドに入力して、[パイプラインのスケジュールを保存]ボタンをクリックします-
- ステップ4 *-これで、実行予定のパイプラインが表示されます-
GitLabをKubernetesクラスターに接続する
Kubernetesクラスターを使用すると、簡単な方法でアプリケーションの確認とデプロイ、パイプラインの実行などを行うことができます。 GitLabアカウントをGoogle Kubernetes Engine(GKE)に関連付けることで、プロジェクトに新しいクラスターを作成できます。
新しいKubernetesクラスターは、以下の手順に示すように作成できます-
- ステップ1 *-GitLabアカウントにログインして、プロジェクトに移動します-
- ステップ2 *-_CI/CD_タブの下の_Kubernetes_オプションをクリックします-
- ステップ3 *-次に、[Add Kubernetes cluster_]ボタンをクリックします-
- ステップ4 *-_Create on GKE_ボタンをクリックして、Google Kubernetes Engineに新しいKubernetesクラスターを作成します-
- ステップ5 *-Googleアカウントをお持ちの場合は、そのアカウントで署名してKubernetesクラスターの詳細を入力するか、新しいGoogleアカウントを作成します-
- ステップ6 *-Kubernetesクラスターのフィールドに値を入力します-
- ステップ7 *-フィールドに値を追加する前に、KubernetesクラスターをホストするためにGoogle Cloud Platformコンソールで作成されたプロジェクトのIDが必要です。 IDを作成するには、前の画像で強調表示されている_プロジェクトを見る_リンクをクリックします。 以下の画面が開き、[_プロジェクト]メニューをクリックし、プラス(+)アイコンをクリックして新しいプロジェクトを作成します-
- ステップ8 *-プロジェクト名を入力し、_Create_ボタンをクリックします-
- ステップ9 *-KubernetesクラスターをホストするプロジェクトのIDを取得します-
- ステップ10 *-Google Cloud PlatformプロジェクトIDとともにKubernetesクラスターのフィールドに値を入力し、[Kubernetesクラスターの作成]ボタンをクリックします-