欲しいものリスト

phoenix-powerこれからGitHubを使おうとしている人は、GitLabのほうがよいかもしれないという話

最近、GitLabを使い始めていますが、一言で言うと「よい」です。GitLabはGitHubを真似して作られましたが、無料機能が微妙に違います。特に大きいのは以下ですね。

  • プライベートリポジトリを使える

  • GitLab CIが使える

今までCIはリポジトリ管理とは別のサービスで使っていたひとが多いと思います。GitHub+WerckerやGitHub+Travisなど。

しかし、GitLabは例えば、GitLab Pagesをリポジトリ(master)で作り、GitLab CIを使って自動デプロイすると、即座にページを公開できます。今までCIサービスに紐付けして、リポジトリのビルドをしていたので、その辺は随分簡単になっていると思います。

https://gitlab.com/groups/pages

例えば、hugoでページを作りたいなら、以下の手順で公開できます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ git clone git@gitlab.com:pages/hugo.git
$ cd hugo
$ rm -rf .git

# 自分のプロジェクト(リポジトリ)にhugoを作成して以下のコマンドを実行
$ git init
$ git remote add origin git@gitlab.com:$USER/hugo.git

# baseurlを自身のものに変更する
$ vim config.toml
baseurl       = "https://$USER.gitlab.io/hugo/"

$ git add .
$ git commit -m "first"
$ git push -u origin master

# ページが出来上がるまで多少待たなくてはいけないかもしれません
$ curl -sL $USER.gitlab.io/hugo

https://syui.gitlab.io/hugo

ここで、$user.gitlab.ioなどのプロジェクト(リポジトリ)名にすると、アドレスがトップになり、それ以外なら$user.gitlab.io/repoという形になります。

このような関係からこちらにあるサイトジェネレーターを使ってページを作成する場合、使用するアドレスによってはソースの変更が必要になります。

例えば、Octopressで$user.gitlab.ioという形でページを作るには、以下のリポジトリを参考に/octopressを削除します。ちなみに、このリポジトリをGitLabの$user.gitlab.ioリポジトリに使うと、何もしなくてもそのままページを表示できるようになっています。ただ、_config.ymlのURLはユーザーのものに変更しないといけませんが。

https://github.com/syui/octopress-gitlab

https://syui.gitlab.io

公式は$user.gitlab.io/octopressという形を予定しているために、コードを変更しないと適切に表示されません。具体的には、/octopressという指定をコードから削除する必要があります。トップではなく、リポジトリ名を使う場合は、/octopressをリポジトリ名に置き換える必要があります。

もちろん、グループも使えますので、$userのところは、既にGitLabで取得されていないアカウントIDでないかぎり変更可能です。

話をまとめると、これからアカウント作ろうと考えている人は、GitLabのほうがおすすめかもしれないということです。

特にCIとの連携が機能すると思います。このことは、単純なWebサイト作成手順を見ても明らかです。

ちなみに、私は、現在、BitbucketからGitLabへの移行を進めています。

移行理由としては、Bitbucketが使いにくいとかいう話では実はなくて、ユーザーID(アカウントID)がsyuiで取得できなかったからというつまらない理由なのですが、GitLabは便利だと思います。(でも、結構、Bitbucketにもお世話になっていて、移行がすごく大変です。

GitLabの感想ですが、多機能性や進歩の速さはすごいと思います。

しかし、安定性というかなんというか、そういった点では、やはり、GitHubのほうが使いやすいと感じます。

安定性という表現も抽象的ですが、「iPhoneにおけるAndroid」のようなすごく表現しにくいあれです。

なんとなく感じる程度のことですが、確実にそういったものはあるように思います。不安定さというか。

GitLabはなんというか不安定な感じがします。使ってて。

しかし、GitLabはこれからどんどん使われていくような気がするのでおすすめです。