【わーくふろー】
ワークフロー とは?
最終更新:
💡 誰が、何を、どの条件で次へ渡すか
仕事や処理の担当・順序・条件を整理した流れ。業務の承認と自動処理、分岐・並列実行、GitHub Actionsのジョブ依存関係を解説します。
📌 このページのポイント
- 仕事や処理の流れを、担当と条件を含めて整理する
- 人の確認や承認と、機械による処理を組み合わせられる
- 一直線だけでなく、分岐・差し戻し・並列実行もある
- 自動処理の順序や成功条件は、実行するツールの定義で確認する
ワークフローは、手順を全部自動にするもの?
全部が自動とは限らないよ。誰が何を担当し、どんな条件で次に進むかを整理する流れだ。業務の管理では、人が行う承認や確認と、機械による通知・処理を組み合わせることもある。
経費申請もワークフロー?
申請、内容の確認、承認、支払い処理などの流れとして考えられる。必要な情報がなければ差し戻すなど、条件や例外も含める。申請書を置くだけでなく、担当と状態を追えるようにすることが大切だね。
開発ではどんな流れ?
例えばコードの変更をきっかけにテストし、成功したときにデプロイする。GitHub Actionsなら、YAMLのワークフローファイルで、起動条件やジョブ、処理を定義する。ただし書いた順にジョブが自動で並ぶわけではないよ。
testの下にdeployを書けば、順番になる?
GitHub Actionsのジョブは、依存関係を付けなければ並列に動く。testの成功後にdeployを進めたいなら、deployのneedsにtestを指定する。ファイルの見た目の順番と、実行上の依存関係は別なんだ。
テストが失敗したら必ず止まる?
needsで依存するジョブは通常、先のジョブが失敗・スキップすると実行されない。ただし条件式で続行する設定もある。成功条件や、失敗時に通知・片付けをする処理を、設定として確認しよう。
流れが複雑になったら?
担当、開始・終了条件、分岐、依存関係を整理し、共通処理をまとめる方法も考える。再利用可能なワークフローなどは役立つが、どんな場合にも最善とは限らない。権限と秘密情報、実行記録、失敗からの再開も確認するよ。
もっと詳しく知りたい人へ
GitHub Actionsでは、どこに何を書く?
リポジトリの.github/workflowsにYAMLファイルを置きます。onは起動のきっかけ、jobsはジョブ、stepsはジョブの処理を定義します。各ジョブの依存関係にはneedsなどを使います。個別のアクションを呼ぶことと、ワークフロー全体を再利用することは別の仕組みです。
図の差し戻しは、時間を戻す処理?
前の状態を消すという意味ではありません。確認で不足を見つけ、申請者が内容を修正して再提出する別の作業です。前の提出内容や判断の記録を残すか、再承認が必要かなど、実際の業務やツールの規則を定めます。
まとめ:ざっくりこれだけ覚えればOK!
「ワークフロー」って出てきたら「仕事や処理がどの担当や段階へ、どの条件で進むかという流れ」と思えばだいたいOK!
📖 おまけ:英語の意味
「Workflow」 = 仕事の流れ
💬 Work(仕事)とflow(流れ)を組み合わせた言葉です。日常的な業務の流れと、ツールで実行する定義の両方に使われます。WfMCの用語集では、業務の全部または一部の自動化という文脈で説明されています。