Skip to content

Commit 740317f

Browse files
committed
Added push to trigger
1 parent 827136a commit 740317f

File tree

5 files changed

+30
-32
lines changed

5 files changed

+30
-32
lines changed

.github/workflows/deploy.yml

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ on:
66
- devops/a3
77
tags:
88
- deploy-dev
9-
- deploy-qa
109
- deploy-prod
1110

1211
workflow_dispatch:
@@ -18,7 +17,6 @@ on:
1817
type: choice
1918
options:
2019
- dev
21-
- qa
2220
- prod
2321

2422
env:
@@ -47,23 +45,21 @@ jobs:
4745
- name: Setup Terraform
4846
uses: hashicorp/setup-terraform@v3
4947

50-
# Determin Stage - dev/prod/qa defaults to dev
51-
# - name: Determine Stage
52-
# id: set_stage
53-
# run: |
54-
# if [[ "${GITHUB_REF}" == "refs/tags/deploy-dev" ]]; then
55-
# echo "STAGE=dev" >> $GITHUB_ENV
56-
# elif [[ "${GITHUB_REF}" == "refs/tags/deploy-qa" ]]; then
57-
# echo "STAGE=qa" >> $GITHUB_ENV
58-
# elif [[ "${GITHUB_REF}" == "refs/tags/deploy-prod" ]]; then
59-
# echo "STAGE=prod" >> $GITHUB_ENV
60-
# elif [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ]]; then
61-
# echo "STAGE=${{ github.event.inputs.stage }}" >> $GITHUB_ENV
62-
# else
63-
# echo "STAGE=dev" >> $GITHUB_ENV # default fallback
64-
# fi
65-
66-
# echo "🛠️ Deployment stage: $STAGE"
48+
#Determine Stage - dev/prod defaults to dev
49+
- name: Determine Stage
50+
id: set_stage
51+
run: |
52+
if [[ "${GITHUB_REF}" == "refs/tags/deploy-dev" ]]; then
53+
echo "STAGE=dev" >> $GITHUB_ENV
54+
elif [[ "${GITHUB_REF}" == "refs/tags/deploy-prod" ]]; then
55+
echo "STAGE=prod" >> $GITHUB_ENV
56+
elif [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ]]; then
57+
echo "STAGE=${{ github.event.inputs.stage }}" >> $GITHUB_ENV
58+
else
59+
echo "STAGE=dev" >> $GITHUB_ENV # default fallback
60+
fi
61+
62+
echo "🛠️ Deployment stage: $STAGE"
6763
6864
# Terraform Init & Workspace
6965
- name: Terraform Init & Workspace
@@ -87,6 +83,8 @@ jobs:
8783
# echo "INSTANCE_IP=$(terraform output -raw instance_public_ip)" >> $GITHUB_ENV
8884
# echo "VERIFIER_IP=$(terraform output -raw verifier_instance_public_ip)" >> $GITHUB_ENV
8985
# echo "S3_BUCKET=$(terraform output -raw s3_log_bucket)" >> $GITHUB_ENV
86+
87+
9088
# Assign to local shell variables
9189
INSTANCE_IP=$(terraform output -raw instance_public_ip)
9290
VERIFIER_IP=$(terraform output -raw verifier_instance_public_ip)
@@ -112,9 +110,12 @@ jobs:
112110
# Validate App Health
113111
- name: Validate App Health
114112
run: |
113+
echo -e "\n📦 Full Response from App:\n"
114+
curl -s http://${{ env.INSTANCE_IP }}:80 || echo "❌ Failed to get response"
115+
echo -e "\n"
115116
echo "Checking app health at http://${{ env.INSTANCE_IP }}:80"
116117
for i in {1..10}; do
117-
STATUS=$(curl -o /dev/null -s -w "%{http_code}" http://$INSTANCE_IP:80)
118+
STATUS=$(curl -o /dev/null -s -w "%{http_code}" http://${{ env.INSTANCE_IP }}:80)
118119
if [[ "$STATUS" == "200" ]]; then
119120
echo "✅ App is healthy (HTTP 200)"
120121
exit 0
@@ -126,19 +127,16 @@ jobs:
126127
echo "❌ App failed health check"
127128
exit 1
128129
129-
echo -e "\n📦 Full Response from App:\n"
130-
curl -s http://${{ env.INSTANCE_IP }}:80 || echo "❌ Failed to get response"
131-
echo -e "\n"
132130
133131
# Verify Logs in S3
134132
- name: Verify Logs in S3
135133
run: |
136134
echo "📦 Checking for logs in S3 bucket: $S3_BUCKET"
137-
aws s3 ls s3://$S3_BUCKET/system/cloud-init.log || { echo "❌ system logs missing"; exit 1; }
138-
aws s3 ls s3://$S3_BUCKET/app/my-app.log || { echo "❌ app logs missing"; exit 1; }
135+
aws s3 ls s3://$S3_BUCKET/${{ github.event.inputs.stage }}/system/cloud-init.log || { echo "❌ system logs missing"; exit 1; }
136+
aws s3 ls s3://$S3_BUCKET/${{ github.event.inputs.stage }}/app/my-app.log || { echo "❌ app logs missing"; exit 1; }
139137
echo "✅ Logs found in S3 bucket"
140138
141-
# Destroy (disabled by default)
139+
# Destroy (automatically always to avoid manual deletion)
142140
- name: Destroy infrastructure
143141
if: always()
144142
working-directory: ${{ env.TF_WORKING_DIR }}

scripts/dev_script.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ nohup java -jar target/*.jar --server.port=80 > /var/log/my-app.log 2>&1 &
3030
sleep 5
3131

3232
# Upload Logs to S3
33-
sudo aws s3 cp /var/log/cloud-init.log s3://${s3_bucket_name}/system/
34-
sudo aws s3 cp /var/log/my-app.log s3://${s3_bucket_name}/app/
33+
sudo aws s3 cp /var/log/cloud-init.log s3://${s3_bucket_name}/dev/system/
34+
sudo aws s3 cp /var/log/my-app.log s3://${s3_bucket_name}/dev/app/
3535

3636
# Shutdown after timeout
3737
sudo shutdown -h +${shutdown_minutes}

scripts/prod_script.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ nohup java -jar target/*.jar --server.port=80 > /var/log/my-app.log 2>&1 &
2929
sleep 5
3030

3131
# Upload Logs to S3
32-
aws s3 cp /var/log/cloud-init.log s3://${s3_bucket_name}/system/
33-
aws s3 cp /var/log/my-app.log s3://${s3_bucket_name}/app/
32+
aws s3 cp /var/log/cloud-init.log s3://${s3_bucket_name}/prod/system/
33+
aws s3 cp /var/log/my-app.log s3://${s3_bucket_name}/prod/app/
3434

3535
# Shutdown after timeout
3636
sudo shutdown -h +${shutdown_minutes}

terraform/dev_config.tfvars

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
instance_type = "t2.micro"
22
key_name = "ssh-key-ec2" #change this to your key-pair name
33
# ami_id = "ami-0f918f7e67a3323f0"
4-
stage = "Dev"
4+
stage = "dev"
55
shutdown_minutes = 30
66
s3_bucket_name = "techeazy-logs-dev-unique123ss" # Change this!
77
aws_region = "ap-south-1"

terraform/prod_config.tfvars

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ key_name = "ssh-key-ec2" #change this to your key-pair name
33
# ami_id = "ami-0f918f7e67a3323f0"
44
stage = "prod"
55
shutdown_minutes = 25
6-
s3_bucket_name = "techeazy-logs-dev-unique123ss" # Change this!
6+
s3_bucket_name = "techeazy-logs-prod-unique123ss" # Change this!
77
aws_region = "ap-south-1"
88
repo_url = "https://github.com/techeazy-consulting/techeazy-devops"
99
verifier_lifetime = 25

0 commit comments

Comments
 (0)