Help us understand the problem. What is going on with this article?

laravel5.3をローカルからサーバーにデプロイするbashスクリプト

More than 3 years have passed since last update.

ssh接続でアップロードしてインストールします
環境はubuntu16.04で、webサーバーはapacheです
このスクリプトはlaravelのルートディレクトリに保存してそのディレクトリに移動してから実行します
DIR_NAME,APACHE_USER,SSH_USERを書き換えて
$./deploy.sh upload
でアップロード
$./deploy.sh install
でインストールします

#!/bin/sh
DIR_NAME="service_name"
APACHE_USER="www-data"
SSH_USER="ubuntu"
case $1 in
  "")
    echo "./deploy.sh upload then install"
    ;;
  "upload")
    #アップロード先のファルダを作成
    ssh ${SSH_USER} mkdir -p /var/www/${DIR_NAME}_uploaded
    #高速にアップロードするために、ローカルで圧縮してからサーバーにアップロードしてサーバー側で展開する
    tar cvf - . | ssh ${SSH_USER} tar xvf - -C /var/www/${DIR_NAME}_uploaded
    ;;
  "install")
    #デバッグモードをオフにしてファイルやフォルダの権限を設定
    ssh -t ${SSH_USER} "\
    sudo sed -i -e "s/APP_DEBUG=true/APP_DEBUG=false/g" /var/www/${DIR_NAME}_uploaded/.env \
    && sudo chown -R ${SSH_USER}:${APACHE_USER} /var/www/${DIR_NAME}_uploaded \
    && sudo chmod -R 750 /var/www/${DIR_NAME}_uploaded \
    && sudo chmod -R 770 /var/www/${DIR_NAME}_uploaded/storage/ /var/www/${DIR_NAME}_uploaded/bootstrap/cache/ \
    "
    #アップロードしたバージョンと現在稼働中のバージョンが存在しバックアップが存在すればバックアップを削除
    ssh ${SSH_USER} "\
    [ -d /var/www/${DIR_NAME}_uploaded ] \
    && [ -d /var/www/${DIR_NAME} ] \
    && rm -rf /var/www/${DIR_NAME}_backup \
    "
    #アップロードしたバージョンと現在稼働中のバージョンが存在すればバックアップに
    ssh ${SSH_USER} "\
    [ -d /var/www/${DIR_NAME}_uploaded ] \
    && [ -d /var/www/${DIR_NAME} ] \
    && mv /var/www/${DIR_NAME} /var/www/${DIR_NAME}_backup \
    "
    #アップロードしたバージョンが存在すれば稼働させる
    ssh ${SSH_USER} "\
    [ -d /var/www/${DIR_NAME}_uploaded ] \
    && mv /var/www/${DIR_NAME}_uploaded /var/www/${DIR_NAME} \
    "
    ;;
esac

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away