WordPress製Webサイトに自動リリース体制を構築

WordPress製Webサイトに自動リリース体制を構築

WordPress
CI/CD

概要

WordPressで構築されており、独自のテーマを内製している依頼主企業様のWebサイトに、ソースコードを自動的に本番環境に公開するデプロイパイプラインを構築しました。

対象のビジネス

  • toC向け月額制オンラインサービス
  • 従業員数10名未満

目的

システム担当者が退職することとなり、管理を引き継がせていただくこととなりました。引き継いだシステムでは、最新のソースコードを本番環境にリリースするためにサーバーにSSH接続して、手動で git pull コマンドを実行する運用となっており、以下の不都合があったため、それらの解消を目指しました。

  • リリースの度に本番サーバーにSSH接続する必要があり、操作ミスの可能性があった
  • リリース担当者には本番サーバーのSSH権限を付与する必要があり、セキュリティのリスクが上がっていた
  • リリース作業に実行担当者の操作が必ず必要であり、一定の時間がかかり続けていた

実施作業

  1. Git管理しているファイルの把握と調整
    • Git管理下にあるファイルを確認し、必要十分になるように一部の設定を調整しました。
  2. デプロイパイプラインの構築
    • ソースコードを管理しているGitHubリポジトリで、本番用ブランチへのプッシュ時に自動的に本番環境にソースコードをリリースする体制を構築しました。
    • デプロイパイプラインの動作状況をSlackに通知する体制も構築しました。

システムの構成

変更後のアーキテクチャー

GitHub Actionsを使ってデプロイパイプラインを構築しました。

本支援の結果

解決したかった課題が解決でき、最小限の工数で安心して本番環境へのリリースができる体制が得られました。それにより、開発作業を細かい単位に分割して、細かくリリースしていく開発フローが可能になり、全体の生産性が向上しました。

また、本番環境のSSH権限を付与していない開発者でも安全に本番環境にリリースできるようになったことで、チーム開発を始める場合でもセキュリティ面の問題やシステム障害のリスクを抑えられるようになりました。