コンテンツにスキップ

[1/5] GiteaでCI/CDパイプラインを構築する Giteaインストール編

はじめに

この記事はGiteaを使ったCI/CDパイプラインの構築方法を展開する連載の一つである。

連載の各記事へは以下からジャンプできる。

  1. Giteaインストール編
  2. アプリケーション構築編
  3. テスト編
  4. ビルド編
  5. デプロイ編

Giteaについて

GiteaはセルフホスティングできるGitサービスである。

自分はセルフホスティングのGitサービスをいくつか渡り歩いた末Giteaに出会い、気に入って現在に至っている。

具体的に自分はGiteaの以下の点を気に入っている。

  • Gitリポジトリを管理できる
  • UIがGitHubと似ている
  • ワークフローをGitHub Actions互換で構築できるのでCI/CDパイプライン構築の学習に有用である
  • Dockerイメージのレジストリとしても使える

CI/CDパイプラインとは

CI/CDパイプラインはリリースを自動化する仕組みである。

CI/CDパイプラインを適切に構築することができれば、テスト・ビルド・デプロイといった一連の面倒な作業は以下の図のように自動化され、開発者はコードを書くだけになる。

uml diagram

別にCI/CDパイプラインがなくたって開発はできる。しかしコードが大規模になるにつれて手動でのテストやビルドも大変になっていく。そんなときにCI/CDパイプラインの考え方が役に立つはずだ。

今回の連載ではGiteaのGitea Actionsという機能を使ってCI/CDパイプラインを構築する手順を紹介する。

この記事では以下の赤枠部である、Giteaの構築をやってみよう。

Docker ComposeでGiteaを構築する

以降Dockerを使って環境を構築する。Dockerをインストールしていない場合は、以下を参考にインストールする。

Ubuntu に Docker をインストールする #Docker - Qiita

以下のようなdocker-compose.ymlを作成する。

docker-compose.yml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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とする。

以下のコマンドを実行し、コンテナを起動する。

1
$ docker compose up -d

しばらく待ってからWebブラウザでhttp://${Giteaホスト}にアクセスする。${Giteaホスト}にはxxx.xxx.xxx.xxx:yyyyの形式でGiteaのホストを指定する。

以下のような初期設定の画面が表示される。

基本はデフォルトで、一番下の管理者ユーザーの作成だけ任意に設定し、Giteaをインストールのボタンを押下する。

しばらく待つと以下のような画面が表示される。

自分は英語のほうが見栄えが良くて好きなので、以下のように画面右下から言語を変更する。

振り返り

  • Docker Composeを使ってGitea環境を構築することができた

次回

[2/5] GiteaでCI/CDパイプラインを構築する アプリケーション構築編