Lightsailへのデプロイスクリプトの作成

Lightsailへのデプロイを自動化するために、以下の手順でデプロイスクリプトを作成します。

  1. SSHキーの準備: LightsailインスタンスにSSH接続するための秘密鍵と公開鍵を用意します。この鍵を使用して、GitHub ActionsからLightsailインスタンスに安全にアクセスします。

  2. Lightsailインスタンスへのデプロイスクリプトの作成: 以下は、Lightsailインスタンスにアプリケーションをデプロイするためのシンプルなデプロイスクリプトの例です。このスクリプトは、GitHub Actionsで実行されます。

bash
#!/bin/bash # LightsailインスタンスのIPアドレス INSTANCE_IP="your_instance_ip_address" # SSHキーの場所 SSH_KEY_PATH="/path/to/your/ssh/key.pem" # アプリケーションのデプロイ先ディレクトリ DEPLOY_DIR="/var/www/html" # GitHub ActionsからのSSH接続オプション SSH_OPTIONS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i $SSH_KEY_PATH" # LightsailインスタンスにSSH接続してアプリケーションをデプロイ ssh $SSH_OPTIONS ubuntu@$INSTANCE_IP << EOF # デプロイ先ディレクトリに移動 cd $DEPLOY_DIR # 最新のソースコードを取得 git pull origin main # 必要なコマンドやスクリプトを実行してアプリケーションをビルド・起動 # 例: Dockerコンテナの再起動 docker-compose down docker-compose up -d EOF

このスクリプトでは、LightsailインスタンスにSSH接続して、リポジトリから最新のコードを取得し、必要なコマンドやスクリプトを実行してアプリケーションをビルド・起動します。LightsailインスタンスのIPアドレスやSSHキーの場所、アプリケーションのデプロイ先ディレクトリなどを適宜修正してください。

また、GitHub Actionsで使用する際には、SSHキーを安全に保管し、GitHub Secretsを使用してアクセスキーなどの機密情報を渡すことをお勧めします。

未分類

Posted by ぼっち