CI/CDの学習を行いたいので、事前準備としてGitLabを構築したく、備忘録として構築手順を残そうと思います。GitHubでいいじゃん!!」と思う方もいるかも知れませんが、GitHubは有名すぎるあまり脆弱性が多く存在しており、特にセキュリティを意識した企業では採用されないことが多いです。近年はコード流出系の事故が多発しており、ソースコードをパブリックな環境で管理するのはあまり今どきではありません。GitHubはOSSではなくサービスですので、これもあまり採用されない理由の一つでしょう。GitのホスティングサービスはGitHub以外にも沢山ありますが(BOX等..)、記事のタイトルにもある通り、今回オススメしたいGitホスティングサービスがGitLabです。セキュリティに重きを置いている現場のGitLab採用率はとても高いので、まだGitLabを触った経験が無い方は本記事でハンズオンを実施し、GitLabで遊んでみることをオススメします。動作確認おまけ:GitLab(CE)構築スクリプトまとめ概要GitLabとは?Gitlabとは、GitHubに影響されて作られたソースリポジトリの管理ソフトウェアです。CICD”等、GitHubよりも利便性の高い機能も存在します。GitLabはGitHubと同じようにWeb上で利用するサービス型と、ソフトウェアとしてダウンロードし自前のサーバ上で動かすOSS型が存在します。本記事ではOSS版を利用してハンズオンを実施します。OSS版には下記の2種類が存在します。CE)無償:オープンソースでサーバーにインストールして使います。サーバーにインストールして使います。OSS版だとアプリケーションだけでなくサーバの管理もセットになるので少し複雑に感じるかも知れませんが、プライベートな空間に立てれば大事なソースコードをパブリックにせず安全に管理することができます。カスタム性も高く、ご自身の環境に合わせた最適な設定を行うことが可能です。GitHubとGitLabはどう違うの?結論としては作ってる会社が違います。Inc.という企業が開発しています。それぞれの違いをあげるとするならば、以下の通りとなります。GitHub最も有名で最も利用者の多いソースコードのホスティングサービスクラウド上で運営されるSaaS型サービスGitLabSaaS型とOSS型の2種類のサービスが存在する独自のCI機能が搭載されているといってもどちらもGitを利用したソースコードのバージョン管理ツールであることに変わりはないので、単純なソース管理をしたいだけならどちらを使っても大きな差異はありません。ご自身の環境に合わせた、適切なサービスを利用すると良いでしょう。事前準備としてEC2インスタンス、及びEIPを作成します。本記事では、EC2インスタンスの作成手順は省かせて頂きますが、作成したEC2インスタンスのパラメータを以下に記します。※最低限のスペックでもGitLabは動作しますが、快適な利用を目指すのであれば、インスタンスサイズは「t3.midium」をオススメします。Linux2インスタンスサイズ:t2.largeストレージサイズ:8gbセキュリティグループ任意の場所からの「http」「https」のインバウンドルールを開けておくGitLabのインストール作成したEC2インスタンスにSSH接続し、GitLabのインストール、セッティングを行います。GitLabではPostfixが必要です。AmazonLinux2だとデフォルトで入ってますが念の為確認と起動をしておきます。full.GitLabのパッケージをリポジトリに追加します。パッケージの最新版は下記リンク先より入手できます。0:3.3.8-2.amzn2.0.2Complete!※上記コマンドについて、EXTERNAL_URL="https://gitlab.example.com"のようにオプションを付けることが可能です。これはGitLabへアクセスする際のURLを指定します。後で設定することも可能ですので、お好きなタイミングで設定できればと思います。gitlab-ee設定ファイルの更新GitLabの設定ファイルを修正します。今回はとりあえず動くところまでを目標にしているので、EXTERNAL_URL=""だけ指定してやります。EXTERNAL_URL=""については↑で説明しています。~~※ドメインを持ってなくて、IPアドレスで指定したい場合は、httpで指定して下さい。'http://xxx.xxx.xxx.xxx'動作確認external_urlで指定したURLをブラウザへ入力し、GitLabへアクセスできるか確認します。下記のような画面が表示されれば動作確認OKです。おまけ:GitLab(CE)構築スクリプトGitLab(CE)を構築するシェルスクリプトを作成しましたので公開します。スクリプトとしてや、中身をくり抜いてCloudFormation(Userdate)やTeraFormでご利用下さい。+++++'まとめ以上がEC2上でのGitLabの構築手順となります。そこまで大変な手順では無いので、UserDateに落とし込む等して、GitLabの構築を自動化していきたいところです。GitLabに関する記事を投稿していきたいと思います。/スポンサーリンクchibiharu関連記事GitHub【AWS】GitHubとCloud9を連携してAWS上でコード開発!AWSの提供する統合開発環境(IDE)であるCloud9とソフトウェア開発において一番有名なプラットフォームであるGitHubの連携方法を公開します。Cloud9は簡単に使用できる便利なIDEですが、やはりAWSネイティブなだけあって、微...GitHub【GitOps】OSS版GitLabのアカウント作成方法OSS版GitLabのアカウント登録方法で地味にハマったので、ネタになるかなと思ったので記事に残しておきます。RunnerでCFn変更スタックを作成するCIパイプラインを作ってみた!近年、CI/CD(継続的インテグレーション/継続的デリバリー)という概念がよく使われるようになってきました。CI/CDというとAWSのCodePipelineやCircleCIのサービスを想像する方が多いと思うのですが、GitLabでもC...GitHub【AWS】GitHubをCodeCommitにミラーリングするCodeCommitは非常に便利なソース管理サービスではありますが、未だ発展途上なイメージがあります。ソース管理サービスでしたら、現状GitHubに勝るものはないと思います。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。Δスポンサーリンクchibiharuはじめまして!当サイト管理人のchibiharu(ちびはる)です。普段はクラウドインフラエンジニアをしており、多くの方とのITスキル・ナレッジの共有を目的にブログを始めました。コメント等お待ちしております。皆様のITエンジニアとしての活動に少しでもお役に立てればと思っています。chibiharuと申します。ラボDeveloperNetworkSoftwareHardwareプロフィールお問い合わせポートフォリオホーム検索トップサイドバータイトルとURLをコピーしました。