2018年09月一覧

GitLab on Docker を構築する

運用している GitLab が古いこともあって、 CentOS 7 (1803) の上で再構築することにしました。
GitLab 本体のバージョンを更新しやすく&サーバー移動するかも、という2点から、 Docker の上に GitLab を動かすことを考えてみました。

CentOS の準備

使用した CentOS は 7 (1804) 64bit です。これは RHEL 7.5 ベースのものとなります。
最新パッケージにすることや、必要最小限に留めたい理由より、 Minimum の構成でインストールしました。
以降の説明は selinux の無効化や、ネットワーク接続は出来ている前提で話を進めます。

まずは以下のコマンドでパッケージを更新しておきます。

Docker 関連の準備

以下のコマンドで Docker をインストールします。インストール後、バージョンを確認したところ 1.13.1 がインストールされたようです。

続いて Docker-Compose をインストールします。
Docker-Compose のページから最新版をインストールしました。
このページにインストール方法も書いてありますが、以下のようなコマンドを実行しました。

ここで Docker を起動しておきます。

GitLabのインストール

こちら(https://gitlab.com/gitlab-org/omnibus-gitlab/)で公開されている docker-compose.yml を使用します。
適当な場所に docker-compose.yml ファイルをダウンロードしておきます。

docker-compose.yml に構築のパラメータが詰まっているので、先に編集します。

サブディレクトリで GitLab を運用したいので、 external_url を編集します。
ポート番号を指定する場合にはここで必要となります。

以下のコマンドで、コンテナを起動させます。初回には、 公式のリポジトリからイメージを取得するため、時間がかかるものと思われます。
この記事を書いているときには、11.2.3 の GitLab のイメージが取得されました。

この docker-compose.yml により、 gitlab のコンテナが動き出します。自分の環境では実行開始してからアクセスが出来るようになるまではしばらく時間がかかりました。
進行状況などのログを見るには以下のコマンドを実行します。

定常状態になったことを確認できたら、ブラウザでアクセスして期待通りの表示が出るかを確認します。
GitLab のログイン画面が表示されるようであれば成功です。

細かな設定など

細かな設定などは docker-compose.yml ファイルを編集することで出来ると思いますが、
自分は /srv/gitlab/config にある gitlab.rb ファイルを編集することにしました。

編集した後は次のコマンドで設定を反映させます。

まとめ

最近 Docker で環境作りばかりやっている気がします。
しかし、かつてはソースやrpmパッケージを入れてサービスを構築していましたが、それが docker-compose で入るようになってきて導入が色々と楽になってきたように思います。環境が閉じているので、いざというときには稼働インスタンスも変更させやすいですし、いい時代になりました。


Asciidoctor の環境を Docker on WSL にて作る

以前に構築した Docker on WSL の環境に、 Asciidoctor の環境を構築してみたいと思います。
Asciidoctor は AsciiDoc の後継のソフトウェアで、 Markdown よりは表現力が高いドキュメントを作成することが出来るものとなっています。

インストール・セットアップ

スタートメニューから Ubuntu 16.04 を起動して、 WSL の環境で以下のコマンドを実行します。

実行

以下のコマンドを実行して、コンテナの中の bash にて作業を行います。
ここでは、 C ドライブの mydoc フォルダがあると想定して、ここをコンテナの中にマウントさせています。

基本となるドキュメントを sample.adoc のようなファイル名で作成して、 Asciidoctor に処理させるには以下のようにします。

この結果、 html ファイルが生成されます。
adoc の書き方は各所で紹介されているので、そちらを参照してください。

Asciidoctor は PDF を出力することも対応しています。コマンド asciidoctor-pdf を使用すれば、 PDF が生成されます。

数式の対応など

Asciidoctor の拡張として、数式に対応したものがあるので、以下のようにしてインストールします。
Docker コンテナの中で作業する必要があります。

このようにインストールした上で、以下のようなマークアップと Latex 数式の文法によって、見栄えのよい数式を使うことができます。


拡張を有効化して使うには以下のようにオプションを指定して、実行する必要があります。

不満点など

Asciidoctor で、 book タイプで作成したときに、章のナンバリングに不満があります。
PDF 変換の場合では、”:chapter-label:” 変数で、 “Chapter” の代わりの文字を指定出来るのですが、これだと “第 1” のようにしかできませんでした。
“Chapter. 1” ではなく、 “第1章” のように作りたかったので残念でした。

他の見栄えが良さそうなだけに、この点だけが課題だったので asciidoctor-pdf のソースコードを書き換えて対応することにしました。 Asciidoctor のエクステンションとして作成できるようだったら本家にプルリクエストを発行しようと思っていますが、まずは自分一人で使って、問題が出ないかを確認してみようと思っています。



小さい Arduino

夏休みに小さな Arduino を買いました。
というのも、 Atmega A328P-PU を買ってきて、ブートローダーの書き込みをして… とやっていたのですが途中からうんともすんとも言わない状況になってしまいお手上げになってしまったからです。
安いのでまた買ってくればよいのですが、他に何かないかなぁと探していたところに Arduino Nano, Pro-Mini を発見した次第です。

続きを読む