Copyright © 2013 BIGLOBE. All Rights Reserved 1
1.0 版
(2013年7月3日)
ビッグローブ株式会社
BIGLOBE クラウドホスティング
開発お役立ちパック
GitLab 利用マニュアル
Copyright © 2013 BIGLOBE. All Rights Reserved 2 0. はじめに ... 4 1. GitLab って何だろう ... 5 Git とは ... 5 GitLab とは ... 5 2. GitLab をはじめる準備をしよう (管理者作業) ... 6 事前準備 ... 6 ログイン ... 8 システム管理者のパスワードの変更 ... 9 2.1. GitLab でユーザを追加しよう ... 11 ユーザの追加... 11 3. GitLab を使ってみよう ... 14 ログイン ... 14 パスワードの変更 ... 15 3.1. GitLab でプロジェクトを作成しよう ... 16 Namespace とは ... 16 プロジェクトの追加 ... 16 プロジェクトの Namespace の変更 ... 18 3.2. GitLab でチームを作成しよう ... 19 チームの作成... 19 3.3. GitLab でプロジェクトにチームメンバーを追加しよう ... 21 プロジェクトのチームメンバーを追加 ... 21 チームメンバーにユーザを追加する方法 ... 21 チームメンバーにチームを追加する方法 ... 23 チームメンバーに他プロジェクトのチームメンバーを追加する方法 ... 25 3.4. グループを作成しよう ... 26 グループの作成 ... 26 3.5. 開発環境から GitLab のリポジトリを操作しよう ... 28 開発環境に Git を導入 ... 28 Git の設定 ... 28 開発環境から GitLab リポジトリを操作 ... 29 SSH 鍵の設定 ... 29 SSH 接続で push ... 33 HTTPS 接続で push ... 35
Copyright © 2013 BIGLOBE. All Rights Reserved 3 3.6. GitLab でブランチを分けて開発しよう ... 36 ブランチとは... 36 ブランチの作成 ... 36 3.7. GitLab でコミット履歴を閲覧しよう ... 38 コミット履歴の閲覧 ... 38 3.8. GitLab でソースをダウンロードしよう ... 41 ブランチのソースをダウンロード ... 41 3.9. GitLab でブランチの差を比較しよう ... 42 ブランチの差分を比較 ... 42 3.10. GitLab でブランチをマージしよう ... 44 ブランチをマージ ... 44 3.11. 【応用編】GitLab で問題を共有しよう ... 49 問題を登録しよう ... 49 3.12. 【応用編】GitLab で wiki を使ってみよう ... 52 Wiki を新規作成 ... 52 3.13. 【応用編】GitLab でチャットを使ってみよう ... 54 前準備 ... 54 チャットの使用方法 ... 55 3.14. 【応用編】GitLab でスニペットを作成しよう ... 56 前準備 ... 56 スニペットの使用方法 ... 57 4. 注意事項... 59 ご注意 ... 59
Copyright © 2013 BIGLOBE. All Rights Reserved 4
0. はじめに
本マニュアルでは、開発お役立ちパックにおける、下図の赤枠部分について、利用例を説明して います。 (注意)ご利用にあたっては、各 OSS に関連する設定や DB パスワード変更等を行うことを推奨し ます。下記「環境変更マニュアル」をご参照ください。 https://cloudhosting.sso.biglobe.ne.jp/cp/main/help/devops_0_manual_start.pdf (※コントロールパネルへのログイン必要)Copyright © 2013 BIGLOBE. All Rights Reserved 5
1. GitLab って何だろう
Git とは
Git はオープンソースの分散型バージョン管理システムです。 開発者が各々専用の作業リポジトリ(管理 DB)を持ちそこにファイルをコミット(登録)します。 コミットしたファイルをプッシュ/プル(展開と取得)することで全体と共有し、ソフトウェアの開発を 行います。 リポジトリをクローン(コピー)することで、いつでも開発に参加できます。 GitLab とは
GitLab はオープンソースの Git リポジトリ管理システムです。 リポジトリ情報の閲覧やコードレビュー、Wiki、イシュートラッカー、マージリクエストといった機能を 備えた Web アプリケーションです。 各機能の詳細な説明は後述します。Copyright © 2013 BIGLOBE. All Rights Reserved 6
2. GitLab をはじめる準備をしよう (管理者作業)
事前準備
GitLab をはじめる前に、GitLab のサーバ設定を変更する必要があります。 GitLab が動いているサーバに root ユーザでログインして、以下の手順で設定を変更してください。 ① git ユーザに切り替えてください。 # su - git ② GitLab の設定を変更してください。 $ cd ~/gitlab/config $ vi gitlab.yml : ## GitLab settings gitlab:## Web server settings
host: [GitLab が動いているサーバの IP アドレス または FQDN]
port: 443 https: true
# Uncomment and customize to run in non-root path
# Note that ENV['RAILS_RELATIVE_URL_ROOT'] in config/puma.rb may need to be changed relative_url_root: /gitlab
# Uncomment and customize if you can't use the default user to run GitLab (default: 'git') # user: git
:
host: localhost となっているので、リポジトリ URL として アクセス可能な ip アドレスまたは FQDN に変更します。 例:host: 111.222.333.444
Copyright © 2013 BIGLOBE. All Rights Reserved 7 ③ root ユーザに切り替えてください。 $ exit ④ GitLab と redis のサービスを停止してください。 # /etc/init.d/gitlab stop # /etc/init.d/redis stop ⑤ GitLab が停止していることを確認してください。 # ps aux | grep git
⑥ GitLab と redis のサービスを起動してください。 # /etc/init.d/redis start
Copyright © 2013 BIGLOBE. All Rights Reserved 8
ログイン
インストール直後の GitLab にはシステム管理者しかいないためシステム管理者でログインします。 GitLab にアクセスするとログイン画面が表示されます。ログインフォームに「ユーザ名」「パスワード」 を入力してログインしてください。 ※ GitLab をインストールした直後であれば以下のユーザ名、パスワードでログインできます。 ※ システム管理者でログインするとサンプルのソースコードをいくつか確認できます。 URL:https:// [YOUR_SERVER_HOST] /gitlab ユーザ名:[email protected] パスワード:5iveL!feCopyright © 2013 BIGLOBE. All Rights Reserved 9
システム管理者のパスワードの変更
システム管理者のパスワードがデフォルトのままだと誰でもシステム管理者として GitLab にログイ ンできてしまうため変更します。 画面右上の「 (My Profile)」をクリックしてください。 「Account」タブをクリックしてください。Copyright © 2013 BIGLOBE. All Rights Reserved 10
Copyright © 2013 BIGLOBE. All Rights Reserved 11
2.1. GitLab でユーザを追加しよう
ユーザの追加
GitLab にログインできるユーザを新たに追加します。 管理者権限を持つユーザでログインし、画面右上の「 (Admin area)」をクリックしてください。 「New User」をクリックしてください。Copyright © 2013 BIGLOBE. All Rights Reserved 12
Copyright © 2013 BIGLOBE. All Rights Reserved 13 【Account】 項目 内容 Name 表示名を入力してください。 Username ユーザ名を入力してください。 Email メールアドレスを入力してください。 【Password】 項目 内容 Password パスワードを入力してください。 Password confirmation もう一度パスワードを入力してください。
Generate random password チェックするとランダムなパスワードを生成します。生成されたパス ワードは確認できません。
【Access】
項目 内容
Projects limit 管理者となれるプロジェクトの上限を入力して下さい。 Can create group チェックするとグループの作成権限を持ちます。 Can create team チェックするとチームの作成権限を持ちます。 Administrator チェックすると管理者権限を持ちます。 【Profile】 項目 内容 Skype Skype の情報を入力してください。 Linkedin Linkedin の情報を入力してください。 Twitter Twitter の情報を入力してください。
Copyright © 2013 BIGLOBE. All Rights Reserved 14
3. GitLab を使ってみよう
ログイン
Copyright © 2013 BIGLOBE. All Rights Reserved 15
パスワードの変更
管理者から割り当てられたパスワードをそのまま使用するのは危険なので、他人が知らないパス ワードに変更してください。 画面右上の「 (My Profile)」をクリックし、「Account」タブをクリックしてください。 新しいパスワードを2回入力し、「Save password」をクリックすると変更が完了します。Copyright © 2013 BIGLOBE. All Rights Reserved 16
3.1. GitLab でプロジェクトを作成しよう
Namespace とは
プロジェクトは作成する際に Namespace と関連付けられます。Namespace はプロジェクト名の衝 突の可能性を低減し、参照を容易にします。同一のプロジェクト名であっても、Namespace が異な れば登録が可能です。 プロジェクトの追加
画面右上の「 (Create New Project)」をクリックしてください。
プロジェクト名と Namespace を入力し「Create project」をクリックしてください。 ※半角英数でプロジェクト名を入力してください。
プロジェクトを作成すると、/home/git/repositories/(Namespace) 配下に Git リポジトリが作 成されます。
Copyright © 2013 BIGLOBE. All Rights Reserved 17
既存のリポジトリを用いる場合は「Import existing repository?」をクリックし、インポートするリポジ トリを指定してください。
Copyright © 2013 BIGLOBE. All Rights Reserved 18 SSH 鍵の設定がされていない場合、プロジェクト画面に次の様なメッセージが表示されます。 SSH 接続を用いてリポジトリに接続する場合は、SSH 鍵の設定を行ってください。 SSH 鍵の設定方法は「3.4.開発環境から GitLab のリポジトリを操作しよう」を参照してください。
プロジェクトの Namespace の変更
変更を行うプロジェクトを開き、「Settings」をクリックし「Transfer」をクリックしてください。 変更後の Namespace を選択し、「Transfer」をクリックしてください。 ※Namespace を変更した場合、Git リポジトリのパスが変更されるので注意してください。Copyright © 2013 BIGLOBE. All Rights Reserved 19
3.2. GitLab でチームを作成しよう
チームの作成
GitLab でチームを利用することで、ユーザをまとめて管理することが出来ます。
GitLab のアイコンをクリックし、Dashboard を開いてください。「Teams」タブを選択し、「New Team」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved 20
チームの作成が完了すると、「Members」をクリックし、「New Team Member」をクリックしてくださ い。
下記の情報を入力し、「Add users」をクリックしてください。
【New Team member(s)】
項目 内容
People メンバーに追加可能なユーザ一覧がプルダウンで表示されます。追加するユ
ーザを選択してください。複数同時に選択できます。 Project Access 追加するユーザの権限を設定してください。
各権限の詳細は以下のページから確認できます。
URL:https:// [YOUR_SERVER_HOST] /gitlab /help/permissions Team Admin? チェックするとこのチームの管理権限を持ちます。
Copyright © 2013 BIGLOBE. All Rights Reserved 21
3.3. GitLab でプロジェクトにチームメンバーを追加しよう
プロジェクトのチームメンバーを追加
GitLab のプロジェクトに追加されているユーザをそのプロジェクトのチームメンバーといいます。プ ロジェクトの作成直後のチームメンバーはプロジェクト作成者しか存在しません。本手順ではプロジェ クトにチームメンバーの追加を行います。 プロジェクトにチームメンバーを追加できるのは、権限をもったユーザのみです。 チームメンバーにユーザを追加する方法
チームメンバーを追加したいプロジェクトのページへ移動してください。 「Settings」をクリックし、「Team」をクリックしてチームメンバーの設定画面を開いてください。 ユーザをチームメンバーとして追加するには「New Team Member」をクリックしてください。Copyright © 2013 BIGLOBE. All Rights Reserved 22
下記の情報を入力し、「Add users」をクリックしてください。
【New Team member(s)】
項目 内容
People チームメンバーに追加可能なユーザ一覧がプルダウンで表示されます。追加
するユーザを選択してください。複数同時に選択できます。 Project Access 追加するユーザの権限を設定してください。
各権限の詳細は以下のページから確認できます。
Copyright © 2013 BIGLOBE. All Rights Reserved 23
チームメンバーにチームを追加する方法
チームをチームメンバーとして追加するには「Assign project to Team of users」をクリックしてくだ さい。
Copyright © 2013 BIGLOBE. All Rights Reserved 24
追加するチームと与える権限を選択し、「Assign」をクリックしてください。
【Assign project to team of users】
項目 内容
Team チームメンバーに追加するチームを選択してください。
Permission 追加するチームメンバーの権限を設定してください。 各権限の詳細は以下のページから確認できます。
Copyright © 2013 BIGLOBE. All Rights Reserved 25
チームメンバーに他プロジェクトのチームメンバーを追加する
方法
他プロジェクトに登録されているチームメンバーを一度にチームメンバーとして追加するには 「Import team from another project」をクリックしてください。
追加元となるプロジェクトを選択し、「Import」をクリックしてください。
【Import team from another project】
項目 内容
Copyright © 2013 BIGLOBE. All Rights Reserved 26
3.4. グループを作成しよう
グループの作成
GitLab でグループを利用することで、プロジェクトをまとめて管理することが出来ます。
GitLab のアイコンをクリックし、Dashboard を開いてください。「Groups」タブを選択し、「New Group」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved 27
グループの作成が完了すると、「New Project」をクリックでグループ内にプロジェクトを作成できま す。
Copyright © 2013 BIGLOBE. All Rights Reserved 28
3.5. 開発環境から GitLab のリポジトリを操作しよう
開発環境に Git を導入
ローカルの PC 端末など、GitLab が動いているサーバ以外の場所で開発を行う場合、その環境に Git を導入する必要があります。 【Red Hat/Fedora/CentOS の場合】 $ yum install git【Windows の場合】
以下の URL から Windows の最新版の Git をインストールできます。 URL:http://git-scm.com/download/win ※これ以外にも GUI ベースの Git クライアントなどたくさんあります。
Git の設定
※ここでは【Windows の場合】を例に手順を紹介しますが、基本は環境が異なっても一緒です。 Git Bash を起動してください。 プロキシの設定が必要な場合、以下のコマンドを実行し、設定を追加してください。$ git config --system http.proxy http://[プロキシサーバのアドレス]:[プロキシサーバのポート 番号]
$ git config --system https.proxy https://[プロキシサーバのアドレス]:[プロキシサーバのポー ト番号]
Copyright © 2013 BIGLOBE. All Rights Reserved 29
開発環境から GitLab リポジトリを操作
開発環境のリポジトリと GitLab リポジトリをリモートで接続し、操作します。接続には SSH か HTTPS を用います。以下に、それぞれの接続方法を示します。 接続に用いる URL は「3.1.GitLab でプロジェクトを作成しよう」を参照してください。 SSH 鍵の設定
SSH で接続する為に、SSH 鍵の設定を行ってください。Copyright © 2013 BIGLOBE. All Rights Reserved 30
「here」をクリックすると、SSH 鍵の生成方法を確認できます。
Copyright © 2013 BIGLOBE. All Rights Reserved 31
(Git bash の実行結果)
$ ssh-keygen -t rsa -C "[email protected]" Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/User1/.ssh/id_rsa): Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/User1/.ssh/id_rsa. Your public key has been saved in /c/Users/User1/.ssh/id_rsa.pub. The key fingerprint is:
9a:**:**:**:**:**:**:**:**:**:**:**:**:**:**:c5 [email protected] $ cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuZrH9n3NTTPCqJpKnuFWLPqOGyKrCHvdy37SpsM7 ************************************************************** ************************************************************** ************************************************************** ************************************************************** aSlW/iEqtPJqRm69+Rw== [email protected] Enter パスフレーズを入力 パスフレーズの確認 以下の結果をコピーし、Key として設定してください
Copyright © 2013 BIGLOBE. All Rights Reserved 32
Copyright © 2013 BIGLOBE. All Rights Reserved 33
SSH 接続で push
例として、GitLab の SampleProject という名前のプロジェクトのリポジトリに対して、SSH 接続で操 作を行います。 開発環境から次の手順を実行し、SSH 接続でリポジトリを生成します。Copyright © 2013 BIGLOBE. All Rights Reserved 34
Git にユーザ設定を行ってください。 $ git config --global user.name "user1"
$ git config --global user.email "[email protected]"
開発環境にリポジトリを作成してください。 $ mkdir sampleproject $ cd sampleproject $ git init 作成したリポジトリの中に、push するファイルを格納してください。 $ vi build.xml $ mkdir document $ vi document/readme.txt ファイルをコミットしてください。 $ git add *
$ git commit -m 'first commit'
ファイルを GitLab リポジトリに push してください。
$ git remote add origin git@[YOUR_SERVER_HOST]:[Namespace]/sampleproject.git $ git push -u origin master
Copyright © 2013 BIGLOBE. All Rights Reserved 35
HTTPS 接続で push
例として、GitLab の SampleProject という名前のプロジェクトのリポジトリに対して、HTTPS 接続で 操作を行います。 GitLab リポジトリを開発環境に clone してください。$ git clone https://[YOUR_SERVER_HOST]/gitlab/[Namespace]/ sampleproject.git
clone した開発環境のリポジトリの中に、push するファイルを格納してください。 $ vi build.xml $ mkdir document $ vi document/readme.txt ファイルをコミットしてください。 $ git add *
$ git commit -m 'first commit'
ファイルを GitLab リポジトリに push してください。 $ git push origin master
Copyright © 2013 BIGLOBE. All Rights Reserved 36
3.6. GitLab でブランチを分けて開発しよう
ブランチとは
Git にはブランチという機能が備わっています。ブランチとは、履歴を分岐して記録していく為のも のです。分岐したブランチは他ブランチの影響を受けないため、複数の変更を同時に進めることが できます。分岐したブランチは他ブランチとマージすることで、1つのブランチにまとめることが出来 ます。 ブランチの作成
例として、「v1.0」という名前のブランチを作成します。 開発環境のリポジトリでブランチを作成し、push する手順を以下に示します。 ブランチを作成してください。 $ git branch v1.0 ブランチが作成されたことを確認してください。 ※「*」の付いているブランチが、現在作業中のブランチとなります。 $ git branch * master v1.0 作業ブランチを切り替えてください。 $ git checkout v1.0 Switched to branch 'v1.0' $ git branch master * v1.0Copyright © 2013 BIGLOBE. All Rights Reserved 37 ブランチ「v1.0」上で開発を行ってください。 $ vi build.xml $ vi document/readme.txt ブランチ「v1.0」の作業情報をコミットしてください。 $ git add *
$ git commit -m 'first commit'
ブランチ「v1.0」を GitLab リポジトリに push してください。GitLab リポジトリにブランチ「v1.0」が作 成されます。
Copyright © 2013 BIGLOBE. All Rights Reserved 38
3.7. GitLab でコミット履歴を閲覧しよう
コミット履歴の閲覧
コミット履歴を閲覧したいプロジェクトのページへ移動してください。 「Files」をクリックし、「history」をクリックしてください。 プルダウンから、ブランチ毎の履歴を確認できます。 閲覧したいコミット履歴をクリックしてください。Copyright © 2013 BIGLOBE. All Rights Reserved 39
Copyright © 2013 BIGLOBE. All Rights Reserved 40
コミット内容の詳細を確認し、コメントを残すことができます。 コメントを入力し、「Add Comment」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved 41
3.8. GitLab でソースをダウンロードしよう
ブランチのソースをダウンロード
ソースのダウンロードを行うプロジェクトのページへ移動してください。 「Commits」をクリックして「Branches」をクリックしてください。ダウンロードを行うブランチの 「Download」をクリックしてください。Copyright © 2013 BIGLOBE. All Rights Reserved 42
3.9. GitLab でブランチの差を比較しよう
ブランチの差分を比較
ブランチの差分を比較したいプロジェクトのページへ移動してください。 「Commits」をクリックし、「Compare」をクリックしてください。「Compare View」に比較するブラン チを入力し、「Compare」をクリックしてください。Copyright © 2013 BIGLOBE. All Rights Reserved 43
Copyright © 2013 BIGLOBE. All Rights Reserved 44
3.10. GitLab でブランチをマージしよう
ブランチをマージ
ブランチをマージすることで、分岐したブランチを1つのブランチにまとめることが出来ます。 GitLab からブランチのマージを行った場合、マージ元に選択したブランチの変更情報が、マージ 先のブランチに書き込まれます。 ブランチのマージを行うプロジェクトのページへ移動してください。Copyright © 2013 BIGLOBE. All Rights Reserved 45
下記の情報を入力し、「Submit merge request」をクリックしてください。From(Head Branch)に 設定したブランチの変更情報を To(Base Branch)に設定したブランチに書き込みます。 【Select Branches】 項目 内容 From(Head Branch) マージ元となるブランチを選択してください。 To(Base Branch) マージ先となるブランチを選択してください。 【Fill info】 項目 内容 Title 作成するマージリクエストのタイトルを入力してください。 Assign to 担当者を選択してください。 Milestone 事象を選択してください。
Copyright © 2013 BIGLOBE. All Rights Reserved 46
マージ内容を確認し、コメントを残すことができます。コメントを入力し、「Add Comment」をクリック してください。
Copyright © 2013 BIGLOBE. All Rights Reserved 47
「Diff」をクリックしてください。To(Base Branch)に設定されたブランチへのマージ内容を確認で きます。
Copyright © 2013 BIGLOBE. All Rights Reserved 48
Copyright © 2013 BIGLOBE. All Rights Reserved 49
3.11. 【応用編】GitLab で問題を共有しよう
問題を登録しよう
対象プロジェクトページで「Issue」を選択してください。 「New Issue」をクリックしてください。Copyright © 2013 BIGLOBE. All Rights Reserved 50
Issue の情報を入力して「Submit new issue」をクリックしてください。
【スニペット情報】 項目 内容 Subject 題名を入力してください。 Assign to 担当者を選択してください。 Milestone 問題の事象を選択してください。 Labels ラベルを入力してください。 Details 問題の詳細を入力してください。
Copyright © 2013 BIGLOBE. All Rights Reserved 51
登録した問題が表示されます。
Copyright © 2013 BIGLOBE. All Rights Reserved 52
3.12. 【応用編】GitLab で wiki を使ってみよう
GitLab では Wiki を利用することができます。Wiki とは、Web 上でサイズやフォントを指定すること のできる文章メモの事です。
Wiki を新規作成
対象プロジェクトページで「Wiki」を選択してください。
Copyright © 2013 BIGLOBE. All Rights Reserved 53
【Wiki】
項目 内容
Format Wiki の記載方法を「Markdown」または「RDoc」から選択してください。 Content Wiki の内容を入力してください。
Commit message コミット時のメッセージを入力してください。
Copyright © 2013 BIGLOBE. All Rights Reserved 54
3.13. 【応用編】GitLab でチャットを使ってみよう
GitLab でチャットを利用してリアルタイムコミュニケーションを取ることができます。 前準備
対象プロジェクトページで「Settings」を選択してください。 プロジェクト設定画面で「Features:」の「Wall」を選択し、「Save」をクリックしてください。 「Wall」タブが表示されます。Copyright © 2013 BIGLOBE. All Rights Reserved 55
チャットの使用方法
対象プロジェクトページで「Wall」を選択してください。 コメントを入力し、「Add Comment」をクリックしてください。 コメント内容が表示されます。Copyright © 2013 BIGLOBE. All Rights Reserved 56
3.14. 【応用編】GitLab でスニペットを作成しよう
GitLab ではスニペットを利用することが出来ます。スニペットは、よく使われるコードやお手本とな るコードを保存しておき、チームメンバーはそれを参照することができます。 前準備
対象プロジェクトページで「Settings」を選択してください。 プロジェクト設定画面で「Features:」の「Snippets」を選択し、「Save」をクリックしてください。 「Snippets」タブが表示されます。Copyright © 2013 BIGLOBE. All Rights Reserved 57
スニペットの使用方法
対象プロジェクトページで「Snippets」を選択してください。
「Add new snippet」をクリックしてください。
Copyright © 2013 BIGLOBE. All Rights Reserved 58 【スニペット情報】 項目 内容 Title スニペットの題名を入力してください。 Lifetime スニペットの有効期間を選択してください。 File ファイル名、およびファイル内容を入力してください。 スニペットが表示されます。
Copyright © 2013 BIGLOBE. All Rights Reserved 59
4. 注意事項
ご注意
本書の内容の一部または全部を無断転載することは禁じられています。 本書の内容に関しては将来予告なしに変更することがあります。Copyright © 2013 BIGLOBE. All Rights Reserved 60