2026年6月2日

2026年6月2日

WordPressのCI/CDパイプラインをGitHub Actionsで構築する方法

はじめに

この記事では、開発者の労力を減らし、品質向上とデプロイメントの安全性を確保するためのGitHub ActionsによるCI/CDパイプラインの構築方法について解説します。WordPressプロジェクトにおいて、コードのビルドやテスト、デプロイメントを自動化することで、バージョン管理と継続的な改善が可能になります。

症状・背景

このテーマが必要になる主な場面:

  • 開発チーム間でコード品質の一貫性を確保したい場合
  • テスト環境と本番環境の差異を最小限に抑えるため
  • セキュリティ上の脆弱性やバグを早期に検出・修正する必要がある場合
  • 多数の開発者が同時にコードを更新している場合

手順・設定方法

ステップ1: リポジトリのセットアップ

# WordPressのリポジトリを作成または使用中のリポジトリを開く
git clone https://github.com/yourusername/wp-project.git

# フォルダに移動
cd wp-project

ステップ2: GitHub Actions用のYAMLファイル作成

# .github/workflowsディレクトリを作成
mkdir -p .github/workflows

# ワークフロー定義ファイルを生成
echo "name: WordPress CI/CD" > .github/workflows/cicd.yml

ステップ3: ビルドステージの設定

# PHPのインストールとWordPress依存関係のダウンロード
echo "runs-on: ubuntu-latest" >> .github/workflows/cicd.yml
echo "steps:" >> .github/workflows/cicd.yml
echo "- name: Check out the repository" >> .github/workflows/cicd.yml
echo "  uses: actions/checkout@v2" >> .github/workflows/cicd.yml
echo "- name: Set up PHP environment" >> .github/workflows/cicd.yml
echo "  uses: shivammathur/setup-php@v2" >> .github/workflows/cicd.yml
echo "  with:" >> .github/workflows/cicd.yml
echo "    php-version: '7.4'" >> .github/workflows/cicd.yml
echo "- name: Install Composer dependencies" >> .github/workflows/cicd.yml
echo "  run: composer install --no-dev --no-progress --prefer-dist" >> .github/workflows/cicd.yml

ステップ4: テストステージの追加

# WP-CLIを使用してWordPressのテストを実行
echo "- name: Run WordPress unit tests" >> .github/workflows/cicd.yml
echo "  run: wp core multisite-install --url=http://example.test --title='Test Site' --admin_user=admin --admin_email=admin@example.com --admin_password=password && wp plugin install wp-cli/wp-cli-unit-test --activate && wp core multisite-activation" >> .github/workflows/cicd.yml
echo "  env:" >> .github/workflows/cicd.yml
echo "    DB_NAME: wordpress_test_db" >> .github/workflows/cicd.yml
echo "    DB_USER: root" >> ..github/workflows/cicd.yml
echo "    WP_MULTISITE: true" >> .github/workflows/cicd.yml

ステップ5: デプロイメントステージの設定

# Gitタグを追加してデプロイメントする
echo "- name: Create a git tag for the version number" >> .github/workflows/cicd.yml
echo "  run: echo \"Tagging the version as ${{ github.ref }}\"" >> .github/workflows/cicd.yml
echo "  env:" >> .github/workflows/cicd.yml
echo "    GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}" >> .github/workflows/cicd.yml

ステップ6: セキュリティチェックの追加

# WPScanを使用してセキュリティスキャンを実行する
echo "- name: Run WPScan" >> .github/workflows/cicd.yml
echo "  uses: shivammathur/wp-scan-action@v1.0.2" >> .github/workflows/cicd.yml
echo "  with:" >> .github/workflows/cicd.yml
echo "    wp-url: http://example.test" >> .github/workflows/cicd.yml

注意事項

  • デプロイメント前にテストを確実に通過するように、テスト環境と本番環境の設定を同じものにする。
  • ワークフロー定義ファイルはYAMLフォーマットで書かれており、インデントが重要であるため注意が必要。
  • GitHub Actionsはリポジトリ内のシークレットを使用して敏感な情報(DBパスワードやAPIキーなど)を扱うことができる。
  • フォークされたリポジトリに対してワークフローを自動実行するには、フォーク元のリポジトリで許可設定が必要になる。

まとめ

1. CI/CDパイプライン: GitHub Actionsを使用してWordPressプロジェクトのビルドとテストを自動化することで、開発プロセスの効率性が向上します。

2. 安全性の確保: WPScanなどのツールを使用して定期的なセキュリティチェックを行い、脆弱性を早期に検出・修正することが可能になります。

3. デプロイメントの自動化: Gitタグや環境変数を使って最新バージョンのコードを効率的にデプロイできます。

4. 開発チームとの連携: GitHub Actionsを通じて、開発者間でのコミュニケーションと共有が容易になり、プロジェクト全体の生産性が向上します。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ