運用・ビルド・リリース自動化手順書 (Operation Guide)
fjFlow のバージョン管理、スタンドアロン実行ファイル(.exe)のコンパイル、および Windows Store (MSIX) パッケージング前処理を行う PowerShell スクリプト群の実...
バージョン同期から自動コンパイル、ストア申請用パッケージ準備までの完全運用手順
fjFlow のバージョン管理、スタンドアロン実行ファイル(.exe)のコンパイル、および Windows Store (MSIX) パッケージング前処理を行う PowerShell スクリプト群の実行手順書です。
目次
1. 自動化スクリプトの概要
リポジトリルートに配置されている以下のスクリプトを使用して、リリース作業を自動化します。
| スクリプト名 | 役割と動作 | 主なオプション |
|---|---|---|
update_version.ps1 |
RELEASE_NOTES.txt からバージョンと更新内容を抽出し、スクリプトへの同期と自動ビルドを一括実行 |
-Build:$true (既定) / -Build:$false |
build.ps1 |
Ahk2Exe コンパイラを用いて .ahk から fjFlow_Free.exe / fjFlow_Pro.exe を生成 |
-Edition "all" (既定) / "free" / "pro" |
prepare-msix.ps1 |
最新ビルド成果物を msix_build_free / msix_build_pro へ自動配置 |
-Edition "all" (既定) / "free" / "pro" |
tools/generate_assets.ps1 |
アプリやストア用のアイコン・画像アセットを自動生成 | なし |
2. 新バージョンをリリースする手順 (3ステップ)
新しいバージョンをビルド・リリースする標準的な手順です。
ステップ 1: リリースノートを編集する
- リポジトリ直下の RELEASE_NOTES.txt をテキストエディタで開きます。
- 1行目に新バージョン番号、2行目以降に更新内容を記入して保存します。
Version: 1.2.0
・キー拡張機能の応答速度を向上しました
・UIヒントに拡大鏡グリッド機能を追加しました
・設定GUIのレイアウト崩れを修正しました
ステップ 2: バージョン同期と自動ビルドを実行する
PowerShell ターミナルを開き、以下のコマンドを実行します。
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; .\update_version.ps1
実行結果:
RELEASE_NOTES.txtからバージョン番号(例:1.2.0)が抽出されます。fjFlow.ahk内のバージョン定義変数(AppVersion)が新バージョンへ自動更新されます。build.ps1が自動実行され、build\ディレクトリにfjFlow_Free.exeおよびfjFlow_Pro.exeがコンパイル出力されます。
ステップ 3: Windows Store (MSIX) パッケージ用ディレクトリを準備する
MSIX Packaging Tool でパッケージングするための作業ディレクトリを準備します。
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; .\prepare-msix.ps1
実行結果:
build\ディレクトリ内の最新.exeファイルが、msix_build_free\およびmsix_build_pro\ディレクトリへ自動配置されます。- これにより、MSIX Packaging Tool や
MakeAppx.exeを用いて即座に.msixファイルを生成できます。
3. 個別スクリプトの詳細オプションと実行手順
3.1 update_version.ps1 (バージョン同期のみ実行)
コンパイルを行わず、コード内のバージョン定義のみを更新する手順です。
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; .\update_version.ps1 -Build:$false
3.2 build.ps1 (エディション個別ビルド)
特定のバージョンのみをコンパイルする手順です。
- フリー版のみビルドする場合:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; .\build.ps1 -Edition free - プロ版のみビルドする場合:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; .\build.ps1 -Edition pro
3.3 prepare-msix.ps1 (MSIX前処理のみ実行)
プロ版のストアパッケージ準備のみを実行する手順です。
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; .\prepare-msix.ps1 -Edition pro
4. トラブルシューティングと運用規約
4.1 文字コードの厳守 (UTF-8)
- すべてのスクリプトファイルおよび
RELEASE_NOTES.txtは UTF-8 (BOMなし) で保存します。 - PowerShell 内でファイル操作を行う際は、必ず
-Encoding UTF8を明示します。
4.2 PowerShell スクリプトの実行権限エラーが出た場合
- 実行ポリシー(ExecutionPolicy)のエラーが表示された場合は、以下のコマンドでポリシーを一時バイパスして実行します:
powershell -ExecutionPolicy Bypass -File .\update_version.ps1
4.3 Git コミットとプッシュの運用
- ビルド完了後の変更確認およびローカルコミット(
git add,git commit)を実行します。 - リモートへの
git pushは、対話型ターミナルから直接手動で実行します(認証プロンプトによるハングアップを防止するため)。