Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
https://www.conoha.jp/
Gitとはソースコードなどの変更点を管理するための分散型の
バージョン管理ツールです。イマドキの開発にGitは欠かせない
ツールで、この本を読んでくださっている皆様の中にも、すでにお
使いの方も多いと思います。Gitは「分散型」という特徴を持って
いて、複数の開発者がリポジトリを持つことができ、それぞれのリ
ポジトリ間で変更点をやりとりしながら変更管理を行います。その
ため、Gitはスタンドアローンの環境で使うこともできますが、ネッ
トワークを経由してリモートにあるリポジトリを利用することが一般
的に行われています。Gitのリポジトリをホストするためのサービス
がいくつかあり、代表的なものはGitHub https://github.com/
です。しかしこの本では、オープンソースソフトウェアのGitLab
https://about.gitlab.com/ を使用して、自分だけのGitサーバ
を構築して、プライベートなリポジトリ運用を試していきます。
まえがき
■ Gitに触れてみる。■ ConoHaでGitLabを使いGitサーバを構築する。■ 簡単なプロジェクトを作成し、作成したリモートリポジトリに送信(git push)してみる。
■ とりあえずConoHaでVPSを1台契約済みであること。■ GitやSubversionなど、バージョン管理ツールを触ったことがあること。
前 提
目 標
I. さぁはじめよう
補足: 「Git」はバージョン管理ツールのことで、「GitLab」はGitのリポジトリをホストするためのソフトウェアです。
混乱しやすいので注意!
[conoha@VPS]$ sudo yum -y install wget postfix git
II. リモートリポジトリを作る
GitLabをインストールしてみよう1
最初にGitLab(原稿執筆時のバージョンは7.1.1)のインストールを行います。OSは
ConoHaの標準OSであるCentOS6.5(64bit)を使用します。作業は一般ユーザで行い、
root権限が必要な作業はsudoで行うようにしています。
また、ConoHaの標準OSをお使いでない場合は、wget, postfix, gitをインストールしておいてください。CentOSなどではyumを使用して、以下のようなコマンドになります。
さぁ GitLabのインストールに進みましょう。基本的にはオフィシャルのドキュメント通りで
すが、わかりやすいように少し解説を入れてあります。まず、GitLabのRPMファイルをダウ
ンロードしてインストールします。
[conoha@VPS]$ sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT[conoha@VPS]$ sudo service iptables saveiptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
さらに、標準OSはファイアーウォール(iptables)が設定されていて、Webサーバへのアク
セスができません。以下のコマンドで設定を変更しましょう。
Gitのリポジトリを2つ作成して、ソースコードをやりとりしてみます。ひとつはローカルリポジトリ、もうひとつはリモートリポジトリになります。ローカルリポジトリはgitコマンドで作成し、リモートリポジトリはGitLabをインストールして構築します。本来はローカルリポジトリとリモートリポジトリはネットワーク越
しにアクセスすることになりますが、今回はチュートリアルなので両方とも同じVPSの中で作成します。 gitに慣れている人は簡単でしょうが、初めてgitに触る方向けに解説も入れてありますので、頑張っていきましょう!
「ConoHa」のVPS
Gitプロジェクト作成
ローカルリポジトリ
git push
リモートリポジトリ
やさしいやろ〜(ー́`)y─┛~~
GitLabでリモートリポジトリを作る2
GitLabで使用するSSHキーペアを作成する3
リモートリポジトリへの接続にはSSHが使われます。なので接続に使うSSHキーペアを作
成して、公開鍵をGitLabに登録します。
[conoha@VPS]$ sudo -e /etc/gitlab/gitlab.rb
次に、GitLabの設定ファイルを変更します。URLが書いてあるので、ホスト名の部分を
VPSのIPアドレスに置き換えればOKです。
これでGitLabのインストールは完了です!
[conoha@VPS]$ sudo gitlab-ctl reconfigure
最後にGitLabの最終設定と、アプリケーションサーバ、Webサーバを起動します。これは
GitLabにコマンドが用意されているので、以下のコマンド一つで行えます。
Webブラウザからhttp://[VPSのIPアドレス]/にアクセスすると、GitLabが表示されます。初期設定ではユーザ名が「root」、パスワードが「5iveL!fe」に設定されているので、ログインしてください。初回ログインの時だけ、パスワードの変
更を求められます。
[conoha@VPS]$ wget https://downloads-packages.s3.amazonaws.com/centos-6.5/gitlab-7.1.1_omnibus-1.el6.x86_64.rpm[conoha@VPS]$ sudo rpm -i gitlab-7.1.1_omnibus-1.el6.x86_64.rpm
[conoha@VPS]$ ssh-keygen -b 2048Generating public/private rsa key pair.
(中略、Enterを押して進めて構いません)[conoha@VPS]$ cat ~/.ssh/id_rsa.pub
次に、新しいプロジェクトを作成し
てみましょう。「New project」をクリックして、プロジェクトの情報を入
力します。ここでは「conoha」としました。
「Create project」クリックするとプロジェクトが作成されます。このプ
ロジェクトが、今回使用するリモート
リポジトリになります。
ここにプロジェクト名を入力やv(・ω・)
ここからが本番やで(°Д°)
### 名前、メールアドレスを設定します。[conoha@VPS]$ git config --global user.name "Mikumo Conoha"[conoha@VPS]$ git config --global user.email "[email protected]"
公開鍵が表示されますので、先頭の
ssh-rsa から末尾までをコピーします。
次に、GitLabの右上のメニューから
「Profile Setting」→「SSH Keys」と進み、緑色のボタン「Add SSH Key」をクリックします。これでリモートリポジトリの準
備は完了です!
III. ローカルリポジトリを作る
gitコマンドでローカルリポジトリを作る1
まずは、Gitの設定を行いましょう。Gitはリポジトリに対して操作をした時に、変更者の名
前やメールアドレスを同時に記録する仕組みになっています。まずはあなたの名前、メールア
ドレスの設定を行いましょう。configというサブコマンドを使用します。
設定が終わったところで、今度はローカルリポジトリを作成します。今度はinitというサブコマンドです。
さてリモートリポジトリができたので、ここからは本格的にGitを使っていきます。Git慣れていない方は、一つずつ確認しながら進めてみてください。 Gitにはコマンドラインから操作するためのgitというコマンドが用意されています。gitコマンドは、スペースに続いてサブコマンドを追加することで、様々な機能を実現します。
# ホームディレクトリにプロジェクトのディレクトリを作成して、そのディレクトリに移動[conoha@VPS]$ cd[conoha@VPS]$ mkdir conoha-project[conoha@VPS]$ cd conoha-project
# gitのリポジトリを作成する[conoha@VPS]$ git initInitialized empty Git repository in /path/conoha_project/.git/[conoha@VPS]$
[conoha@VPS]$ git status# On branch master## Initial commit#nothing to commit (create/copy files and use "git add" to track)[conoha@VPS]$
これでリポジトリが出来ました! これだけです、簡単ですね。 えっ、何も起きてないじゃ
ないかって? ではstatusサブコマンドを実行してみましょう。
ここにSSH公開鍵を
貼り付けるんやでv(・ω・)
ここからが本番やで(°Д°)
ここからが本番やで(°Д°)
これはリポジトリが作成され、現在のブランチが"master"であることを意味しています。また「nothing to commit」なので、まだ何もコミットがされていない、つまり空のリポジトリであるということです。
なにかプロジェクトを作ってみよう2
さあリポジトリができたので、ファイルを追加してみましょう。今回はチュートリアルです
ので、簡単なHTMLファイルを用意してみました。
[conoha@VPS]$ echo "<html><body><p>ConoHa - VPSは、まだまだ楽しくなれる。</p></body></html>" > index.html
このファイルをローカルリポジトリに追加してみましょう。
[conoha@VPS]$ git add index.html[conoha@VPS]$ git status# On branch master## Initial commit## Changes to be committed:# (use "git rm --cached <file>..." to unstage)## new file: index.html#[conoha@VPS]$
-m オプションでコミットの際のコメントを指定しています。これでリポジトリにファイルが追加されましたが、せっかくなのでファイルが追加されたことを確認してみましょう。サブコマ
ンドlogを使用します。
[conoha@VPS]$ git logcommit 32ba3657964b18762ed9c5294154fb2bbeeb547fAuthor: Mikumo Conoha <[email protected]>Date: Thu Jul 31 18:43:27 2014 +0900
Initial commit.[conoha@VPS]$
サブコマンドのaddを使用しました。しかしこの状態では、ファイルはまだリポジトリに追加されていません。Gitはリポジトリに対してコミットという操作を行うことで、リポジトリに対する変更を確定させます。ファイルの追加もリポジトリに対する変更なので、コミットを行う
必要があります。
[conoha@VPS]$ git commit -m "Initial commit." [master (root-commit) 32ba365] Initial commit. 1 files changed, 42 insertions(+), 0 deletions(-) create mode 100644 index.html[conoha@VPS]$
カクニンが大事や(̄ ∠  ̄ )
ここからが本番やで(°Д°)
IV. ローカルリポジトリとリモートリポジトリの連携
[conoha@VPS]$ git push -u origin masterCounting objects: 3, done.Delta compression using up to 4 threads.Compressing objects: 100% (2/2), done.Writing objects: 100% (3/3), 719 bytes, done.Total 3 (delta 0), reused 0 (delta 0)To [email protected]:root/conoha.git * [new branch] master -> masterBranch master set up to track remote branch master from origin.
コミットした情報がログとして表示されました(commitに続く文字列は、環境によって異
なります)。
そしてpushを実行します。
ようやくチュートリアルの目的である、リポジトリ同士の連携です。ローカルリポジトリ
の内容を、リモートリポジトリに送信してみましょう。これにはpushというサブコマンドを使用します。 まずはローカルリポジトリ上で以下のコマンドを実行します。これはリモート
リポジトリの接続先を設定するものです。
これでローカルリポジトリの変更が、リモートリポジトリに反映されました。ブラウザから
GitLabにアクセスし、確認してみましょう。トップページに戻り、メニューから「Projects」→「(作成したプロジェクト名)」と選択していくとプロジェクトのページにアクセスできます。さらにメニューから「Files」を選びindex.htmlを選択してみましょう。
作成したHTMLファイルが表示されました。これでローカルリポジトリとリモートリポジトリ
が同期されたことになります。
チュートリアルはここで終わりですが、実際の開発では、このあとリモートリポジトリを複数の開発者で共有して、開発を進めていくことができます。このチュートリアルではリモートリポジトリを自分で構築しましたが、GitHubなどを使う場合でも基本的な考え方や、Gitの操作は同じです。皆様もGitを活用して、楽しい開発ライフを送ってください。
[conoha@VPS]$ git remote add origin git@(VPSのIPアドレス):root/conoha.git
Happy Hackingやでーヾ (́ε`●)ノ
長く苦しい戦いだった…(́ Д` ;)/ヽ ァ・・・
VPSは、まだまだ楽しくなる。
2014年8月23日 初版発行
編集:ConoHaの中の人たち
発行者:児玉公宏
発行所:GMOインターネット株式会社
住所:東京都渋谷区桜丘町26-1セルリアンタワー
TEL: 03-6702-0428
「ConoHaの薄い本!」vol.5 Gitを使ってみよう & 自分だけのGitサーバーを構築してみよう!
https://www.conoha.jp/
Happy Hackingやでーヾ (́ε`●)ノ