VPSにWoodpecker CIをセルフホストする方法(完全ガイド)
Woodpecker CIは、オープンソースのContinuous Integration and Continuous Deployment(CI/CD)システムです。これをセルフホスティングすることで、開発パイプラインを効率化し、環境をコントロールできます。このガイドでは、Dockerを使ったVPSへのWoodpecker CIのインストールと設定手順をわかりやすく解説します。
必要な条件
- VPS:VPSプロバイダーを選択します。以下は、Woodpecker CIのホスティングに適した一般的なVPSの比較表です。
| VPSプロバイダー | 月額費用 | RAM | CPU | ストレージ |
|---|---|---|---|---|
| Contabo VPS | 5.99 EUR | 4 GB | 2 | 300 GB |
| Hetzner Cloud | 4.15 EUR | 2 GB | 1 | 20 GB |
| DigitalOcean | 6 USD | 1 GB | 1 | 25 GB |
| Vultr | 6 USD | 1 GB | 1 | 25 GB |
| Linode (Akamai Cloud) | 5 USD | 2 GB | 1 | 50 GB |
パフォーマンスと予算に合わせて適切なプロバイダーを選びましょう。詳細な比較は完全なVPS比較をご参照ください。
-
OS:Ubuntu 20.04以降の適切なOSを使用してください。
-
Docker:VPSにDockerをインストールします。
ステップ1:Dockerのセットアップ
UbuntuにDockerをインストールするには、次のコマンドを実行します。
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce
インストール後、Dockerが正常に動作しているか確認しましょう。
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker
ステップ2:Woodpecker CIのインストール
- Woodpecker CIのDockerイメージをプル:
次のコマンドでイメージを取得します。
docker pull woodpeckerci/woodpecker
- Woodpecker CIコンテナの作成と起動:
取得したイメージからコンテナを作成します。設定に応じて各種環境変数を指定してください。
docker run -d \
--name woodpecker \
--volume /var/lib/woodpecker:/data \
-e WOODPECKER_GITEA_SERVER=https://your-gitea-instance.com \
-e WOODPECKER_RPC_SECRET=your-rpc-secret \
-e WOODPECKER_SERVER=true \
-p 8000:8000 \
woodpeckerci/woodpecker
WOODPECKER_GITEA_SERVERとWOODPECKER_RPC_SECRETは、ご自身のGiteaや他のGitサービスに合わせて調整してください。
ステップ3:Woodpecker CIの設定
-
Web UIへのアクセス:ブラウザを開き、
http://<your-vps-ip>:8000にアクセスします。Woodpecker CIのインターフェースが表示されるはずです。 -
Webフックの登録:Giteaを使用している場合は、リポジトリと連携するためにWebフックを登録しましょう。
-
他サービスとの連携:通知やデプロイステップなど、プロジェクトの必要に応じて
.woodpecker.ymlファイルを編集します。
よくある質問
1. SaaS版を使うよりも自己ホスティングのメリットは何ですか?
自己ホスティングのWoodpecker CIは、ビルド環境を完全にコントロールできるため、プロジェクトの要件に応じて設定をカスタマイズできます。ビルド時間の制限やソースコードログへのアクセス不可といったサードパーティサービスの制約を回避できるだけでなく、プライバシー保護も強化されます。あなたのコードとデータは、あなたのインフラ内に留まります。
2. トラフィックの増減に応じてWoodpecker CIのインスタンスを拡張できますか?
はい、Dockerを使ったスケーラビリティの利点のひとつです。CI/CDの利用ピーク時には、Woodpecker CIのインスタンス数を増やしたり、VPSのリソースを追加したりできます。KubernetesやDocker Composeのようなコンテナオーケストレーションツールを用いると、複数のインスタンスを効率的に管理してスケールアウトも可能です。
3. 自己ホスティングの際のバックアップとリストアはどうなりますか?
Woodpecker CIのデータフォルダ(/var/lib/woodpecker)を定期的にバックアップしてください。VPSのバックアップソリューションを使ったり、tarコマンドでデータディレクトリをアーカイブしたりするのが一般的です。データの破損や消失時には、バックアップしたデータを同じ場所にリストアし、Woodpecker CIのコンテナを再起動すれば復元できます。
これらの手順に従えば、ご自身のVPS上で完全に稼働するWoodpecker CIを運用できます。これにより、開発プロセスの効率化と、あなたのニーズに合わせた環境構築が実現します。 --- END ---