Closed10

GitHub Actions 事始め

masayukimasayuki

手動実行したかったので、サンプルコードをちょっと修正。

name: Pull Request CI

on:
  workflow_dispatch:

run-name: ${{ github.actor }} is testing out GitHub Actions 🚀

jobs:
  Explore-GitHub-Actions:
    runs-on: ubuntu-latest
    steps:
      - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
      - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
      - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
      - name: Check out repository code
        uses: actions/checkout@v4
      - run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
      - run: echo "🖥️ The workflow is now ready to test your code on the runner."
      - name: List files in the repository
        run: |
          ls ${{ github.workspace }}
      - run: echo "🍏 This job's status is ${{ job.status }}."
masayukimasayuki

コンカレンシーキーは、同じコンカレンシーグループ内の1つのワークフローのみが同時に実行されることを保証する。concurrency.group は、ワークフロー名とプルリクエスト情報からコンカレンシーグループ名を生成する。concurrency.cancel-in-progressは、同じ同時実行グループ内で現在実行中のジョブまたはワークフローをキャンセルします。

concurrency:
  group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
  cancel-in-progress: true

https://docs.github.com/ja/actions/examples/using-scripts-to-test-your-code-on-a-runner

masayukimasayuki

Git 参照

Git のコンテキストにおいて、「Git 参照」は、特定のコミット、ブランチ、タグ、またはオブジェクトを一意に識別するためのものです。バージョン管理システムである Git において、過去のコミットや異なるバージョンのコードを区別するために重要な役割を果たします。

Git 参照は、以下の種類に分類されます。

1. コミット参照:
特定のコミットを指します。
SHA-1 ハッシュ値 (例: 40f21723043b175c54125b8785e5cc2f707d646a) やブランチ名 (main) などで表現されます。

2. ブランチ参照:
特定のブランチを指します。
ブランチ名 (main、develop など) で表現されます。ブランチは、コミットの連鎖を表しており、開発中のコードの異なるバージョンを管理するために使用されます。

3. タグ参照:
特定のコミット (リリース) をマークするために使用されます。
タグ名 (例: v1.0.0) で表現されます。タグは、リリース候補や重要なコミットをマイルストーンとして示すために使用されます。

4. その他の参照:
ツリーオブジェクト、BLOB オブジェクトなど、Git リポジトリ内のその他のオブジェクトを指す参照も存在します。
Git 参照は、コマンドラインツールや Git GUI クライアントを使用して操作できます。例えば、以下のコマンドで現在のブランチのコミット参照を確認できます。

git rev-parse HEAD
また、以下のコマンドで特定のコミット参照のコミットメッセージを確認できます。
git log 40f21723043b175c54125b8785e5cc2f707d646a

このように、Git 参照は、Git リポジトリ内の様々なオブジェクトを明確に識別し、過去の状態にアクセスしたり、異なるバージョンのコードを比較したりするのに役立ちます。
masayukimasayuki

シークレットの保存
ワークフローでパスワードや証明書などの機密データを使用する場合は、これらを GitHub に シークレット として保存し、それらをワークフロー内で環境変数として使用できます。 つまり、機密性の高い値をワークフローの YAML ソースに直接埋め込むことなく、ワークフローを作成して共有できます。

API キーのような機密性の高いデータも扱える。

デフォルトでは、ワークフロー内のジョブはすべて同時並行で実行されます。 別のジョブが完了した後でのみ実行する必要があるジョブがある場合は、needs キーワードを使ってこの依存関係を作成できます。 ジョブの 1 つが失敗すると、依存するすべてのジョブがスキップされます。ただし、ジョブを続ける必要がある場合は、if 条件ステートメントを使ってこれを定義できます。

job が複数ある場合、デフォルトは並列実行。
needs キーを使用すると、job の順番を設定できる。

https://docs.github.com/ja/actions/using-workflows/about-workflows

このスクラップは10日前にクローズされました