GitLab 8.17 リリース
GitLab 8.17 がリリースされました。オープンソース版の GitLab CE にも、ついに GitLab Pages が導入されました!
変更点
GitLab 8.17 の変更 の中から、個人的に気になるものをピックアップします。
GitLab Pages (GitLab CE)
何はなくとも GitLab Pages です! GitHub Pages と同様に、静的ページをホスティングしてくれるサービスです。GitLab EE では標準搭載されていて、GitLab.com でも使えていたので、利用されていた方も多いのではないでしょうか?
その、GitLab Pages がオープンソース版の GitLab CE にも導入されました。GitLab 社が導入を決定した経緯については、coolchicprogramer さんのブログなぜGitLab PagesをCommunity Editionでも利用できるようにしたのかが詳しいです。
簡単に説明すると、ウェブサイトを手軽に公開する機能です。
GitLab Pages の管理者のセットアップは GitLab Pages administration を、GitLab Page を使うには GitLab Pages を見てください。
プロジェクトの .gitlab-ci.yml
ファイルに以下のように書いておくと、index.html
が公開され、http://your-name.pages.example.com/project1
でアクセスできるようになります。
# .gitlab-ci.yml
pages:
script:
- mkdir -p public
- echo test > public/index.html
artifacts:
paths:
- public
なはずなのですが、自分の手元の環境 (テスト用にクリーンインストールしてます) ではうまく動きませんでした。しかも、GitLab Pages が楽しみで 8.17-rc のころから追いかけてたのですが、一度も動いたことはありません。どうしても、pages:deploy failed
となります。
さすがに 8.17 リリース版でも動かないのは自分の環境が悪いのかと思い、調べてみました。動かない原因は以下の二点のようです。
-
/opt/gitlab/sv/gitlab-pages/run
の一部の記述を削除して、gitlab-ctl restart
しないといけない #28579 -
unzip
コマンドが必要
手順をまとめておきます。
サーバーにログインして、(Docker 版を利用している方は、docker exec -it gitlab-name bash
で) /opt/gitlab/sv/gitlab-pages/run
ファイルから -damen-?id
の二行を削除してください。
--- /opt/gitlab/sv/gitlab-pages/run.orig 2017-02-23 11:44:30.239648963 +0000
+++ /opt/gitlab/sv/gitlab-pages/run 2017-02-23 11:44:38.311859846 +0000
@@ -10,8 +10,6 @@
exec /opt/gitlab/embedded/bin/gitlab-pages \
-listen-proxy "localhost:8090" \
- -daemon-uid "$(id -u "git")" \
- -daemon-gid "$(id -g "git")" \
\
-pages-domain "pages.virt.heavenly.fujitsu.local" \
-pages-root "/var/opt/gitlab/gitlab-rails/shared/pages" \
そして、gitlab-ctl restart
でサービスを再起動します。ちなみに、この書き換えたファイルは gitlab-ctl reconfigure
で元に戻ってしまうので要注意です。
その後、apt-get update && apt-get install unzip
で unzip
コマンドをインストールしてください。(Ubuntu の場合)
再チャレンジしたら動きました!
作成されたウェブサイトは Pages
メニューからたどると分かります。
無事表示されました!
Easily Search and Add Issues to Issue Boards
8.17 から Issue Board (いわゆるカンバン) の使い方がちょっと変更されました。
- Backlog が廃止され、リストに属していない Issue が表示されなくなった
-
Add Issues
ボタンが追加され、これで Issue を Board に登録するようになった
もともと、Backlog には多くの Issue が表示されるようになっており、そこから探しだして ToDo
に追加していくのはかなり大変だったようです。ToDo
に追加したい Issue を探しやすくなっており、使いやすくなりました。
詳しくは使ってみるのが一番だと思います!
Copy and Paste GitLab Markdown
地味にすごいのがこの機能です。Markdown をそのままコピーできます。何を言っているのかわからないと思いますが、とにかくすごいです。
Link from Merge Request interface to Environment に動画がありますので、とにかくそれを見てください!
Link from Merge Request interface to Environment
これ、すごいです! すごいしか言ってませんが...
Link from Merge Request interface to Environment よりも、Go directly from source files to public pages on the environment の方が分かりやすいかもです。
.gitlab/route-map.yml
ファイルを用意しておくことで、Repository のファイルから該当するウェブアプリの URL へのリンクボタンがつくようです。
例えば、GitLab で app/views/users.ejs
というテンプレートファイルを表示している時、その画面に http://preview-app.master.example.com/users
へのリンクがつくという感じです。
Merge Request で変更されたコードをレビューしながら、ボタンを押すと該当するウェブアプリの画面に直接飛べるんですよね。レビューがはかどりますね。
Streamlining Project Settings and Navigation
プロジェクトの右上にある歯車アイコンのメニューが整理されました。まとめられたり、名前が変わったりしています。注意してください。
他にも、今まで Build
と呼んでいたものが Job
に変更されたようです。
Redesigned Slack and Mattermost Issue Messages
Redesigned Slack and Mattermost Issue Messages を見ればすぐに解ると思いますが、Mattermost や Slack で Issue を表示するときの見た目が大幅に改善されました。
API v4 Beta
GitLab API の V4 が使えるようになりました。GitLab 9.0 (来月っぽい) からこれが正式となり、API V3 は非推奨となるようです。
V3 to V4 version を参照してください。
Add PlantUML support for Markdown
個人的に大好きな PlantUML が Markdown でも使えるようになりました!
AsciiDoc では 8.16 に導入 されていました。
Display project ID in project settings
プロジェクト ID がプロジェクトの設定画面で確認できるようになりました。地味に便利です。
最後に
今回の目玉はなんと言っても GitLab Pages ですね! Issue Board が使いやすくなっているのも見逃せません。
さて、来月は 9.0 です。GitLab Direction をざっと見ると、嬉しい機能追加がありましね。
- GitLab グループの作成で Mattermost Team が作られる (When creating GitLab group, create Mattermost team)
- Nested groups
相変わらず楽しみです。