4Dで継続的インテグレーションを導入する方法: ステップ・バイ・ステップ
ソフトウェア開発の世界では近年、”継続的インテグレーション” という新しい概念が登場しました。それについて、私たちがあちこちで見聞きする定義は、次のようなものです:
“CI とは、アプリケーションのコンパイル・テスト・リリースを自動化し、定期的かつ頻繁におこなうプロセスである”
興味深く有望なプロセスであることは理解できますが、4D に実装するためには何をすればいいのでしょうか? インターネットを検索すれば、多くの CIツールやフレームワークが見つりますが、これらの CIツールを使うには、いくつかの前提条件があります。
(最後に日本語の解説動画へのリンクもありますので、お見逃しなく!)
Build4Dツールでクライアント/サーバーアプリケーションを作成する
Build4Dコンポーネントの最新版が GitHub で公開されました。以前のブログでは、コンパイル済みのプロジェクトやコンポーネント、そしてスタンドアロンアプリケーションの可能性について説明しました。
今回は、クライアント/サーバーアプリケーション用のスクリプトを作成し、継続的インテグレーション・ツールと簡単に統合できるようになりました。
その方法を紹介します。
Build4Dコンポーネントでスタンドアロンアプリケーションを作成する
新しい build4D コンポーネントが数ヶ月前から GitHub で公開されており、これを使って コンパイル済みプロジェクトやコンポーネント を簡単に作成することができます。このコンポーネントの新しいバージョンでは、シングルユーザーアプリケーションを生成できるようになり、開発ワークフローの可能性が広がります。
tool4D が v20 から利用可能になったことで、アプリケーション生成プロセスを CI (継続的インテグレーション) ツールに統合することが驚くほど便利になりました。
それでは、詳細を掘り下げていきましょう!
4Dコマンドでアプリケーションをビルドする
ここ最近の 4D のバージョンでは、独自のビルドチェーンを作成するためのさまざまな機能が追加されてきました。たとえば、以下のようなものです:
- .zip フォルダーを作成する機能
- 実行ファイルや “dll” ファイルに著作権などの情報を追加する機能
- “info.plist” ファイルを作成する機能
- 新しい build4D コンポーネントの搭載
4D v20 では、2つの新機能により、4Dコードでスタンドアロンまたはクライアント/サーバーアプリケーションの作成を仕上げまでおこなうことができます:
- 実行ファイルへのアイコンの追加
- サーバーまたはスタンドアロンアプリケーションの配布ライセンスファイルの生成 (サーバーアプリケーションは OEMライセンスのみ)
Build4Dを使用してコンパイルされたストラクチャーやコンポーネントをビルドする
プロジェクトモードの導入により、プロジェクトのコンポーネントを操作することが非常に簡単になりました。
ここ最近のフィーチャーリリースでは、チームや作業方法、ニーズに合わせて独自のビルドチェーンを作成できるようにするための機能をいくつか追加しています。
例えば、以下のような機能です。
あなた独自のビルドチェーンを作成したり、継続的インテグレーションツールに4Dを統合するために、4DではBuild4Dというコンポーネントを開発し、GitHubでソースを公開しています。
この最初のステップとして、Build4Dでは、コンパイル済みのストラクチャーとコンポーネントを作成することができます。今後、シングルユーザーアプリケーション、クライアントアプリケーション、サーバーアプリケーションを管理できるようにこれを充実させていく予定です。
新機能で4Dアプリのサイズを縮小する
4Dアプリケーションの構築を改善するための継続的な努力の中で、4D v19R5には、あなたが必ず見つけることができるいくつかの機能性が追加されました。
まず1つ目は、アプリケーションから4Dモジュールを削除する機能です。CEF、Mecab、PHP、Spell Checker、4D Updaterです。これらのモジュールのいくつかが必要ない場合は、アプリケーションのサイズを大幅に削減することができます。
また、同じ構造体の複数のコンパイル版を使用している方に配慮して、コンパイルした構造体を構築する際の最終ディレクトリを変更しました。
日本のお客様に関しては、MacOSの4D日本語版と国際版を統合しました。
それでは、詳細を説明します。
Windows上でのクロスプラットフォーム・クライアント/サーバーアプリケーション構築の簡素化
Silicon Macのリリースは、4Dのアプリケーションのコンパイル方法に大きな影響を与えた。v19以前の4Dは、MacとWindowsで同じコードを使って、Intelアーキテクチャ向けにのみコンパイルしていました。しかし、Silicon Macは新しいアーキテクチャを使用しているため、4DはSilicon専用にコンパイルする必要がある。これは、クロスプラットフォームのクライアント/サーバーアプリケーションの構築に影響を与える。
Macでサーバーを構築する限り、IntelとSiliconの両方のプラットフォームでコンパイルできるので、さほど問題にはならない。しかし、Windowsでは、Silicon Mac用にコンパイルすることはできない。現在のところ、Macで両アーキテクチャ用にプロジェクトをコンパイルし、それをWindowsマシンにコピーしてからサーバを構築することを推奨しています。残念ながら、データ量の多い大きなプロジェクトでは、コピーに時間がかかることがあります。
新しいアルゴリズムでアプリのリソースを確保する
.4dzファイルを生成するとき、4Dはデフォルトで標準のZIP形式を使用します。4D v19 R2には、あなたのアプリケーションのユーザーが4DZの内容を見たり、修正したりできないようにする機能が追加されています。
4D v19:クライアント/サーバーアプリケーション構築の進化形
Macでは、アプリケーション署名が標準となり、Big Sur以降、署名のないアプリケーションを実行することもできなくなりました。過去に、Windowsサーバー上で動作し、Macクライアントからの接続を受け付けるクライアントサーバーアプリケーションを構築するための回避策を公開しました。4D v19のリリースに伴い、4Dでのアプリケーションビルドを更新し、このケースに対応できるようにしました。以下は、v19でシングルプラットフォームまたはクロスプラットフォームのアプリケーションを構築する方法です。
アプリケーションの情報を簡単に管理
アプリケーションをビルドするには、ビルドされたアプリケーションを設定することができるXMLキーのセットでBUILD APPLICATION コマンドを使用します。ほとんどの方にとって、アプリケーションの構築はこのオプションで十分でしょう。しかし、私たちはあなたの特定のニーズも満たしたいので、BUILD APPLICATION コマンドを分割して簡素化します。これにより、アプリケーションを作成する際に、より柔軟性を持たせることができます。