グローバルナビゲーションへ

本文へ

フッターへ

お役立ち情報Blog



コマンド一発でソースコードを本環境に!PHP製のDeployツール「Deployer」を使ってみた

本番環境へのソースコードのDeployにも色々な方法があります。

  • FTPクライアントを用いてアップロード
  • lftpコマンドを用いてアップロード
  • GitHub等のサービスを介して本環境でclone
  • GitHubActionsを用いてアップロード 等々…

弊社ではセキュリティ等の関係上オンプレミスのGitLabでソースコードを管理していたため、自動化が思うように進まなかったのですが、昨今のコロナ渦でリモートワークが実施されるに伴い、GitHubの導入、Deployの自動化が進んでいます。 その中でも実際に使ってみて便利だったPHP製のDeployツール「Deployer」の紹介をしたいと思います。

Deployerとは

https://deployer.org/

A deployment tool written in PHP with support for popular frameworks out of the box.
Google翻訳:すぐに使用できる一般的なフレームワークをサポートするPHPで記述されたデプロイメントツール。

詳細は後述しますが、PHPで書かれたDeployツールになります。
SSHで本環境に接続し、Gitリポジトリのcloneやcomposerのインストールを行ってくれます。

筆者の環境

  • WSL2
  • Ubuntu-20.04
  • PHP-8.0.3

Deployerを実際に使ってみる

Deployerを使って実際にDeployしてみるに当たり、Twigを用いてhtmlを表示するだけのコードを書きました。

インストール

今回はcomposesrを用いてインストールします。
https://deployer.org/docs/6.x/installation#source-composer-installation

Deployer設定ファイルの作成

depコマンドのinitを用いて作成します。 各種フレームワークから設定ファイルの雛形を選択します。
今回はフレームワークを用いていないので [0]Common を選択しました。

deploy.phpの編集

前工程で作成した deploy.php を編集します。
ソースコードのGitリポジトリと公開サーバのSSH接続情報を設定しました。

Deployerの実行

プロジェクト直下で下記のコマンドを実行します。

問題なく成功したようです!!

本環境の確認

本環境のDeploy先を確認します。

 releases ディレクトリ内に更新毎にあたらしくディレクトリが作成され、 current シンボリックリンクが最新版を向く構成になっています。

試しにもう一度デプロイしてみると…

最新版の releases/2/  current が切り替わっています!

おわりに

Deployerを使ってソースコードをDeployしてみました。 シンボリックリンクが最新バージョンを向く構成になっていることで、不具合が見つかった際は前バージョンに戻すことも簡単にできますね! 今回ご紹介した以外にもいろいろな機能があるので、是非使ってみてはいかがでしょうか?

The following two tabs change content below.

ばね

ソリューション事業部 システムエンジニア
東京で2年半エンジニアとしての経験を積み、浜松にUターンの後、アーティスへ入社。 ソリューション事業部のWebエンジニアとして、システムの設計・開発・保守・運用からインフラまで幅広く従事している。 フルスタックエンジニア目指して現在も勉強の日々。車が好き。
この記事のカテゴリ

FOLLOW US

最新の情報をお届けします