Skip to content

Commit c356ef9

Browse files
committed
ec2 deployment script uses new start docker compose
1 parent 5ec2e8c commit c356ef9

File tree

1 file changed

+18
-71
lines changed

1 file changed

+18
-71
lines changed

.github/workflows/deploy-ec2.yml

Lines changed: 18 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ on:
1212
paths:
1313
- "generate/**"
1414
- "rvc/**"
15-
- "start_brainrot_prod.sh"
16-
- "start_rvc_prod.sh"
15+
- "start_docker_compose_prod.sh"
1716
- ".github/workflows/deploy-ec2.yml"
1817

1918
jobs:
@@ -104,8 +103,9 @@ jobs:
104103
username: ec2-user
105104
key: ${{ secrets.EC2_SSH_KEY }}
106105
port: "22"
107-
source: "start_brainrot_prod.sh"
106+
source: "start_docker_compose_prod.sh"
108107
target: "/home/ec2-user/"
108+
overwrite: true
109109

110110
# Step 9: Deploy to EC2 via SSH
111111
- name: Deploy to EC2
@@ -131,13 +131,17 @@ jobs:
131131
sudo usermod -aG docker ec2-user
132132
fi
133133
134+
# Install Docker Compose if not already installed
135+
if ! command -v docker-compose &> /dev/null; then
136+
echo "Installing Docker Compose..."
137+
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
138+
sudo chmod +x /usr/local/bin/docker-compose
139+
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
140+
fi
141+
134142
# Make sure Docker is running
135143
sudo systemctl start docker
136144
137-
# Clean up Docker resources to prevent "no space left on device" errors
138-
echo "Cleaning up Docker resources..."
139-
docker system prune -a -f --volumes
140-
141145
# Configure AWS credentials for ECR access
142146
mkdir -p ~/.aws
143147
cat > ~/.aws/credentials << EOL
@@ -154,9 +158,9 @@ jobs:
154158
export AWS_ACCOUNT_ID=$AWS_ACCOUNT_ID
155159
156160
# Make the script executable and run it
157-
chmod +x /home/ec2-user/start_brainrot_prod.sh
158-
echo "Running brainrot deployment script with AWS_ACCOUNT_ID=$AWS_ACCOUNT_ID"
159-
/home/ec2-user/start_brainrot_prod.sh
161+
chmod +x /home/ec2-user/start_docker_compose_prod.sh
162+
echo "Running Docker Compose deployment script"
163+
/home/ec2-user/start_docker_compose_prod.sh
160164
161165
build-rvc:
162166
name: Build and Push RVC
@@ -244,65 +248,8 @@ jobs:
244248
${{ steps.login-ecr.outputs.registry }}/${{ env.ECR_REPOSITORY }}:latest
245249
${{ steps.login-ecr.outputs.registry }}/${{ env.ECR_REPOSITORY }}:${{ github.sha }}
246250
247-
# Step 7: Copy deployment script to EC2
248-
- name: Copy deployment script
249-
uses: appleboy/scp-action@v0.1.4
250-
with:
251-
host: ${{ secrets.EC2_HOST_IP }}
252-
username: ec2-user
253-
key: ${{ secrets.EC2_SSH_KEY }}
254-
port: "22"
255-
source: "start_rvc_prod.sh"
256-
target: "/home/ec2-user/"
257-
overwrite: true
258-
259-
# Step 8: Deploy to EC2 via SSH
260-
- name: Deploy to EC2
261-
uses: appleboy/ssh-action@v1.0.0
262-
env:
263-
AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }}
264-
AWS_ACCESS_KEY: ${{ secrets.ACTIONS_AWS_ACCESS_KEY_ID }}
265-
AWS_SECRET_KEY: ${{ secrets.ACTIONS_AWS_SECRET_ACCESS_KEY }}
266-
with:
267-
host: ${{ secrets.EC2_HOST_IP }}
268-
port: "22"
269-
username: ec2-user
270-
key: ${{ secrets.EC2_SSH_KEY }}
271-
envs: AWS_ACCOUNT_ID,AWS_ACCESS_KEY,AWS_SECRET_KEY
272-
script: |
273-
# Install Docker if not already installed
274-
if ! command -v docker &> /dev/null; then
275-
echo "Installing Docker..."
276-
sudo yum update -y
277-
sudo yum install -y docker
278-
sudo systemctl enable docker
279-
sudo systemctl start docker
280-
sudo usermod -aG docker ec2-user
281-
fi
282-
283-
# Make sure Docker is running
284-
sudo systemctl start docker
285-
286-
# Clean up Docker resources to prevent "no space left on device" errors
287-
echo "Cleaning up Docker resources..."
288-
docker system prune -a -f --volumes
289-
290-
# Configure AWS credentials for ECR access
291-
mkdir -p ~/.aws
292-
cat > ~/.aws/credentials << EOL
293-
[default]
294-
aws_access_key_id=$AWS_ACCESS_KEY
295-
aws_secret_access_key=$AWS_SECRET_KEY
296-
region=us-east-1
297-
EOL
298-
299-
# Set AWS environment variables for this session
300-
export AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY
301-
export AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY
302-
export AWS_DEFAULT_REGION=us-east-1
303-
export AWS_ACCOUNT_ID=$AWS_ACCOUNT_ID
251+
# Step 7: Copy deployment script to EC2 - This step is no longer needed as we're using the combined script
252+
# We'll keep this job for building and pushing the RVC image, but we won't deploy it separately
304253

305-
# Make the script executable and run it
306-
chmod +x /home/ec2-user/start_rvc_prod.sh
307-
echo "Running RVC deployment script with AWS_ACCOUNT_ID=$AWS_ACCOUNT_ID"
308-
/home/ec2-user/start_rvc_prod.sh
254+
# Step 8: Deploy to EC2 via SSH - This step is no longer needed as we're using the combined script
255+
# The deployment will happen in the build-brainrot job

0 commit comments

Comments
 (0)