@znz blog

ZnZ の memo のようなもの

GitLab と Dokku (と一部 Heroku) を使って CI/CD (Continuous Integration / Continuous Deployment) 環境を作ってみた話の続きです。 CI 部分のメインとなる GitLab Runner の設定の話です。

GitLab と Dokku (と一部 Heroku) を使って CI/CD (Continuous Integration / Continuous Deployment) 環境を作ってみたので、何回かにわけてその話を書いていきます。 最初は Omnibus GitLab 自体の設定の話です。 certbot で https を有効にして、 GitLab Container Registry や GitLab Mattermost も有効にします。 GitLab Pages も有効にしますが、 certbot での自動化はできなかったので http のみの設定です。

さくらの VPS 環境でも ssh などの秘密鍵を置くなら、ディスクの暗号化は使いたいので、リリースされたばかりの Debian 9 の ISO をアップロードしてインストールして、暗号化されていない /boot に鍵ファイルを置いて自動起動を設定しました。

Ruby には 2.3.0 から入っていた indented here document が「Perl 5.26」リリース、「@INC」の仕様が変更される | OSDN Magazine によると、Perl 5.26 にも入ったようなのですが、挙動が若干違うようなので、調べてみました。 (最初に調べたのは OSDN Magazine の記事をみた直後だったのですが、調べた結果を残し忘れていたので、今日調べなおしたものになります。)

ansible で json ファイル (今回は /etc/docker/daemon.json) を更新したかったのですが、 lineinfile や replace や ini_file のように単独のモジュールで簡単にできるものではなかったので、少し工夫をして実現しました。