シェルスクリプト

デプロイ自動化スクリプト【Gitからサーバーへのデプロイを自動化する】

シェルスクリプト
記事内に広告が含まれています。

コードを更新するたびに手動でサーバーに反映するのが面倒、そんな作業をシェルスクリプトで自動化します。

基本的なデプロイスクリプト

#!/bin/bash
set -e
APP_DIR="/var/www/myapp"
BRANCH="main"
log() { echo "[$(date "+%Y-%m-%d %H:%M:%S")] $1" | tee -a /var/log/deploy.log; }
log "デプロイ開始"
cd "$APP_DIR"
git pull origin "$BRANCH"
log "コード更新: $(git log -1 --oneline)"
sudo systemctl restart myapp
log "サービス再起動完了"
sleep 3
curl -sf http://localhost:3000/health > /dev/null && log "デプロイ成功" || { log "ヘルスチェック失敗"; exit 1; }

set -e の重要性

set -e をスクリプト先頭に書くと、コマンドが失敗した時点でスクリプトを終了します。デプロイスクリプトでは途中のエラーを見逃さないために重要です。

まとめ

  • set -e でエラー発生時に即停止する安全なスクリプトになる
  • git pull でコードを更新し systemctl restart でサービスを再起動する
  • ヘルスチェックで実際にサービスが動いているか確認する

コメント

タイトルとURLをコピーしました