TECHSTEP

ITインフラ関連の記事を公開してます。

2024-01-01から1年間の記事一覧

GitLab Commit message templateを使ってみる

今回はGitLabのCommit message templateを紹介します。 docs.gitlab.com 背景 Commit message templateは、名称の通りコミット時に利用するテンプレートです。GitLabではMerge commit message / Squash commit messageの2種類のテンプレートが用意されていま…

GitLab rulesを試す

今回はGitLab rulesを少しだけ試してみました。 docs.gitlab.com 背景 GitLab CIに限らず、CI/CDのジョブを実行するタイミングを制御したいケースは多くあります。GitLabでは rules というキーワード配下に条件を指定することで、ジョブの実行タイミングを制…

GitLab Wikiの紹介

今回はGitLab Wikiを紹介します。 docs.gitlab.com 背景 GitLab WIkiはGItLab Projectで利用できるWikiページを提供する機能です。GitLab WikiはMarkdown / AsciiDoc / Rdoc / Orgをサポートしているほか、Wikiのページはサイドバーに表示され、サイドバーは…

GitLab Description templateでIssue/Merge requestのテンプレートを用意する

今回はGitLabのDescription templateの紹介です。 docs.gitlab.com 背景 GitLabには、あらかじめ用意したテンプレートを使い、GitLab上での作業をらくにする機能がいくつか提供されています。今回は Description template という、Issue template / Merge re…

GitLabとActive Directoryを連携する

今回はGitLabとActive Directoryとを連携したユーザー管理の紹介です。 docs.gitlab.com 背景 以前GitLabのユーザーについて紹介しましたが、GitLabはLDAPと統合したユーザー認証機能を提供しています。GitLabとActive Directoryの連携はLDAPによるユーザー…

GitLabコンテナレジストリへのアクセス権限

今回はGitLabコンテナレジストリの権限周りについて整理しました。 docs.gitlab.com 背景 GitLabはProject/Groupごとにコンテナレジストリを提供する機能があります。GitLabはProject/Groupごとに、どのユーザーにどんな権限を付与するかをRoleで制御します…

GitLab CLI (glab) を使ってみる

今回はGitLabが提供する glab というCLIツールを紹介します。 gitlab.com 背景 glab はコマンドラインからGitLabの各種APIにアクセスすることで、Webブラウザを開くことなくGitLabの情報を確認する手段を提供します。例えばIssueを確認してタスクを確認した…

GitLab Container Scanningを実施する

今回はGitLabの提供するコンテナイメージのスキャン機能を検証します。 docs.gitlab.com 背景 GitLabのコンテナスキャン機能は、GitLab CI/CDでコンテナイメージスキャンのJobを実行し、レジストリに配置したイメージを検査して結果を出力します。 GitLabの…

GitLab roleを整理する

今回はGitLabで利用できるロールを簡単に整理します。 docs.gitlab.com 背景 GitLabユーザーをProject/Groupに追加するとき、ユーザーに対して何らかのRoleを付与します。Roleは、あらかじめ用意されたDefault Roleと、ユーザーが作成したCustomr Roleがあり…

GitLab CI/CD Catalogの紹介

今回はGitLab 16.7でベータ版をリリースしたCI/CD Catalogを紹介します。 docs.gitlab.com 背景 GitLab CI/CD Catalogの前に、CI/CD componentsについて理解する必要があります。 CI/CD componentsはGitLab内部で再利用可能なパイプラインのユニットです。CI…

GitLab Runnerのネットワーク要件を調査する

今回はGitLab Runnerのネットワーク要件を調査しました。なお検証後に該当のドキュメントを見つけてしまったので、検証の意味はあまりないです。 背景 以前GitLab Runnerの登録と利用を検証したのですが、GitLab Runnerを利用するときのネットワーク要件が明…

GitLab includeでワークフローを再利用する

今回はGitLab CI/CDで利用できるキーワードの中から、.gitlab-ci.yml から同じProject上の別のファイル、別Project上のファイルを呼び出せる include について検証しました。 docs.gitlab.com docs.gitlab.com 背景 検証 include:local include:project incl…

GitLab RunnerとしてLinuxサーバーを登録する

今回はAmazon EC2インスタンスをGitLab Runnerとして登録する手順について紹介します。 背景 GitLab RunnerはGitLab CI/CDパイプラインの実行基盤です。GitLab SaaS版を利用する場合、Shared Runnerという共有リソースを利用できますが、セキュリティ等の理…

CloudFormationのGit SyncをGitLabで動かしてみる

今回は2023年に公開されたCloudFormation Git Syncを紹介します。 aws.amazon.com 背景 AWS CloudFomationはAWSリソースを対象とするIaCツールです。CloudFormationのコード管理はGitHub / GitLabなどのGitホスティングサービスを利用することが多いですが、…

GitLab for Slack appを使用してGitLabのイベントをSlackに通知する

今回はGitLab for Slack appを設定する例を紹介します。 docs.gitlab.com 背景 GitLabとSlackを連携する方法は、現在は GitLab for Slack app の利用が推奨されています。以前は Slack notification も選択肢でしたが、こちらはGitLab 15.9 でdeprecatedとな…

GitLab CI/CDでAmazon ECSサービスを更新する

今回はGitLab CI/CDでコンテナイメージを作成し、作成したイメージを使ってAmazon ECSのサービスを更新する例を紹介します。 背景 GitLab CI/CDからAmazon ECSサービスを更新するには、大きく2つの方法があります。 .gitlab-ci.yml にスクリプトを記載する i…

GitLab CI/CDチュートリアルを実施する

今回はGitLab CI/CDを使い始めるため、GitLabの案内するチュートリアルをやってみたのでそちらの紹介です。 docs.gitlab.com GitLab CI/CDとは GitLabのCI/CDを理解するうえで、事前にいくつかの用語を整理しておきます。 .gitlab-ci.yml GitLab CI/CDを利用…

GitLab Projectの作成方法の整理

今回はGitLabのProjectの作成方法を整理します。 背景 GtiLabの機能を利用するには、 Project というリソースを用意する必要があります。Projectの作成方法は複数あるため、ここではそれらを整理・検証します。 docs.gitlab.com GitLab Projectを作成するに…

GitLabに複数ユーザーを一括で追加する

今回はGitLabに複数ユーザーを一括で追加する方法について、その一例を紹介します。 背景 GitLab Self-managed版は、Web画面からユーザーを追加する場合、現状1ユーザーずつしか登録することができません。一方で、GitLabインスタンスを作成してプロジェクト…

GitLabのユーザー作成方法を整理する

今回はGitLabでユーザーを作成する方法について整理します。 背景 GitLabでは複数の方法でユーザーを作成できます。 サインインページで作成 管理画面から作成 認証インテグレーション APIから作成 Rakeコマンドラインから作成 IaCツールから作成 docs.gitla…

GitLab Self-managedでGmailを利用してメール送信を実現する

今回はGitLab Self-managedインスタンスからメール送信を有効にするため、Gmailを利用した例を紹介します。 GitLab Self-managedインスタンスの作成方法は前回の記事を参照してください。 背景 GitLab Self-managed版は、ユーザー作成後のパスワード更新など…

GitLab Self-managed環境をAmazon EC2に構築する

今回はGitLab Self-managed環境をAmazon EC2上に構築する例を紹介します。なお、ここではあくまでテスト用の環境構築を想定しているので、本番環境では使用しないでください。 背景 検証 AWS CloudFormationによるインスタンス等の作成 rootアカウントでログ…

Amazon EKSをAWS CloudFormationで作成する

今回はAmazon EKSをAWS CloudFormationで作成した例を紹介します。Web上で少し調べてもEKSをCloudFormationで作成する例があまり見当たらなかったので、今回作成してみました。 検証 作成は以下の流れで実施しました。 eksctlからクラスターを作成 CloudForm…

「詳解Terraform」の感想と読書メモ

今回は 詳解 Terraform 第3版 を一通り読んだので、その感想を簡単に残しておこうと思います。 TerraformはIaCツールの中でもかなり市民権を得ていると感じるツールです。にもかかわらず、ここ最近個人的にTerraformを使う機会もなく、情報を追いかけられて…