diff --git a/content/post/Forgejo+WoodpeckerでCICD環境を所有する.md b/content/post/Forgejo+WoodpeckerでCICD環境を所有する.md index e2596ae..5cfab39 100644 --- a/content/post/Forgejo+WoodpeckerでCICD環境を所有する.md +++ b/content/post/Forgejo+WoodpeckerでCICD環境を所有する.md @@ -186,7 +186,7 @@ server { ALLOWED_HOST_LIST = external,loopback ``` -また、一人で使用するなら新規登録機能は予め封じておいた方が無難だ。ただし、初期設定で管理者アカウントを作らず先に登録を無効化するとブラウザ経由でログインする方法がなくなってしまうのでこの設定は後に行う。 +また、一人で使用するなら新規登録機能は予め封じておいた方が無難だ。ただし、初期設定で管理者アカウントを作らず先に登録を無効化するとブラウザ経由でログインする手段がなくなってしまうのでこの設定は後に行う。 ```ini [service] @@ -196,7 +196,7 @@ REGISTER_EMAIL_CONFIRM = false ALLOW_ONLY_EXTERNAL_REGISTRATION = false ``` -一通りの設定が済んだらWebページの右上の+マークから「新しいリポジトリ」を作成して`git clone`や`git push`の実行を確認する。ちなみに、SSHキーの紐づけはユーザ設定の「SSH/GPGキー」から行える。`docker-compose.yml`の`ports`で指定したポート番号がSSH通信に用いられるので、それに応じたポートを開ける。 +一通りの設定が済んだらWebページの右上の+マークから「新しいリポジトリ」を作成して`git clone`や`git push`の動作を確認する。ちなみに、SSHキーの登録はユーザ設定の「SSH/GPGキー」から行える。`docker-compose.yml`の`ports`で指定したポート番号がSSH通信に用いられるので、それに応じたポートを開ける。 ```zsh ufw allow 4444 @@ -217,7 +217,7 @@ Forgejoのユーザ設定から「アプリケーション」に進んで「OAut ## 実践例 -静的サイトジェネレータのデプロイを例にとる。実は当ブログも先月中旬からCloudflare PagesではなくVPS上で稼働しており、Forgejo上のリモートリポジトリにPushした変更をWoodpeckerへ渡すことで類似のデプロイ環境を再現している。実際の記述例は以下の通り。 +静的サイトジェネレータのデプロイを例にとる。実は当ブログも先月中旬からCloudflare PagesではなくVPS上で稼働しており、Forgejo上のリモートリポジトリにPushした変更をWoodpeckerへ渡すことで同等のデプロイ環境を再現している。実際の記述例は以下の通り。 ```yml clone: @@ -247,15 +247,15 @@ steps: target: /var/www/html ``` -上記の例では`hugo`コマンドを実行するコンテナによって吐き出された静的ファイルを`rsync`コマンドでVPS上の`/var/www/html`に同期する方法にてデプロイを行っている。その際に使用されるSSH通信の秘密鍵やポート番号などはコンテナファイルに直接記述すべきではないので、Woodpeckerの機能を用いて秘匿化してある。これは各リポジトリ画面の右上の歯車から「Secrets」で設定できる。 +上記の例では`hugo`コマンドを実行するコンテナによって吐き出された静的ファイルを、`rsync`コマンドでVPS上の`/var/www/html`に同期する方法にてデプロイを行っている。その際に使用されるSSH通信の秘密鍵やポート番号などはコンテナファイルに直接記述すべきではないので、Woodpeckerの機能を用いて秘匿化してある。これは各リポジトリ画面の右上の歯車から「Secrets」で設定できる。 -余談だが、Woodpeckerではパイプラインを実行するとかわいいアニメーションが見られる。僕はこれを目の当たりにした瞬間に一発でこのソフトウェアが好きになった。機能的には不必要とはいえこういう遊び心ってすごく大切だ。30分くらいは余分に働いてもいい気分になる。 +余談だが、Woodpeckerではパイプラインを実行するととてもかわいいアニメーションが見られる。僕はこれを目の当たりにした瞬間に一発でこのソフトウェアが好きになった。機能的には不必要とはいえこういう遊び心ってすごく大切だ。30分くらいは余分に働いてもいい気分になる。 ![](/img/211.gif) ## おわりに -かつてGitやCI/CDはローカルかセルフホスト環境で実行するサービスだったが、いつからかGitHubなどの営利企業が豊富な計算資源に幅を利かせてずいぶん手軽に使いやすくしてしまった。これらの無料枠は大半のユーザにとってとてつもなく寛大すぎたため、あらゆるプロジェクトがバージョン管理システムとCI/CDの恩恵に与る未曾有の黄金時代が到来した。 +かつてGitやCI/CDはローカルかセルフホスト環境で実行するサービスだったが、いつからかGitHubなどの営利企業が豊富な計算資源に物を言わせてずいぶん手軽に使いやすくしてしまった。これらの無料枠は大半のユーザにとってとてつもなく寛大すぎたため、あらゆるプロジェクトがバージョン管理システムとCI/CDの恩恵に与る未曾有の黄金時代が到来した。 しかし、その一方で営利企業とは当然ながら自己利益優先で動く顔のない怪物だ。昨日までの最良の友が寝て起きたら人を食う魔物に変貌していたなどという事態はいつでも起こりうる。利益率を重視するあまり元々は洗練されていた機能が混沌の渦中に堕し、積み重なったベンダーロックインの依存性ゆえ抜け出すにも抜け出せない危険性は常に考慮しなければならない。