Githubアクションステップを並行して実行する方法

Susan Sarandon
リリース: 2024-10-09 15:51:52
オリジナル
632 人が閲覧しました

GitHub Actions ステップの並列性を指定するにはどうすればよいですか?

GitHub Actions では、parallelism キーワードを使用してジョブ内のステップの並列性を指定できます。並列処理レベルを設定することで、ジョブ内で同時に実行できるステップの最大数を制御できます。

並列処理を指定するには、.github/workflows/<workflow-file>.yml ファイル内で次の構文を使用します。

<code class="yaml">jobs:
  <job_id>:
    steps:
      - name: Step 1
        run: echo "Step 1"
      - name: Step 2
        run: echo "Step 2"
      - name: Step 3
        run: echo "Step 3"
    steps:
      - name: Parallel Steps
        run: |
          echo "Running steps in parallel"
          echo "Step 1"
          echo "Step 2"
          echo "Step 3"
        parallelism: 3</code>
ログイン後にコピー

この例では、parallelism 値が 3 に設定されており、Parallel Steps ステップ内で最大 3 つのステップを同時に実行できることを示しています。

その数を構成する方法はありますかGitHub Actions の並列ジョブの数は?

はい、jobs.concurrency プロパティを使用して、ワークフロー内で実行できる並列ジョブの数を構成できます。同時実行グループを指定することで、同時に実行できるジョブの数を制限し、リソースの競合を防ぎ、ワークフローのパフォーマンスを最適化できます。

並列ジョブの数を構成するには、.github/workflows/<workflow-file>.yml ファイルに次の行を追加します。

<code class="yaml">jobs:
  <job_id>:
    concurrency:
      group: <concurrency-group-name>
      cancel-in-progress: true</code>
ログイン後にコピー

この例では、concurrency プロパティは <concurrency-group-name> という名前の同時実行グループを指定します。 cancel-in-progress プロパティは true に設定されており、同時実行制限に達すると進行中のジョブがキャンセルされることを示します。

ステップを同時に実行して GitHub Actions のパフォーマンスを最適化するにはどうすればよいですか?

ステップを同時に実行して GitHub Actions のパフォーマンスを最適化すると、ワークフローの実行時間を大幅に短縮できます。従うべきベスト プラクティスをいくつか示します。

  1. 独立したステップを特定する: ワークフロー内のどのステップが、他のステップからの出力を必要とせずに独立して実行できるかを判断します。これらのステップは、並列化の理想的な候補です。
  2. parallelism キーワードを使用します: 同時に実行できるステップの parallelism レベルを指定します。ボトルネックを回避しながらリソース使用率を最大化するには、適切な並列処理値を設定することを検討してください。
  3. 同時実行グループの使用: 同時実行グループを構成して、ワークフロー内で同時に実行できるジョブの数を制限します。これにより、リソースの競合が防止され、最適なパフォーマンスが確保されます。
  4. 順次依存関係を回避する: ステップ間の依存関係を最小限に抑えて、最大限の並列処理を可能にします。可能であれば、ワークフローを再構築して、不必要な順次実行を排除します。
  5. リソース使用量の監視: ワークフローのリソース使用量を定期的に監視して、パフォーマンスのボトルネックを特定します。パフォーマンスを最適化するために、並列処理と同時実行の設定を適宜調整します。

以上がGithubアクションステップを並行して実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート