この記事は、Muminjon氏のブログの抄訳です
Table of Contents
ビルドオートメーションとは?
今日 モバイル端末の普及が進んでいるにもかかわらず、企業環境の基幹を支えているのは、依然としてデスクトップアプリケーションです。通常、これらの企業向けソリューションは、複数の個別モジュールから構成され、それらを組み合わせてアプリケーションスイートを構築しています。
しかし、アプリケーション自体がモノリシックであっても、特定のユースケースやオペレーティングシステムを対にしていたり、新しい機能の試用版を提供するために、常に複数のバージョンが存在することがあります。このような状況を把握することは、非常に複雑であるケースが多いのです。さらにクロスプラットフォームのマルチデバイス対応や、英語、フランス語、ドイツ語、スペイン語といった多言語へのローカライズに対応したユーザーインターフェイスを含む機能性を考慮し始めると、本当に気が遠くなるような話になります。
アプリケーションのビルドを自動化することは、様々なビルドシナリオを作成し、繰り返しのアクションを自動化する必要がある開発者にとって、大きな改善になる可能性があります。また自動化は、繰り返しの多い退屈な作業中に、集中力を欠いたりして、ミスが発生するのを防ぐのにも役立ちます。
Webアプリケーションやモバイルアプリケーションの構築について考える際、継続的インテグレーションや開発パイプライン、あるいは一般的に呼ばれるCI/CDなどの手法について考えることができます。利点があるにもかかわらず、開発者がデスクトップアプリケーションのビルドとテストの自動化にCI/CDを活用するのにまだ慣れていないことが多いのです。このブログでは、開発およびリリースプロセスに取り入れることを検討するための、いくつかの提案について説明いたします。
Delphiプロジェクトのビルドを自動化するには?
Delphiプロジェクトのビルドプロセスを自動化するソリューションは何十種類(例えば、Jenkins、FinalBuilderなど)ありますが、このブログでは、MiTeC Project Makerにフォーカスして紹介いたします。
MiTeC Project Makerとは?
MiTeC Project Makerは、Delphiプロジェクトを自動で一括ビルドするためのツールです。Project Makerを使用するとコンパイラの設定、ビルド前後のアクションの定義、ビルドしたバイナリのバージョン情報のパッチ適用、指定したコードサイニング証明書によるバイナリへの署名、サードパーティ製ソフトウェアの保護申請など、さまざまな機能を利用できます。
Project Makerの仕組みは?
Project Makerは、プロジェクト構築のためのタスク定義に明確で強力なインターフェイスを提供します。各プロジェクトには、無制限の数のタスクを含めることができます。「タスク」とは、dprまたはdprojファイルで定義された「Delphiプロジェクト」を指します。さらに、Project Makerは、プロジェクトに共通のプロパティを指定できるプロファイルを備えています。プロジェクトは、無限のプロファイルを持つことができ、プロファイルを活用することで、様々なビルド構成を簡単に切り替えることができます。
- コンパイラ指令とオプション
- ビルドオプション
- 署名ツール
- フォームクリーナー
- バージョン管理
など
GitHub Actionsを使用してGitHubのワークフローを強化するには?
GitHub Actionsを使用すると、ソフトウェア開発のワークフローをリポジトリ内で自動化、カスタマイズ、および実行できます。
GitHub Actions はイベント駆動型で、指定したイベントが発生した後に一連のコマンドを実行することができます。とえば、リクエストイベントをプルするトリガーを設定し、新しい変更があったときにGitHub Actionsでコードテストを開始することができます。
CI/CDインテグレーションがなくても、GitHub Actionsですべてを実行できます。 エンドツーエンドのCIおよびCDの機能を提供します。さらに、GitHubのリポジトリにあります。
DelphiプロジェクトでGitHub Actionsを使用するには?
Delphi MVPの一人であるDarian Millerは、Delphiに関する有益な記事やチュートリアルを数多く執筆しています。RADAuthenticatorブログシリーズでは、DelphiプロジェクトでGitHub Actionsを構成する際、彼の経験を元にした情報をブログで共有しています。
記事の全文(英語)は、こちらからご覧ください。
MiTeC Project Makerは、MiTec社が提供しているユーティリティツールで、詳しくはこちらをご覧ください。テクニカルサポートサービスもMitec社から提供されております。