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を通じて、開発者間でのコミュニケーションと共有が容易になり、プロジェクト全体の生産性が向上します。
関連記事: