[CircleCI]githubにpushしたらロリポップサーバへ自動デプロイさせる

カテゴリ: CircleCI

ロリポップサーバに展開するファイルをgithubで管理し、プログラムの変更をgithubにpushしたら、その変更内容をロリポップサーバへCircleCIで自動コピーする方法です。

設定ファイル

以下の内容で、.circieci/config.ymlファイルを作成します。
ファイル内に記載した接続先の環境変数である${xxx}は、後で指定します。

version: 2
jobs:
  build:
    docker:
      - image: circleci/php:7.1-browsers

    working_directory: ~/repo

    steps:
      - checkout
      - run: scp -oStrictHostKeyChecking=no -P ${DEPLOY_PORT} ~/repo/* ${DEPLOY_USER}@${DEPLOY_SERVER}:~/web/server1

上記の設定では、以下の作業を行なっています。

  • CircleCIの環境に、Dockerコンテナcircleci/php:7.1-browsersを起動する。
  • githubのリポジトリから、~/repoへチェックアウトを行う。
  • チェックアウトされたファイルを、サーバ${DEPLOY_USER}@${DEPLOY_SERVER}の、~/web/server1 ディレクトリに展開する。

SSHキーの登録

CircleCIの設定画面にアクセスし、PERMISSIONS -> SSH Permissionsから、ロリポップにアクセスするためのSSHキー(秘密鍵)を登録します。

環境変数のセット

設定画面のBUILD SETTINGS -> Enviroment Variablesから、環境変数を登録します。

DEPLOY_PORTは、ロリポップの場合は2222を指定します。
DEPLOY_USERとDEPLOY_SERVERは、ロリポップの管理画面に記載されています。

本番サーバへの変更展開

上記の設定を行なった後githubへpushすると、変更内容がロリポップのサーバに展開されます。

こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。