Page cover

Flecity New Chapter 技術仕様

このページではFlecity New Chapterの技術的な要項をまとめています

アーキテクチャ (構成)

Flecityでは本番環境(本鯖)とテスト環境(テスト鯖)の2つがあります。

Git リポジトリ

Flecityではバージョン管理にAzure DevOps上でホストされたGitリポジトリを使用しています。ここにコードをプッシュすると、自動的にサーバーと同期されます。 このリポジトリにはブランチが2つあり、テスト用と本番用に分かれています。まずテスト用を使い、動作確認ができたら本番用に切り替えてプッシュします。

自動同期API

以前はFlaskで運用していましたが、SSL関連でエラーがでるのでFastAPIに移管します。 Azure DevOpsのWebhookのリクエストを受け取り、そのリスクエストを受け取ったら `git pull` を自動的に行って同期を行います。 また、このAPIはデータベース操作用のAPIとしての機能も併せ持っています。管理者ではない人でも、特定の条件下でデータベースの操作を許可するべき場合は、このAPIを経由して行います。

データベース

データベースは本番環境のサーバーでホストされたローカルのMariaDB 11.4を使用しています。このデータベースは外部からの操作ができません。権限のある方のみ操作ができます。

自動ダンプスクリプト

データベースから自動的にバックアップを作り、テストサーバーに転送するPythonスクリプトです。

DB自動複製API

本番環境から受け取ったsqlファイルを自動的にバックアップサーバーに適用します。

Last updated