Newer
Older
SmTIAS-Capture / docs / 02_ENV / ENV_03_管理者用環境構築手順.md

管理者用環境構築手順 (Admin Setup Guide)

プロジェクト作成時に一度だけ行う初期設定.管理者が実施する.

GitHub リポジトリの作成 (Create GitHub Repository)

gh repo create SmTIAS-Capture --private

※ GitHub CLI(gh)が未認証の場合は gh auth login を先に実行する.

Dependabot の有効化 (Enable Dependabot)

Dependabot alerts(依存パッケージの既知脆弱性の検出)と Dependabot security updates(脆弱性を直す PR の自動作成)は,GitHub のリポジトリごとに既定で OFF になっている.有効化しないと脆弱性が一切通知されないため,リポジトリ作成直後に有効化する.

実行にはリポジトリの admin 権限が必要(無い場合は 403 になるので管理者に依頼する).リポジトリの clone 内で実行すれば {owner}/{repo} は gh が自動補完する.

gh api -X PUT repos/rintoHasegawa/SmTIAS-Capture/vulnerability-alerts      # alerts(依存グラフも同時に有効化される)
gh api -X PUT repos/rintoHasegawa/SmTIAS-Capture/automated-security-fixes  # security updates

有効化を検証する(冪等なコマンドなので再実行してよい).

gh api repos/rintoHasegawa/SmTIAS-Capture/vulnerability-alerts       # 204 なら有効.404 なら無効
gh api repos/rintoHasegawa/SmTIAS-Capture/automated-security-fixes   # {"enabled":true,...} なら有効

※ 上記はリポジトリ設定であり,リポジトリ内の .github/dependabot.yml(依存バージョンの定期更新 PR の設定)とは別物.両者は独立して動く.Dependabot が作った PR と alert の処理には /deps-update を使う.

セットアップスクリプトの作成 (Create Setup Script)

メンバーが環境を構築する際に使用するスクリプトを作成し,リポジトリに含める.

ディレクトリ構成

SmTIAS-Capture/
├── scripts/
│   └── setup.ps1

scripts/setup.ps1

セットアップスクリプト本体は scripts/setup.ps1 にコミット済み.二重管理による乖離を避けるため,本書にはコード全文を載せない(変更はスクリプト側を正とする).スクリプトは以下を自動実行する.

  • Scoop の extras バケット追加
  • Flutter SDK(scoop install flutter)
  • Android Studio(scoop install extras/android-studio)
  • GitHub CLI(scoop install gh)

実行後の次手順(Android Studio セットアップウィザード → flutter doctor --android-licenses → flutter doctor → gh auth login)はスクリプト末尾にも表示される.詳細は ENV_02_環境構築手順.md を参照.

VS Code 設定ファイルの作成 (Create VS Code Config)

.vscode/extensions.json

推奨拡張機能を定義する.

{
  "recommendations": [
    "Dart-Code.flutter",
    "Dart-Code.dart-code"
  ]
}

.vscode/settings.json

プロジェクト固有の設定を定義する.

{
  "editor.formatOnSave": true,
  "dart.flutterSdkPath": null,
  "[dart]": {
    "editor.defaultFormatter": "Dart-Code.dart-code",
    "editor.rulers": [80]
  }
}

.gitignore の作成 (Create .gitignore)

Flutter プロジェクト作成時(flutter create)に自動生成されるが,必要に応じて以下を追加する.

  • .env — 環境変数(機密情報)
  • *.jks — Android 署名キー

Flutter プロジェクトの作成 (Create Flutter Project)

flutter create --org com.example smtias_capture

※ パッケージ名・組織名は正式に決定してから実行する.

チェックリスト (Checklist)

管理者は以下をすべて完了させてからメンバーに展開する.

  •  GitHub リポジトリの作成(private)
  •  Dependabot alerts / security updates の有効化
  •  scripts/setup.ps1 の作成・動作確認
  •  .vscode/extensions.json の作成
  •  .vscode/settings.json の作成
  •  .gitignore の確認
  •  Flutter プロジェクトの作成(flutter create)
  •  初回コミット・プッシュ
  •  メンバーにリポジトリへのアクセス権を付与