4D で GitHubアクションを活用する方法

Deeplからの自動翻訳

あなたのプロジェクトは今、 ソースコントロールシステム上にあります。つまり、ソフトウェアの複数のバージョンを管理し、変更を監視し、修正や新機能を統合することは、今ではずっとシンプルになりました。

継続的インテグレーションも活用してみてはいかがでしょうか?

4D v19から、コマンドでプロジェクトのコンパイルを開始することができるようになりました。その結果、統合チェーンを自動化するために必要なすべてのビルディングブロックを手に入れることができます。

このブログ記事では、GitHub マネージャーと GitHub アクションを使った自動化の例を紹介します。

GitHub アクションとは?

GitHub のアクションを使うと、タスクを自動化することができます。コードの投稿などのイベントがトリガーとなります。

なぜ GitHub アクションなのか?

ワークフローの自動化は、今日のソフトウェア開発の世界では必須の要件です。開発チームは、ソフトウェアのライフサイクルにおける継続的インテグレーションとデプロイメント(CI/CD)プロセスを自動化するためにCI/CDサーバーを使用しています。

GitHub Actionsは、JenkinsやTeamCityのような外部サーバーを使わずに、GitHubから直接コードをビルド、テスト、配布できるようにするものです。GitHubはLinux、Windows、macOSのオペレーティングシステム上で仮想マシンをホストしています。

GitHub Actions を使うには?

ワークフローを作成する必要があります。ワークフローは、リポジトリに追加する自動化された手順です。アクションタブでは、ワークフローのカタログからひとつを選ぶか、独自のものを作成します。

この例では、Githubが提案する “simple workflow “を使用します。

リポジトリ内の「.github/workflows」フォルダにスクリプトが作成されます。このスクリプトでは、以下を定義できます。

  • トリガーイベント:push/pull/schedule時
  • 仮想マシンのOS:run-on

構文の詳細や可能性については、GitHubのドキュメントを参照してください。

blank

次に、ワークフローのトリガーとなるリポジトリ内のREADME.mdファイルを変更します。アクションタブには、変更内容が表示され、ワークフローはキューに入っています。

blank

Voilà!スクリプトが実行されました。

これで、OSの情報と使用されている仮想マシンにアクセスでき、要求した構成に対応しているかどうかが確認できます。

スクリプトのログはすべて表示されます。

blank

具体的な例

GitHub のアクションを作成して設定する方法を説明しましたが、次は Eric Marchand が作成したワークフローを紹介します。

Eric は、4D for iOSチームの開発者の一人です。彼は、自分用にいくつかの git アクションを開発しました。プライベートリポジトリは GitLab サーバーで、公開リポジトリは GitHub で使用します。

ここでは、プロジェクトをコンパイルして GitHub で公開する方法の例を示します。

まず、起動時にパラメータで渡された他のプロジェクトをコンパイルする共有コードを持つ4Dプロジェクトがあります(macOS runner上のbashスクリプトを使用)。このプロジェクトは、コンパイルエラーをGitHubのログ形式に変換しています。コンパイル、リリース生成などのアクションを含むGithubのリポジトリに保存されます。これらのアクションは、その後、他のプロジェクトで使用することができます。

次に、プロジェクトを実行し、それによってコンパイルなどのアクションを呼び出すには、4Dアプリケーションを実行する必要があります。4Dアプリケーションは、サーバーからダウンロードできます。GitHubのサーバーにインストールし、実行する必要があります。各プロジェクトのリポジトリの「Action Secret」パラメータに、SERVER_URLキーを追加する必要があります。

最後に、プロジェクトでプルリクエストをトリガーとするワークフローを作成し、「集中アクション」リポジトリの「ビルド」ワークフローを呼び出します。

ベースとなるワークフローと異なるワークフローを持つリポジトリと、プロジェクトでの統合の 例をご覧ください。

4Dフォーラムで会話に参加して、あなたの意見を聞かせてください。

Vanessa Talbot
- プロダクトオーナー - Vanessa Talbotは、2014年6月に4Dプログラムチームに参加しました。プロダクトオーナーとして、彼女はユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換する役割を担っています。また彼女の役割は、実装された機能が顧客のニーズを満たしているかどうかを確認することでもあります。入社以来、4Dにおける主要機能の定義に関わってきました。プリエンプティブ/マルチスレッドの新機能の大部分と、非常に複雑なテーマである組み込みアプリケーションの新アーキテクチャに取り組んできました。VanessaはTelecom Saint-Etienneで学位を取得後、Criminal Research Institute でオーディオビジュアル部門の開発者としてキャリアをスタートさせました。また、メディアや医療の分野でも、技術サポートやプロダクションの分野で働いてきました。