ソフトウェア開発の世界では近年、”継続的インテグレーション” という新しい概念が登場しました。それについて、私たちがあちこちで見聞きする定義は、次のようなものです:
“CI とは、アプリケーションのコンパイル・テスト・リリースを自動化し、定期的かつ頻繁におこなうプロセスである”
興味深く有望なプロセスであることは理解できますが、4D に実装するためには何をすればいいのでしょうか? インターネットを検索すれば、多くの CIツールやフレームワークが見つりますが、これらの CIツールを使うには、いくつかの前提条件があります。
(最後に日本語の解説動画へのリンクもありますので、お見逃しなく!)
ステップ1: 4Dアプリケーションをプロジェクトに変換する
4D で CI を実装するには、まず、4Dアプリケーションをプロジェクトに変換する必要があります。つまり、アプリケーションが現在バイナリーモードの場合、プロジェクトモードに移行しなければなりません。変換中、”.4DB” バイナリーファイルは、いくつかの大きなテキストファイルに分割され、それをソース管理システムで管理することができます。
プロジェクトモードの概念についてはシリーズ化してとりあげていますので、そちらを参照ください:
または、以下の 4Dトレーニング を参考にしてください:
ステップ2: ソース管理システムを活用する
Git のようなバージョン管理システムでコードを管理することは、CI導入の成功に不可欠です。
最初のステップとして、まずソース管理システムを試してみたいのであれば、GitHub を試してみるのがよいでしょう。GitHub でアカウントを作成するだけで、プライベートリポジトリやパブリックリポジトリを無料で作成できます。その後、必要に応じて、Git Lab のような組織がホストするソース管理サーバーに投資することができます。
Git と 4D を使い始めるには、以下のブログ記事をご覧ください:
- 4DコードをGithubで共有する方法
- プロジェクトデータベース: Git・コミット・プル・プッシュ…
- gitignore と 4D: Git ユーザーのための便利な機能
- プロジェクトのソースコードをトークンなしで保存
チームで、あるいは一人で 4D とソース管理を使って作業する様々な方法を説明する、非常に詳細なガイドがあります:
また、4D Summit 2020 のキーノートとセッションもチェックすることをお勧めします:
選択したソース管理システムに適応したトレーニングコースを見つけることができます。
ステップ3: インターフェースなしでアプリケーションをコンパイル・ビルドする
インターフェースなしで、ユーザーの介入なしにアプリケーションをコンパイル・ビルドするメソッドまたは関数を設計しなければなりません。これらには、Compile projectコマンドや Build applicationコマンドを使うことができます。
また、Build4Dコンポーネントも利用できます。このコンポーネントを使用すると、コンパイル済みのストラクチャー、コンポーネント、スタンドアロンアプリケーション、またはクライアント/サーバーアプリケーションをビルドできます。このコンポーネントとソースコードは、MITライセンスの下で GitHub から入手できます。つまり、無料で使用することができ、特定のニーズがあれば GitHub上でフォークして好きなように変更することができ、実装において制約なく使用することができます。
Build4Dコンポーネントに関する一連のブログ記事です:
- Build4Dを使用してコンパイルされたストラクチャーやコンポーネントをビルドする
- Build4Dコンポーネントでスタンドアロンアプリケーションを作成する
- Build4Dツールでクライアント/サーバーアプリケーションを作成する
ステップ4: コマンドラインで実行する
アプリケーションのコンパイルとビルドをおこなうスクリプトを書いたら、あとはコマンドラインからスクリプトを実行するだけです。
コマンドラインから、4D やプロジェクトへのパスなど、いくつかの引数を渡すことができます。また、”–user-param” パラメーターを使えば、独自のカスタム情報を渡すこともできます。
コマンドライン実行のための貴重なリソース:
アクションやエラーのログを記録したい場合は:
ステップ 5: 各コミットの処理を自動化する
最後のステップは、ソース管理サーバーのコミットごとにスクリプトを起動することです。ソース管理に Git を選択した場合は、単純に Gitアクションを使うことができます。スクリプトを自動化するには、従来の 4D Developer か新しい “tool4D” ツールを使うことができます。
tool4D は、ヘッドレスモードでの CLI実行のために設計され、CIプロセスの自動化のために最適化された特別なツールです。tool4D は、自動でヘッドレスモードで実行されます。アプリケーションサーバー、Webサーバー、SQLサーバー、4D Write Pro および 4D View Proコンポーネントなど、一部の機能は利用できません。tool4D の実行にライセンスは不要なので、仮想マシンにライセンスをインストールすることなく、コンパイルやビルドを簡単に自動化できます。
Gitアクションと tool4D の活用については、以下のブログ記事をご参照ください:
そして、この 4Dトレーニングを参考にしてください:
まとめ
結論として、4D に CI を導入することで、開発ワークフローを大幅に改善することができます。プロジェクトにコンバートすることから始めましょう。次に、バージョン管理システムの概念に慣れましょう。アプリケーションをコンパイルしてビルドするためのスクリプトを書いてみましょう。最後に、コミットごとにプロセスを自動化します。
4D で公開されている 90分のトレーニングコース (英語) で、これらのステップをすべて詳しく見ることができます。
また、日本語では「GitHubで4Dプロジェクトを管理するには(Part 1・Part 2・Part 3・Part 4)」を YouTube で配信していますので、ぜひご覧ください。
これらのステップで、継続的インテグレーションのエキサイティングな世界に飛び込む準備が整います!