WordPressテーマ『十二単』リリース 🎉

ロリポップでのSSHログインを自動化する

あとできちんと書く。とりあえずメモがてら。

ローカルからLaravel内に置いたシェルスクリプト(auto-ssh.sh)を実行すると、ロリポップに自動ログインしてp1.shというロリポップ内のシェルスクリプトを実行する。

#!/bin/sh

ACCOUNT="hoge-hoge.jp-hoge"
SERVER="ssh.lolipop.jp"
PASSWORD="XXXXXXXXXXXX"
#下はロリポップサーバー内に設置したシェルスクリプト
FILENAME="./p1.sh"

#ロリポップにSSHログイン
expect -c "
  set timeout 5
  spawn ssh ${ACCOUNT}@${SERVER} -p 2222
  expect \"password:\"
  send \"${PASSWORD}\n\"
  expect \"$\"
  send \"${FILENAME}\n\"
  expect \"Compiled views cleared!\"
  send \"exit\n\"
  interact
"

p1.shではmigrateやキャッシュのクリア、GitHubから最新のcommitをpullして今度はdeploy-lolipop.shを実行する。

#!/bin/bash

cd web/p1
git reset --hard
git pull
echo "-----------------------------------"
git log -1
echo "-----------------------------------"
chmod 755 ./deploy-lolipop.sh
./deploy-lolipop.sh

deploy-lolipop.shではvendor以下をインストールしたり、マイグレーションしたり、キャッシュ削除したりする。

Laravelではvendorファイルはgitignoreに指定されており、その都度インストールする必要がある。gitignoreファイルを編集して解除する手もあるが非推奨

#!/bin/sh

/usr/local/php/7.3/bin/php ../../composer.phar install --no-dev
cp .env.lolipop .env
/usr/local/php/7.3/bin/php artisan migrate --force
/usr/local/php/7.3/bin/php artisan config:cache
/usr/local/php/7.3/bin/php artisan view:clear
rm -f storage/logs/*.log

ロリポップ内の全ての処理が終わるとロリポップサーバーからログアウトする。

これでローカル環境の構築およびローカルからpushしてシェルスクリプトを実行すればロリポップ側(本番環境)のLaravelもgithubから最新のバージョンにアップデートされる一連の流れができた。ちゃんちゃん。

CTAエリアイメージ

WordPressテーマ『十二単』

無料のWordPressテーマです。絶賛開発中。
詳しくみる

✒️ Writer ✒️

たかさき

しがないたかさきです。HTML/CSS/JS/PHP/Ruby/SQLちょっと書けます、Photoshopちょっと使えます。Vue勉強中、埼玉とか都内の勉強会良いのあれば教えてください〜。メディア売買経験あります、ミドルレベルでの検索結果1位何回か取ったことあります。詳しくはこちら

Follow Me:)

COMMENT

コメントする

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。


内容をご確認の上、送信してください。