あなたのプロジェクトは今、 ソースコントロールシステム上にあります。つまり、ソフトウェアの複数のバージョンを管理し、変更を監視し、修正や新機能を統合することは、今ではずっとシンプルになりました。
継続的インテグレーションも活用してみてはいかがでしょうか?
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のドキュメントを参照してください。
次に、ワークフローのトリガーとなるリポジトリ内のREADME.mdファイルを変更します。アクションタブには、変更内容が表示され、ワークフローはキューに入っています。
Voilà!スクリプトが実行されました。
これで、OSの情報と使用されている仮想マシンにアクセスでき、要求した構成に対応しているかどうかが確認できます。
スクリプトのログはすべて表示されます。
具体的な例
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フォーラムで会話に参加して、あなたの意見を聞かせてください。