はじめ
Gitea は去年10月企業を創立してから、かなり進化してきました。
日本のユーザーにとって、日本語対応があれば、使う意欲が高まるのではないかと思いますが、Gitea 自体は日本語をサポートしていますが、コミュニティ、ドキュメントと公式サポートなどはまだ対応していないです。今後対応してくれますので、期待できると思います。
2023/12/01追記:
Discordに日本語チャネルが追加されました!気楽に質問を投げましょう。私はできる限り回答していきます。
2023/12/04追記:
公式フォーラムで日本語専用のカテゴリも追加されました。
Gitea とは
Gitea は Go 言語で開発されているオールインワン Devops プラットフォームです。OSS のため、自己ホストは可能です。セキュリティに厳しい会社でも、オンプレミス環境で利用できます。
バージョン 1.19.0 から、組み込み CI/CD 機能も実装されています。GitHub Actions との互換性がりますので、GitHub Actions に向けて開発されたプラグインは Gitea でも利用可能です。もちろん、CI/CD の YAML ファイルを変更なしで、簡単に GitHub から移行できます。
歴史
-
2016年11月 Gogs からフォークした
Gogs は OSS ですが、リポジトリの管理はオーナー 1 人のみになっています。Gitea を Gogs のフォークとして開始し、コミュニティ主導の開発モデルを確立しました。 -
2022年10月 Gitea Limited という企業を成立した
コミュニティ主導の結果として、2つデメリットがありました。
1つ目は開発スピードが遅いということです。Gitea の開発者たちは余暇時間を使って、開発をやっています。それによって、新機能開発にかかる時間が長くなったり、バッグ修正はすぐ対応してくれなかったり、Gitea の成長には良くないと考えられます。企業を成立したことで、新機能開発とバッグ修正なとは迅速に対応できます。例えば、最近正式的にサポートされた CI/CD 機能はコミュニティの開発者を雇用して、2 か月間でゼロから開発したものです。
2 つ目は企業からの支援金の受け取りは面倒・できない場合があります。それを回避するため、企業を成立して、企業間のやり取りはもっと簡単に取れるような感じになっています。
公式アナウンス:
特徴
- オールインワン
Git サービス、コードレビュー、チームコラボレーション、パッケージレジストリと CI/CD なといろんな機能が含まれています。機能一覧と他同類サービスの比較は下記のドキュメントから確認できます。Devops に必要な機能はほぼ全部サポートされていて、新しい機能もどんどん追加され、いつか GitLab を超えることも期待できると思います。
- 超軽量
リソースというのは CPU 、メモリ、デスク3つがあります。
CPU とメモリについて、ラズパイ3 (Raspberry Pi 3)でも動けます。小規模チームだっと、2コアとメモリ 1GB で十分です。パッケージも 150~200MB ぐらいしかないです。リソース消費量は少ないので、ランニングコストも比較的に少ないというメリットがあります。
-
メンテナンス性
GitLab を利用した経験がある人にとって、一番嫌なことはバージョンアップではないかと思います。一気に最新版に更新できず、特定のバージョンにアップグレードしないといけないというケースはよくあります。この場合、事前調査が必要になってくると思います。そして、バックエンドマイグレーションのスピードも遅いと感じています。結局 1 回のメンテナンスでバージョンアップにかかった時間はかなり長いと思います。企業にとって、かなりの損失だと思います。
Gitea は直接最新版に更新でき、かつ、高性能のため、マイグレーションも速いです。バックアップ機能も組み込んでいて、1 コマンドでバックアップできます。 -
サポート動作環境は充実
GitLab は Linux と PostgreSQL のみサポートされていますので、利用するには制限があることを意識しないといけないです。
Gitea は Linux 以外 Windows の実行ファイルも提供しています。データベースについて、PostgreSQL以外、Mysql、Microsoft SQL と SQliteもサポートされていて、自由に選ベます。 -
Web 画面のカスタマイズは可能
Web 画面のカスタマイズはGitea自体の再開発ではなく、データフォルダーにカスタムテンプレートファイルを置くだけで変更できます。詳細は下記のドキュメントを
- CI/CD 機能 Gitea Actions と GitHub Actions は互換性がある
一部機能はまだサポートされていないですが、ほぼ全部の GitHub Actions のプラグインが利用可能です。YAML ファイルの置く場所は.github/workflows
と Gitea独自の.gitea/workflows
両方サポートされていますので、GitHub に向け開発したプロジェクトもそのままで使えます。めっちゃ便利ですよね。
まとめ
Gitea コミュニティは活発ですので、どんどん進化していると思います。将来は GitHub や GitLab に並べる Devops プラットフォームになることは期待できます。
更に、Gitea Cloud という SaaS も発表され、より良いサービスを提供する予定です。詳細について、下記の記事を参考してください。