Skip to content

Commit 346649a

Browse files
authored
Update main.yml #2
1 parent 5b3392b commit 346649a

File tree

1 file changed

+27
-20
lines changed

1 file changed

+27
-20
lines changed

.github/workflows/main.yml

Lines changed: 27 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,31 +11,38 @@ jobs:
1111
- name: Checkout code
1212
uses: actions/checkout@v4
1313

14-
- name: Deploy to Compute Engine Instance
14+
- name: Set Variables
1515
run: |
16-
# Define variables
17-
INSTANCE_NAME="test"
18-
ZONE="us-central1-c" # Replace with your instance's zone
19-
SSH_USER="weberqbot" # Replace with the user for the instance
20-
SSH_KEY="${{ secrets.GCP_SSH_PRIVATE_KEY }}" # Add private SSH key to secrets
21-
DEPLOY_SCRIPT="Script.sh" # Script to run on the instance
22-
23-
# Write SSH key to a file
16+
echo "INSTANCE_NAME=test" >> $GITHUB_ENV
17+
echo "ZONE=us-central1-c" >> $GITHUB_ENV
18+
echo "SSH_USER=weberqbot" >> $GITHUB_ENV
19+
echo "INSTANCE_IP=34.68.69.253" >> $GITHUB_ENV
20+
echo "DEPLOY_SCRIPT=Script.sh" >> $GITHUB_ENV
21+
shell: bash
22+
23+
- name: Prepare SSH Key
24+
env:
25+
SSH_KEY: ${{ secrets.GCP_SSH_PRIVATE_KEY }}
26+
run: |
27+
echo "Writing private SSH key..."
2428
echo "$SSH_KEY" > private_key
2529
chmod 600 private_key
2630
27-
# Generate public key
28-
ssh-keygen -y -f private_key > private_key.pub
31+
echo "Generating public key from private key..."
32+
ssh-keygen -y -f private_key > private_key.pub || { echo "SSH key generation failed"; exit 1; }
2933
34+
- name: Setup Known Hosts
35+
run: |
36+
echo "Scanning and adding instance to known_hosts..."
3037
mkdir -p ~/.ssh
38+
ssh-keyscan -H $INSTANCE_IP >> ~/.ssh/known_hosts || { echo "Failed to add instance to known_hosts"; exit 1; }
3139
32-
# Add the instance to known_hosts to prevent host key verification issues
33-
ssh-keyscan -H 34.68.69.253 >> ~/.ssh/known_hosts
34-
35-
36-
37-
# Connect to the instance and execute the script
38-
scp -i private_key $DEPLOY_SCRIPT "$SSH_USER@34.68.69.253:~/"
39-
ssh -i private_key "$SSH_USER@34.68.69.253" "bash ~/Script.sh"
40+
- name: Copy Deploy Script
41+
run: |
42+
echo "Copying deploy script ($DEPLOY_SCRIPT) to instance..."
43+
scp -i private_key "$DEPLOY_SCRIPT" "$SSH_USER@$INSTANCE_IP:~/" || { echo "SCP failed"; exit 1; }
4044
41-
45+
- name: Execute Deploy Script
46+
run: |
47+
echo "Executing deploy script on remote instance..."
48+
ssh -i private_key "$SSH_USER@$INSTANCE_IP" "bash ~/$DEPLOY_SCRIPT" || { echo "Remote execution failed"; exit 1; }

0 commit comments

Comments
 (0)