様々なバージョン管理システムの中でも特に現代のソフトウェア開発に欠かせない存在となったGit。そしてGitホスティングサービスの中でも最も利用されているのが GitHub.com です。
しかしながらプロジェクトの様々な事情により必ずしもGitHubが用いられることはなく、同等の機能を提供する他のホスティングサービスを用いることは多々あります。
GitHub以外のGitホスティングサービスの中でも特に多機能なもののひとつに GitLab.com というウェブサイトがあります。
この記事ではプログラミング初学者を対象に、GitLab.com への登録手順を可能な限り丁寧に解説します。
なお、この記事はプログラミング未経験者向けのチュートリアル資料として作成したものを公開用に再構成したものであるため、極度に平易な言葉を選んでいることをご了承頂きたい。
以下をご用意ください。
git
, ssh-keygen
コマンドが使え、共用ではない、または専用アカウントがあるコンピュータまずはウェブブラウザを用いてウェブサイトへアクセスします。
Google等の検索エンジンを用いてgitlab
などと検索するか、直接https://gitlab.com
(またはhttps://about.gitlab.com
) を開いてください。
以下のリンクからアクセスすることも可能です:
開いたら、Sign In/Register
をクリックしてください。
GitLabのユーザ登録画面は、登録済みユーザのサインイン画面と共通になっています。右側Register
タブをクリックすると、会員登録が可能です。
表示されたフォームへ、必要事項を入力します。
Full nameはそのままフルネーム... というよりは、表示されるあなたのユーザ名です。私の場合はアルファベットの実名を利用しています。たとえば普段利用しているハンドルネーム、ニックネームなどでも良いでしょう。この内容はインターネット上の誰でも参照できます。
Usernameは、自分の公開するプロフィールやGitリポジトリのURL、他のユーザとやり取りしたりコミットした際に利用されるIDです。ちょうどTwitterのIDのように、@〜〜〜
の形式でメンションが届いたりするかもしれません。この内容はインターネット上の誰でも参照でき、GItLab上で一意である (唯一の組み合わせである) 必要があります。
EmailおよびEmail confirmationは、このユーザ登録における本人確認, 他ユーザと共同開発した際の通知受信, Gitのコミットとユーザの紐付けなどで利用されるEメールアドレスです。この内容は形式としては公開 / 非公開が任意ですが、Gitの仕組み上コミット作成時にEメールアドレスを入力する必要があるため、コミットログを参照する際に実質的に公開されます。注意事項として、Gitで利用するメールアドレスと同一のものを設定してください。
Passwordはサインインなどで利用するパスワードです。8文字以上で任意の文字列を指定できます。
I'd like to receive updates via email about GitLab.にチェックを加えると、サービス利用上の通知以外にもGitLabそのものの更新等についてお知らせを受け取ることができます。
最後にreCAPTCHAでボットでないことを確認し、Registerで内容を送信します。
Register
をクリックすると、Almost there...
と書かれたページが表示されます。これはメールアドレスによる本人確認を要求するものです。
登録したEメールアドレスに対応するメールボックスを確認し、認証をしてください。なお、表示される緑色のボタンは「確認メールを再送する」ものであるため、メールを紛失しない限りはクリック不要です。
GitLabよりConfirmation instructions
というメールが届いています。メール内のConfirm your account
をクリックして、認証をしてください。
確認に成功するとその旨が表示と併せさきほどのログイン画面に転送されます。こちらではSign in
タブを選択し、さきほど入力した内容を用いてSign in
をします。
これで会員登録が完了しました。
GitLabはプライベート, 仕事, 学校, サークルなど様々なシーンで利用する可能性があります。その場合自分が利用するコンピュータ, 名義が複数あり、アカウントが分散してしまう可能性があります。
GitLabではそのようなことを防ぐため、ひとつのアカウントに複数のメールアドレスを紐付けることができます。
事前にお持ちのメールアドレスをまとめて追加しておくことをお勧めします。
GitではHTTP over TLS
またはSSH
のいずれかを通して通信するのが一般的です。今回はSSHでの通信を可能にするための手順を説明します。
コンピュータ上でterminal
、つまり端末エミュレータ
を開いてください。
以下のフォーマットを参考に、コマンドを実行します。
ssh-keygen -t rsa -b 4096 -C 'Gitで利用するメールアドレス' -f ~/.ssh/gitlab_rsa
-C
オプションはコメントを意味し、メールアドレスを入力するのが一般的です。
-f
オプションはファイルの保存先を指定し、一般的にユーザのホームディレクトリ直下.ssh/
内に保存し、以上のようなサービス名+暗号化方式というフォーマットでファイル名を命名しているように感じます。
フォーマットに当てはめると、たとえば
ssh-keygen -t rsa -b 4096 -C 'myname@example.com' -f ~/.ssh/gitlab_rsa
のようになるでしょう。
コマンドを実行すると、
Generating public/private rsa key pair. Enter passphrase (empty for no passphrase):
などのように表示されます。ここでは生成するキーをパスワードで暗号化することができます。
パスワードに設定すべき文字列はこちらの外部の記事が大変参考になります。
空欄にした場合、暗号化をしません。
Enterで確定するとEnter same passphrase again:
と出るため、確認として再度同じパスフレーズ (空欄なら空欄で) を入力します。
Your identification has been saved in /home/コンピュータのユーザ名/.ssh/gitlab_rsa. Your public key has been saved in /home/コンピュータのユーザ名/.ssh/gitlab_rsa.pub.
などと表示されたら、生成完了です。
この鍵が保存されていれば、またコピーすることができれば、どんな人物でもあなたのGitLabアカウントでリポジトリを操作することができてしまいます。
くれぐれも共用コンピュータの共用ユーザでは追加予定の鍵を作成しないでください。最低でも、コンピュータ内に自分専用のアカウントを作成し、他のアカウントからファイルを参照できないようにしてください。
SSHではどのホストへの接続かにより利用する鍵を切り替えられます。
今回はGitLab向けの内容です。~/.ssh/config
というファイルを開き、以下のように設定します。
Host gitlab HostName gitlab.com IdentityFile ~/.ssh/gitlab_rsa AddKeysToAgent yes User git Port 22
sshのキーには 秘密鍵と公開鍵 があります。ファイル名の末尾に.pub
と付いているのが公開鍵です。こちらをGitLabへ登録します。
以下のコマンドを実行すると、公開鍵の内容が出力されます。
cat ~/.ssh/gitlab_rsa.pub
これをクリップボードにコピーします。ssh-rsa
から始まり、コメント (メールアドレス) が書かれた部分まで全体です。
GitLabの設定を開き、SSH Keys
というメニューをクリックします。
こちらのKey
にさきほどコピーした公開鍵をペーストし、Titleにはその鍵を識別する名前を入力します。
たとえば私の場合、MacBook Pro 15"上のUbuntu用の公開鍵のため、画像のようにしました。
入力したら、Add key
で完了です。
以上で手元のコンピュータからGitLabを利用する準備ができました。
この後には必要に応じてリポジトリを作成したり、手元にcloneしたり、GitLabへコードをpushしたりという具体的な利用がありますが、この記事では割愛します。