GitLab.comへのユーザ登録から手元でリポジトリを操作できるようにするまで

様々なバージョン管理システムの中でも特に現代のソフトウェア開発に欠かせない存在となったGit。そしてGitホスティングサービスの中でも最も利用されているのが GitHub.com です。
しかしながらプロジェクトの様々な事情により必ずしもGitHubが用いられることはなく、同等の機能を提供する他のホスティングサービスを用いることは多々あります。

GitHub以外のGitホスティングサービスの中でも特に多機能なもののひとつに GitLab.com というウェブサイトがあります。

gitlab.com

この記事ではプログラミング初学者を対象に、GitLab.com への登録手順を可能な限り丁寧に解説します。
なお、この記事はプログラミング未経験者向けのチュートリアル資料として作成したものを公開用に再構成したものであるため、極度に平易な言葉を選んでいることをご了承頂きたい。

はじめる前に

以下をご用意ください。

  • git, ssh-keygenコマンドが使え、共用ではない、または専用アカウントがあるコンピュータ
  • 今手元で受け取れ、日常的に利用するEメールアドレス (Eメールアカウント、Gmailなど)
  • インターネットに接続された (十分に新しい) コンピュータ

GitLabのユーザ登録画面へアクセスする

まずはウェブブラウザを用いてウェブサイトへアクセスします。
Google等の検索エンジンを用いてgitlabなどと検索するか、直接https://gitlab.com (またはhttps://about.gitlab.com) を開いてください。
以下のリンクからアクセスすることも可能です:

https://gitlab.com

開いたら、Sign In/Registerをクリックしてください。

f:id:S64:20180501143452p:plain:w500

GitLabのユーザ登録画面は、登録済みユーザのサインイン画面と共通になっています。右側Registerタブをクリックすると、会員登録が可能です。

f:id:S64:20180501143730p:plain:w500

情報を入力する

表示されたフォームへ、必要事項を入力します。

f:id:S64:20180501150604p:plain:w500

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をクリックして、認証をしてください。

f:id:S64:20180501151453p:plain:w500

確認に成功するとその旨が表示と併せさきほどのログイン画面に転送されます。こちらではSign inタブを選択し、さきほど入力した内容を用いてSign inをします。

f:id:S64:20180501151852p:plain:w500

これで会員登録が完了しました。

f:id:S64:20180501152043p:plain:w500

必要なら: メールアドレスを追加する

GitLabはプライベート, 仕事, 学校, サークルなど様々なシーンで利用する可能性があります。その場合自分が利用するコンピュータ, 名義が複数あり、アカウントが分散してしまう可能性があります。
GitLabではそのようなことを防ぐため、ひとつのアカウントに複数のメールアドレスを紐付けることができます。
事前にお持ちのメールアドレスをまとめて追加しておくことをお勧めします。

f:id:S64:20180501154422p:plain:w500

SSHキーを生成する

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

公開鍵をコピーし、GitLabへ追加する

sshのキーには 秘密鍵と公開鍵 があります。ファイル名の末尾に.pubと付いているのが公開鍵です。こちらをGitLabへ登録します。
以下のコマンドを実行すると、公開鍵の内容が出力されます。

cat ~/.ssh/gitlab_rsa.pub

これをクリップボードにコピーします。ssh-rsaから始まり、コメント (メールアドレス) が書かれた部分まで全体です。

GitLabの設定を開き、SSH Keysというメニューをクリックします。
こちらのKeyにさきほどコピーした公開鍵をペーストし、Titleにはその鍵を識別する名前を入力します。

f:id:S64:20180501164838p:plain:w500

たとえば私の場合、MacBook Pro 15"上のUbuntu用の公開鍵のため、画像のようにしました。
入力したら、Add keyで完了です。

完了

以上で手元のコンピュータからGitLabを利用する準備ができました。
この後には必要に応じてリポジトリを作成したり、手元にcloneしたり、GitLabへコードをpushしたりという具体的な利用がありますが、この記事では割愛します。