ブログ完全自動化のインフラ:GitHub Actionsとコスト管理の極意

この記事は、Growth Lab編集部 が GitHub Actions / CI/CD / Automation の観点から検証結果を整理したものです。
読了前に全体像を掴み、その後に目次から必要な節へ進める構成を想定しています。
目次を表示
The Pain: CI/CDで「動かない」
ローカルで完璧に動くスクリプトも、クラウド(GitHub Actions)に上げると動かないことがあります。
- タイムゾーンの問題: 投稿日時がずれる。
- 環境変数の不備: APIキーが見つからない。
- 実行時間の超過: 無料枠(2000分/月)を使い切ってしまう。
The Solution: 賢いWorkflow設計
ブログ自動化において重要なのは「冪等性(何度実行しても同じ結果になること)」と「無駄の排除」です。
- Cron Schedule: 定期実行のトリガー設定。
- Environment Secrets: APIキーの安全な管理。
- Cost Saving: 変更がないときは処理をスキップする。
The Implementation: Workflow定義
以下は、このブログを支える .github/workflows/auto-post.yml の構成例です。
name: Auto Post Article
on:
schedule:
# 毎日 日本時間の朝9時 (UTC 0:00)
- cron: "0 0 * * *"
workflow_dispatch: # 手動実行用
jobs:
post-article:
runs-on: ubuntu-latest
timeout-minutes: 5 # 暴走防止
env:
TZ: "Asia/Tokyo" # タイムゾーン固定
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }}
NOTION_DATABASE_ID: ${{ secrets.NOTION_DATABASE_ID }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: "pnpm"
- name: Install Dependencies
run: pnpm install --frozen-lockfile
- name: Generate & Post
run: |
# ドライランで記事生成
CONTENT=$(node scripts/generate_gemini.mjs '{"keyword":"最新テック"}')
# Notionへ投稿
node scripts/post_notion.mjs "$CONTENT"
コスト管理のテクニック
GitHub Actionsの無料枠は月2000分です。毎日5分走らせても 5 * 30 = 150分 なので十分余裕がありますが、以下の工夫でさらに節約できます。
- timeout-minutes: 必ず設定しましょう。無限ループなどの事故で数百分を浪費するのを防ぎます。
- Cache:
setup-nodeのキャッシュ機能を使い、npm installの時間を短縮します。 - Skip Logic: もし「今日は書くネタがない」とAPIが返した場合は、Notion投稿ステップを実行しないように
if条件をつけます。
The Takeaway: サーバーレスな執筆チーム
これで、以下のサイクルが完成しました。
- Notion API (A-1): 落ちない投稿スクリプト
- Robust Parser (A-2): 崩れない生成ロジック
- GitHub Actions (A-3): 止まらない定期実行
サーバーを一切管理することなく、APIとGitHubだけで完結する「サーバーレスなAI執筆チーム」。これが個人開発におけるブログ運用の最適解の一つです。
次のシリーズでは、このAIチームの「知能」部分、つまりエージェントの制御手法(SDD)について深掘りします。
Growth Lab編集部
GitHub Actions / CI/CD / Automation
AIエージェント開発、記事制作フロー、デザインシステム運用の接続を実装ベースで検証し、再現可能な手順へ落とし込むことを目的に運営しています。
あわせて読む
同じテーマや近い文脈の記事を続けて読めるようにする。
マルチモーダル・ブログ戦略:テキスト、図解、動画を「1回の思考」で生成する未来
テキスト・図解・動画を『1回の思考』で生成するマルチモーダル戦略の全体像を解説。AIエージェントを繋ぎ込み、エンジニアの発信力を最大化する未来型パイプラインを紹介します。
プロンプトからエージェントへ:AI駆動開発を加速させる「エージェントエンジニアリング」への転換
プロンプトを工夫するだけの段階は終わりました。AIの真価を引き出すのは、自律的なワークフローを設計する『エージェントエンジニアリング』です。Context/Capability/Critical Thinkingの3要素による次世代の開発パラダイムを解説。
継続接点
更新を追いかける
新着記事、特集、検証ログをまとめて追える入口として使う。メール購読導線の本実装前でも、継続接点を切らさない。
- 新着記事をまとめて確認できる
- 関連記事や特集ページへつながる
- 実験ログを継続的に追える
本実装ではメール購読や通知機能へ差し替え可能。