このプロジェクトについて
devspoon-startup-tizenは、Tizen(Samsung IoT)開発環境を構築するためのオープンソースDocker Composeソリューションです。devspoon-startup-webを拡張し、スタンドアロンのTizenツールチェーン(GBS、mic、Gerritアクセス)をホストポート2221のSSHで追加するとともに、Devspoonファミリー全体で共有される同じWebスタックとプロジェクト管理サービスを提供します。
**Webスタック** — nginxベースの5つのスタックを提供します:gunicorn、uvicorn、uwsgi、daphne(Python/ASGI)、PHP 8.4。Pythonスタックにはredisと、`--profile celery`フラグによるオプションのcelery/beat/flowerが含まれます。各スタックはポート80/443を使用するため、ホストごとに1つだけ実行できます。シェルスクリプトがドメインごとのnginx設定を生成し、起動フックがnginx起動前に上流アプリコンテナを待機します。
**プロジェクト管理ソリューション** — Plane(イシュー/サイクル/モジュール追跡、13コンテナ)、Jenkins(CI/CD、TizenイメージビルドのためにGBSと連携)、Gitea(ポート2222のSSHを備えたセルフホストgit、デフォルトで登録無効)、Harbor(CVEスキャンとレプリケーションを備えたプライベートDockerレジストリ、別ホストで専用インストーラによりインストール)。
**Tizen環境** — `tizen-env`コンテナがTizenビルドツールを提供します。特権モードで実行され(micイメージ作成に必要なループマウントのため)、ベースとしてUbuntu 18.04を使用します。READMEには、このイメージがCIでビルド検証されていない旨が記載されています。CIはcomposeのレンダリング、SSHポート、sshd設定を静的にチェックするのみです。スタンドアロンのtizen-envは、コンテナ名とポート2221を共有するため、オールインワンのPHPコンビネーションと同時に実行できません。
**運用上の考慮事項** — データベースコンテナは同梱されていません(外部でインストール)。Docker Compose 2.20以上が必要です(`include:`を使用)。PHPマスターコンビネーションには常にtizenenvが含まれるため、Tizenを使用しない場合でも`.env`に`TIZEN_SSH_KEY`と`TIZEN_AUTHORIZED_KEYS`を設定する必要があります。12ステップのCIスイート(`script/ci/run-ci.sh`)が実際のコンテナを起動し、プッシュごとにヘルス、設定、サンプルアプリを検証します。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.