Cartoon gears and neon rolling marbles rolling through a track

GitHub Actions でワークフローを管理および監視する

Bekah Whittle
Bekah Whittle // Director, Field Services // GitHub

個別のワークフローに集中しているか、メタデータ出力で管理の視点を追求しているか、ワークフロー ファイルを整理しているかにかかわらず、GitHub Actions は必要なツールを提供します。このガイドでは、プラットフォームの潜在力をフルに利用できるように実世界のインサイトを使用して、ワークフローの管理と監視の基本を説明します。Coyote Logistics が途中で参加し、ワークフロー ファイルの管理についてのエキスパートのインサイトを追加します。 \


このガイドの学習内容

  • 失敗したワークフローを [GitHub Actions] タブから直接再実行し、迅速にトラブルシューティングを行う方法

  • YAML ファイルを詳しく調べ、それぞれのワークフローの詳細を理解して修正するテクニック

  • リソースの最適化や予算決定のためにジョブの使用状況メトリクスを分析する方法


[GitHub Actions] タブからワークフローを分析する

リポジトリの [GitHub Actions] タブには、全てのワークフローの明確なスナップショットが表示されます。この一元化されたビューは、ワークフローのステータスを素早く確認するために不可欠です。ワークフローの数が増えてくると、インターフェイスを見やすくするために、一部のワークフローが非表示になる場合もあります。しかし、[GitHub Actions] タブは単なる出発点であることを忘れないでください。

ワークフローを再実行する 

時には、フレーキ テスト (コードやテスト パラメーターを変更していないにもかかわらず、成功したり失敗したり結果が変化するソフトウェア テスト) など予測不可能な理由により、ワークフローが失敗する場合があります。詳細なトラブルシューティングに着手するのではなく、ワークフローを再実行するほうが迅速に解決できます。GitHub Actions には簡単な再実行オプションが備わっており、軽微な不具合に迅速に対処できます。この方法を使用するには、[GitHub Actions] タブでワークフローを選択してから、[全てのジョブを再実行] を選択します。 

ジョブの使用状況を確認する

ワークフローを効果的に管理するには、ジョブが成功したか失敗したかを確認するだけでは不十分です。ジョブが使用したリソースも把握する必要があります。GitHub Actions を使用すると、それぞれのジョブにかかった時間や関連コストなどのメトリクスを簡単に確認できます。このデータは最適化や予算決定に役立ちます。[GitHub Actions] タブでワークフローを選択すると、右側に [使用状況] タブが表示され、ここで情報を確認できます。 

<> コード セクションでワークフローの詳細を分析する

[GitHub Actions] タブは概要を確認するのに最適ですが、ワークフローの重要な情報はリポジトリのコードに含まれています。それぞれのワークフローを包括的に理解するには、コードを詳しく調べることが重要です。

ワークフローを見つける

全てのワークフローはリポジトリの .github フォルダーにあります。このフォルダー内に .github/workflowsという名前の別のフォルダーがあります。各ワークフローはこのフォルダーに YAML ファイルとして表示されます。

ワークフローをレビューする 

これらの YAML ファイルに移動すると、各ワークフローの詳細 (トリガー、実行されたアクション、アクションの順序) を確認できます。これはトラブルシューティングを行う場合や、変更を検討している場合に特に役立ちます。

スクリプトとのバンドル 

多くの場合、ワークフローは、特定のタスクを自動化するための特定のスクリプトに関連付けられています。これらのスクリプトは、同じ .github ディレクトリで作成される全てのファイルのコピーも含まれます。たとえば、ラベルの変更に応じてスクリプトがデプロイを処理する場合もあります。

ワークフロー ファイルの構造化と管理に関しては、厳密な命名規則よりも機能の明確性に重点を置いています。 大部分のワークフロー ファイルは指定された 'workflows' ディレクトリに存在するため簡単に発見できますが、簡単に識別できることのほうが重要です。GitHub Actions のプライベート リポジトリにワークフローを格納する方法も試してみました。これは、より柔軟なバージョニングが可能になりますが、冗長性にもつながります。

Chris Taylor
Chris Taylor // Enterprise Architect // Coyote Logistics

ワークフロー ファイルのマークダウン情報

GitHub Actions は、ジョブのステータスを監視できるだけでなく、ワークフロー ファイル内のマークダウン出力を調べることで、さらに詳しいインサイトを得ることもできます。これらのマークダウン情報には、ジョブの実行結果から複雑なメタデータまで、幅広い情報が含まれています。

マーケットプレイスのアクションを使用する

GitHub Marketplace のアクションを組み込む場合、多くのアクションはマークダウン出力が組み込まれています。これらの出力は、有用なコンテキスト、パフォーマンス指標、診断情報などを提供します。そのため、GitHub Marketplace のアクションを採用する場合は、マークダウン セクションを確認すると有益です。

独自のマークダウンのスクリプトを作成する

さらにカスタマイズされた使い方をする場合、GitHub Actions では、独自のマークダウン出力をスクリプト化することもできます。これらのセクションをカスタマイズすると、プロジェクトにとって重要な特定のメトリクスやログを含めることができます。このような詳細なカスタマイズは、ワークフロー イベントを包括的に把握したり、最適な度合の効率性や透明性を確保したりできるため、極めて有用です。

マークダウン出力はワークフローに簡単に追加できます。

steps:
  - name: Adding markdown
    run: echo '### Hello world! 🚀' >> $GITHUB_STEP_SUMMARY

Screenshot of the GitHub job summary showing the markdown-added "Hello world!"

マークダウン追加の「Hello world!」が表示された、GitHub のジョブ サマリーのスクリーンショット

詳しくは、ワークフロー コマンドの追加方法を説明した完全なドキュメントをご覧ください。

次のガイド: GitHub Actions を使用した高度なテスト自動化戦略

テストを次のレベルに引き上げたいとお考えですか? 次のガイドでは、GitHub Actions を使用して高度なテストを実行する方法を説明します。ぜひご覧ください。GitHub Marketplace を最大限に活用して、テストを効果的にスケールする方法を学びましょう。