2017/03/02(木) にピクシブ株式会社オフィス(千駄ヶ谷)で行われたGitLab Meetup Tokyo #1に参加しました。ブログ絶対書く枠で参加したので GitLab Pages でレポート公開します!

参加のモチベーション

@tnir 開発統合プラットフォームとしてのGitLabと今後の展開 - Qiita

GitLab の歴史やプロダクトの位置づけ、最近のアップデートで追加された機能などを俯瞰的に紹介。基調講演的な位置づけでしょうか。
GitLab.comデータベース消失事故がもさらっと紹介。GitLabという製品に問題があったのではなく、オペミス。 ←勘違いされそうなので重要

@catatsuy GitLabの実践的な運用 #gitlabjp - Qiita

GitLab のインストール、MySQLを使うときの注意、バックアップ、アップグレードなど。

  • グローバルIPを持つサーバが必要
  • サーバは1台が前提
  • DBサーバは別に出来る
  • GitLabのデータ種別

など豆知識として覚えておきたい。GitLab をMySQLで使うのは考えないことに…

@hiroponz GitLabコミュニティーへのコントリビュート - Google スライド

GitLab に MR を送るときに知っておきたい知識まとめ。コントリビュートのメリットやマージされやすくなるポイントについては GitLab 特有の話ではないと思いました。ここ半年くらい CakePHPプロジェクト(主にドキュメント)に PR を送るようになったので共感できることが多かった。
GitLab も日常的に使っているツールなので、コントリビュートできるかも…?

@sue445 ここがすごいよGitLab CI #gitlabjp

CI 設定は yaml ファイルをコピペすれば使い回せるのはよいですね
GitLab CI は docker runner を使えば Docker の勉強にもなるのもよいと思った

LT 1: @uchienneo 「GitLabを利用したプロジェクト運営(仮)」

GitLab の カンバンボードライクな機能 (Board, Milestone) の活用について。
個人ツール作成では使ってますがチーム開発では Redmine なので、活用事例として参考になる。
全体俯瞰とドラッグアンドドロップ出来るところがいいですね。あとは、レーン内で順番入れ替えが出来れば…

LT 2: @jvasseur GitLab CI with docker-in-docker

LT 聞いたときはあまり分からなかったので資料をチェックしての今の理解

  • CI マシンを複数のプロジェクトで使う、同時実行が想定される→ Docker runner でええやん
  • GitLab CI で Docker イメージをビルドする→ Docker in Docker (DIND) を使う
  • DIND でのビルドはいくつか問題が → Shell runner を使ってみる
    • Shell runner もあまり推奨できない(セキュリティとか)
  • Docker 1.13 の --cache-from オプションを使うと キャッシュ、同時並行性などの問題が解決

LT 3: @Kirika_K2 ファイルシステムのスナップショット機能でバックアップを取得する

  • LVM の話

LVM 概要はわかりますが、コマンドで動作確認したことはないと思う
リストア時は無停止ではできないが、リストア方法さえ把握していれば手軽かも…?

LT 5: @jeffi7 「わりと大きい会社でGitLabをホスティングしてみた話」

  • プロプライエタリなツール群から GitLab に移行した話
  • Rails の知見がない、どうする?
  • Docker コンテナがリリースされてた
  • ユーザー/プロジェクト数 1,000 over
  • Prometheus 入門中

まとめ

CI/CD の話が知りたかったのが目的で参加しましたが、コントリビュートや運用上の問題の話も今後の役に立ちそうです。
Gitリポジトリをホストすること自体が業務ではないですが、セルフ運用するからには知識経験はあればあるほどよいので、楽しく使えるようになりたいですね。

おまけ: 参加レポートのために GitLab Pages を使ってみました

静的サイトジェネレータ

せっかくなので、GitLab Pages で参加レポートを公開してみよう、ということで 3 時間ほどかけて環境構築しました。静的コンテンツジェネレータはまともに使ったことがないので、ツール選びの必要があり、以下のツールを選択。(ツールの善し悪しは検討せず、サイトの見た目で選択しました)

GitLab CI でGitLab Pages に公開

このブログは GitLab Pages でホストされていますが、初めて使いました。
最近 GitLab CI + docker runner で少し遊んでいるので、なんとかなると思いました。
.gitlab-ci.yml の設定は以下の通りです。
(キャッシュ設定などサイト公開に直接不要な項目を削除)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
image: node:7.7
before_script:
- yarn install
stages:
- deploy
pages:
stage: deploy
script:
- yarn deploy
artifacts:
paths:
- public

完全な設定は .gitlab-ci.yml · master · Koji Tanaka / note · GitLab

pages: セクションで package.json に定義したスクリプトを実行して、 public ディレクトリに生成。 artifacts:public を指定すると、それが GitLab Pagesで公開される仕組みのようです。
GitLab Pages のために、ブラウザから GitLab リポジトリの設定を変更する必要はありません。
Git リポジトリへの変更がすべてなので、ノウハウを共有したいときにありがたいと思いました。

コミット履歴はCommits · master · Koji Tanaka / note · GitLab