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はページに表示されるだけで、どこにもアップロードも保存もされません。あとはご自身でコピーしてください。
関連ツール
Webpack設定ジェネレーター
短いフォームからwebpack 5のwebpack.config.jsを生成します。entry・出力フォルダー・モードを設定し、TypeScript、Babel、CSSローダー、HtmlWebpackPlugin、開発サーバーを切り替えるだけです。
CMYK から RGB への変換
標準的な計算式で CMYK の割合をおおよその RGB 値と Hex 値に変換し、画面用にすばやく確認できます。
.gitignore ジェネレーター
Laravel、Node.js、Python、Rails のプロジェクト用除外ルールを組み合わせます。結果をコピーするか、.gitignore 入りの ZIP をダウンロードできます。個人用ルールは別に表示します。
16進数から10進数への変換ツール
16進数を10進数(10進法)に変換します。メモリアドレス、エラーコード、RGBチャンネル、任意精度の整数に対応します。
Dockerfileジェネレーター
5つのアプリ構成に合うDockerfileと.dockerignoreを作成。実際の起動対象、作業ディレクトリ、内部ポートを入力し、両方のファイルを確認できます。
Markdownリンク生成ツール
URLとアンカーテキストからMarkdownリンクの記法を生成します。タイトルのツールチップや、長い文書を読みやすく整える参照形式のリンクにも対応しています。
このツールは他の言語でも利用できます
- เครื่องมือสร้างลำดับขั้นตอนการทำงานสำหรับ GitHub Actions [TH]
- Bộ công cụ tạo luồng công việc cho GitHub Actions [VI]
- Generator Alur Kerja untuk GitHub Actions [ID]
- Generator workflow GitHub Actions [PL]
- مولّد سير عمل GitHub Actions [AR]
- GitHub-Actions-Workflow-Generator [DE]
- Gerador de Workflow do GitHub Actions [PT]
- GitHub Actions 워크플로우 생성기 [KO]
- Generador de Flujos de Trabajo de GitHub Actions [ES]
- Générateur de Workflow GitHub Actions [FR]
- GitHub Actions Workflow-generator [SV]
- GitHub Actions Werkstroomgenerator [NL]
- GitHub Actions Workflow Generator [EN]
- Generatore di Workflow di GitHub Actions [IT]
- Генератор рабочих процессов для GitHub Actions [RU]
- GitHub Actions İş Akışı Üreteci [TR]
- GitHub Actions 工作流生成器 [ZH]