はじめに
この記事はGiteaを使ったCI/CDパイプラインの構築方法を展開する連載の一つである。
連載の各記事へは以下からジャンプできる。
- Giteaインストール編
- アプリケーション構築編
- テスト編
- ビルド編
- デプロイ編
Giteaについて
GiteaはセルフホスティングできるGitサービスである。
自分はセルフホスティングのGitサービスをいくつか渡り歩いた末Giteaに出会い、気に入って現在に至っている。
具体的に自分はGiteaの以下の点を気に入っている。
- Gitリポジトリを管理できる
- UIがGitHubと似ている
- ワークフローをGitHub Actions互換で構築できるのでCI/CDパイプライン構築の学習に有用である
- Dockerイメージのレジストリとしても使える
CI/CDパイプラインとは
CI/CDパイプラインはリリースを自動化する仕組みである。
CI/CDパイプラインを適切に構築することができれば、テスト・ビルド・デプロイといった一連の面倒な作業は以下の図のように自動化され、開発者はコードを書くだけになる。
別にCI/CDパイプラインがなくたって開発はできる。しかしコードが大規模になるにつれて手動でのテストやビルドも大変になっていく。そんなときにCI/CDパイプラインの考え方が役に立つはずだ。
今回の連載ではGiteaのGitea Actionsという機能を使ってCI/CDパイプラインを構築する手順を紹介する。
この記事では以下の赤枠部である、Giteaの構築をやってみよう。
Docker ComposeでGiteaを構築する
以降Dockerを使って環境を構築する。Dockerをインストールしていない場合は、以下を参考にインストールする。
以下のようなdocker-compose.ymlを作成する。
services:
gitea:
image: docker.gitea.com/gitea:latest
restart: always
volumes:
- ./gitea/data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
healthcheck:
# 今後GiteaのAct Runnerを使うときのためにヘルスチェックを用意しておく
test: ["CMD", "curl", "-f", "http://localhost:3000"]
interval: 10s
retries: 3
start_period: 30s
timeout: 10s
environment:
# localhostにするとAct RunnerのコンテナがGiteaのPackagesにPushできない
# Act Runnerの接続先用URLとしてGiteaのserviceを指定することで外から名前解決できるようにする
- GITEA__server__LOCAL_ROOT_URL=http://gitea:3000/
networks:
- gitea-network
networks:
gitea-network:
name: gitea-network
portsでホストのポートをマッピングをしている。これは自由に変更して構わない。- "3001:3000"とすると、http://${GiteaホストのIPアドレス}:3001からアクセスすることができるようになる。この記事ではマッピング先ポートを3000とする。
以下のコマンドを実行し、コンテナを起動する。
$ docker compose up -d
しばらく待ってからWebブラウザでhttp://${Giteaホスト}にアクセスする。${Giteaホスト}にはxxx.xxx.xxx.xxx:yyyyの形式でGiteaのホストを指定する。
以下のような初期設定の画面が表示される。
基本はデフォルトで、一番下の管理者ユーザーの作成だけ任意に設定し、Giteaをインストールのボタンを押下する。
しばらく待つと以下のような画面が表示される。
自分は英語のほうが見栄えが良くて好きなので、以下のように画面右下から言語を変更する。
振り返り
- Docker Composeを使ってGitea環境を構築することができた
次回




