ja ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

複合実行ステップ アクションの作成

このガイドでは、複合実行ステップ アクションを構築する方法について説明します。

GitHub ActionsはGitHub Free、GitHub Pro、GitHub FreeのOrganization、GitHub Team、GitHub Enterprise Cloud、GitHub Oneで利用できます。 GitHub Actionsは、レガシーのリポジトリごとのプランを使っているアカウントが所有しているプライベートリポジトリでは利用できません。 For more information, see "GitHub's products."

ここには以下の内容があります:

GitHub Actions の支払いを管理する GitHubは、macOSランナーのホストにMacStadiumを使用しています。

はじめに

このガイドでは、パッケージ化された複合実行ステップ アクションを作成および使用するために必要な基本的なコンポーネントについて説明します。 アクションのパッケージ化に必要なコンポーネントのガイドに焦点を当てるため、アクションのコードの機能は最小限に留めます。 アクションは「ハローワールド」と「さよなら」を印刷するか、カスタム名を指定すると「こんにちは [who-to-greet]」と「さようなら」を出力します。 このアクションでは、乱数も 乱数 出力変数にマップされ、 goodbye.shという名前のスクリプトが実行されます。

このプロジェクトを完了したら、独自の複合実行ステップ アクションをビルドし、ワークフローでテストする方法を理解する必要があります。

必要な環境

始める前に、GitHub リポジトリを作成します。

  1. GitHub に新しいパブリックリポジトリを作成します。 任意のリポジトリ名を選択するか、hello-world コンポジット実行ステップアクション 例 `次の方法を使用できます。 これらのファイルは、プロジェクトを GitHubにプッシュした後で追加できます。 詳しい情報については、「新しいリポジトリの作成」を参照してください。

  2. リポジトリをお手元のコンピューターにクローンします。 詳しい情報についてはリポジトリのクローンを参照してください。

  3. ターミナルから、ディレクトリを新しいリポジトリに変更します。

      cd ハローワールドコンポジット実行ステップアクション
    `
  4. hello-world-composite-run-steps-action リポジトリで、 goodbye.shという名前の新しいファイルを作成し、次のコード例を追加します。

    エコー"さようなら"
    
  5. ターミナルから、goodbye.sh を実行可能にします。

    chmod +x goodbye.sh
  6. 端末から、 goodbye.sh ファイルをチェックインします。

    git を追加goodbye.sh
    git コミット -m "さよならスクリプトを追加"
    git プッシュ

アクションのメタデータファイルの作成

  1. hello-world-composite-run-steps-action リポジトリで、action.yml という名前の新しいファイルを作成し、次のコード例を追加します。 この構文の詳細については、「<a href="/actions/creating-actions/metadata-syntax-for-github-actions#runs-for-composite-run-steps-actions"><code>実行 」を参照してください。

    アクション.yml

    name: 'Hello World'
    description: 'Greet someone'
    inputs:
      who-to-greet:  # id of input
        description: 'Who to greet'
        required: true
        default: 'World'
    outputs:
      random-number: 
        description: "Random number"
        value: ${{ steps.random-number-generator.outputs.random-id }}
    runs:
      using: "composite"
      steps: 
        - run: echo Hello ${{ inputs.who-to-greet }}.
          shell: bash
        - id: random-number-generator
          run: echo "::set-output name=random-id::$(echo $RANDOM)"
          shell: bash
        - run: ${{ github.action_path }}/goodbye.sh
          shell: bash
    

    This file defines the who-to-greet input, maps the random generated number to the random-number output variable, and runs the goodbye.sh script. また、複合実行ステップアクションの実行方法をランナーに指示します。

    出力の管理の詳細については、「複合実行手順の出力 を[`する」参照してください。

github.action_path`の使用方法の詳細については、「github コンテキスト](/actions/creating-actions/metadata-syntax-for-github-actions#outputs-for-composite-run-steps-actions)の

`」を参照してください。

  • ターミナルから、action.yml` ファイルをチェックインします。

    git add action.yml
      git commit -m "Add action"
      git push

  • 1 ターミナルから、タグを追加します。 この例では、v1 というタグを使用しています。 詳しい情報については、「アクションについて」を参照してください。

    git tag -a -m "Description of this release" v1
      git push --follow-tags

    ワークフローでアクションを試す

    次のワークフロー コードでは、「アクション メタデータ ファイルの作成」で行った完了した hello world アクション使用

    ワークフローコードを別のリポジトリの .github/workflows/main.yml ファイルにコピーしますが、actions/hello-world-composite-run-steps-action@v1 は作成したリポジトリとタグに置き換えます。 who-to-greet 入力を自分の名前に置き換えることもできます。

    .github/ワークフロー/メイン.yml

    on: [push]
    
    jobs:
      hello_world_job:
        runs-on: ubuntu-latest
        name: A job to say hello
        steps:
        - uses: actions/checkout@v2
        - id: foo
          uses: actions/hello-world-composite-run-steps-action@v1
          with:
            who-to-greet: 'Mona the Octocat'
        - run: echo random-number ${{ steps.foo.outputs.random-number }} 
          shell: bash
    

    リポジトリから [Actions] タブをクリックして、最新のワークフロー実行を選択します。 出力には、「こんにちはモナオクトキャット」、"Goodbye"スクリプトの結果、および乱数が含まれている必要があります。

    Did this doc help you?

    Privacy policy

    Help us make these docs great!

    All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

    Make a contribution

    OR, learn how to contribute.