-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeploy-ec2.sh
More file actions
47 lines (39 loc) · 1.17 KB
/
deploy-ec2.sh
File metadata and controls
47 lines (39 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/bash
# Deploy After Me web app to EC2 server (deathisreal.com)
#
# Prerequisites:
# - SSH key configured in ~/.ssh/config with host 'my-ec2'
# - Flutter installed locally
#
# Usage:
# ./deploy-ec2.sh # Build and deploy
# ./deploy-ec2.sh --no-build # Deploy existing build only
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
BUILD_DIR="$SCRIPT_DIR/build/web"
EC2_HOST="my-ec2"
EC2_PATH="/home/ubuntu/afterme-web"
echo "=== After Me EC2 Deployment ==="
# Check if we should skip build
if [[ "$1" != "--no-build" ]]; then
echo "Building Flutter web app..."
cd "$SCRIPT_DIR"
flutter build web
else
echo "Skipping build (--no-build flag)"
fi
# Verify build exists
if [[ ! -d "$BUILD_DIR" ]]; then
echo "Error: Build directory not found at $BUILD_DIR"
echo "Run without --no-build to create a new build"
exit 1
fi
# Deploy to EC2
echo "Deploying to $EC2_HOST:$EC2_PATH..."
scp -r "$BUILD_DIR"/* "$EC2_HOST:$EC2_PATH/"
# Verify deployment
echo "Verifying deployment..."
ssh "$EC2_HOST" "ls -la $EC2_PATH/version.json && cat $EC2_PATH/version.json"
echo ""
echo "=== Deployment complete! ==="
echo "Site: https://deathisreal.com"