GitHub Actions ワークフロージェネレーター
CI のない新しい GitHub リポジトリは、次のデプロイ失敗まで git push 一回分の距離しかありません。このジェネレーターは、Node、PHP、または Laravel 向けにスターターの .github/workflows/ci.yml を書き出し、チェックアウト、正しいランタイムアクション、依存関係のインストール、標準のテストコマンドを一通り配線します。緑/赤のドットを点灯させるのに必要なものがすべて揃います。
ワークフローを生成する方法
-
1
スタックを選択します
Node(`actions/setup-node`を使用)、PHP(`shivammathur/setup-php`を使用)、または Laravel(PHP + `php artisan test`を使用)。
-
2
メインブランチを設定します
`main`がデフォルトです。リポジトリでまだ`master`またはカスタム名を使用している場合は、これを上書きしてください。
-
3
生成
このツールは、該当ブランチに対して`push`および`pull_request`のトリガーを含むYAMLファイルを構築します。
-
4
.github/workflows/にコミットします
`.github/workflows/ci.yml`にファイルを作成し、「プッシュ」を実行すると、次のコミット時に「アクション」タブが点灯します。
ワークフローの様子
name: CI
on:
push:
branches: [main]
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
- run: composer install --no-interaction
- run: php artisan test
ジェネレーターが固定するアクション
| アクション | 目的 |
|---|---|
actions/checkout@v4 |
リポジトリをランナーにクローンする |
actions/setup-node@v4 |
Node ツールチェーンをインストールする |
shivammathur/setup-php@v2 |
拡張機能付きの PHP バージョンをインストールする |
次に追加するとよいもの
- テストステップの前に置く Lint ステップ(
npm run lint、./vendor/bin/phpstan analyse)。 - マトリックスビルド:
strategy.matrixを使い、複数の Node/PHP バージョンで実行します。 - カバレッジのアップロード:テストステップの後に
codecov-actionまたはcoveralls-actionを実行します。 - シークレット:トークンを絶対にハードコードしないでください。
secrets.XXXを使い、Settings → Actions で定義します。
よくある落とし穴
- タグの取得忘れ:リリースロジックがタグを読み取る場合は、
checkoutにwith: { fetch-depth: 0 }を指定します。 latestの Docker イメージを使う:数ヶ月後も再現性を保つため、バージョンを固定してください。- プッシュのたびに 30 分かかるテストスイートを実行する:
needs:で長いジョブを分割して並列化しましょう。
よくある質問
リポジトリのルートディレクトリ内の.github/workflows/ci.ymlにあります。GitHubはそのディレクトリ内にあるすべてのYAMLファイルを取得し、「アクション」タブでそれぞれを個別のワークフローとして表示します。
フォークからのプルリクエストではワークフローが実行されますが、GITHUB_TOKENは読み取り専用に設定されています。外部の貢献者は、明示的に同意しない限り、あなたの機密情報にアクセスできません。
setup-phpステップにstrategy.matrix.php: [8.2, 8.3, 8.4]ブロックを追加し、${{ matrix.php }}を参照します。ランナーは各バージョンに対して並列に1つのジョブを生成します。
いいえ。生成されたYAMLはページに表示されるだけで、どこにもアップロードも保存もされません。あとはご自身でコピーしてください。
関連ツール
ASCII表リファレンス
0から127までの完全なASCII表です。NUL、LF、DELなどの制御コードを含め、各文字の10進数、16進数、8進数、2進数、HTML数値文字参照を表示します。
HTML文字参照
HTMLエンティティの検索可能なリスト、その名称コードおよび数値コード、および特殊文字や記号のワンクリックコピー機能を提供します。
キーボードショートカット一覧
macOS、Windows、Linux向けに、VS Code、Chrome、GNU Readlineを使うBashの公式資料に基づく既定ショートカットを検索できます。
EditorConfig ジェネレーター
インデントのスタイルとサイズ、改行コード、文字コード、空白ルールを指定して .editorconfig ファイルを生成し、IDE やエディタをまたいで書式を統一できます。
メールアドレス検証ツール
メールアドレスを検証します。RFC 5322構文チェック、MXレコードのライブ確認に加え、ローカル部、ドメイン、長さの詳細を表示します。メールは送信されません。
Markdownチートシート
見出し、リスト、表、コード、リンク、画像、GFM構文を、実際のプレビューとコピーできる例で確認できる実用的なMarkdownリファレンスです。
このツールは他の言語でも利用できます
- Generator Alur Kerja untuk GitHub Actions [ID]
- مولّد سير عمل GitHub Actions [AR]
- GitHub-Actions-Workflow-Generator [DE]
- GitHub Actions Workflow-generator [SV]
- GitHub Actions Werkstroomgenerator [NL]
- GitHub Actions 워크플로우 생성기 [KO]
- เครื่องมือสร้างลำดับขั้นตอนการทำงานสำหรับ GitHub Actions [TH]
- Generator workflow GitHub Actions [PL]
- Gerador de Workflow do GitHub Actions [PT]
- Bộ công cụ tạo luồng công việc cho GitHub Actions [VI]
- Générateur de Workflow GitHub Actions [FR]
- Generador de Flujos de Trabajo de GitHub Actions [ES]
- GitHub Actions Workflow Generator [EN]
- Generatore di Workflow di GitHub Actions [IT]
- Генератор рабочих процессов для GitHub Actions [RU]
- GitHub Actions İş Akışı Üreteci [TR]
- GitHub Actions 工作流生成器 [ZH]