Skip to content

Commit 04b1ca7

Browse files
committed
CI/CD yapılandırmasına ortam seçeneği eklendi; debug ve prod modları için farklı container yapılandırmaları oluşturuldu.
1 parent 2583c79 commit 04b1ca7

2 files changed

Lines changed: 431 additions & 28 deletions

File tree

.github/workflows/activity-log-service-ci-cd.yml

Lines changed: 70 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,15 @@ on:
77
- "activity-log-service/**"
88
- ".github/workflows/activity-log-service-ci-cd.yml"
99
workflow_dispatch:
10+
inputs:
11+
environment:
12+
description: "Environment to deploy to"
13+
required: true
14+
default: "prod"
15+
type: choice
16+
options:
17+
- prod
18+
- debug
1019

1120
jobs:
1221
build-and-deploy:
@@ -71,34 +80,67 @@ jobs:
7180
docker stop activity-log-service || true
7281
docker rm activity-log-service || true
7382
74-
# Basitleştirilmiş container yapılandırması
75-
docker run -d \
76-
--name activity-log-service \
77-
--network craftpilot-network \
78-
--restart unless-stopped \
79-
-p 8095:8095 \
80-
-v /opt/craftpilot/gcp-credentials.json:/gcp-credentials.json:ro \
81-
-e SPRING_PROFILES_ACTIVE=prod \
82-
-e KAFKA_BOOTSTRAP_SERVERS=kafka:9092 \
83-
-e EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://craftpilot:13579ada@eureka-server:8761/eureka/ \
84-
-e HOSTNAME=activity-log-service \
85-
-e GOOGLE_APPLICATION_CREDENTIALS=/gcp-credentials.json \
86-
-e SPRING_SECURITY_USER_NAME=craftpilot \
87-
-e SPRING_SECURITY_USER_PASSWORD=13579ada \
88-
-e SPRING_CLOUD_GCP_PROJECT_ID=craft-pilot-ai \
89-
-e REDIS_HOST=redis \
90-
-e REDIS_PORT=6379 \
91-
-e REDIS_PASSWORD=13579ada \
92-
-e MANAGEMENT_ENDPOINTS_WEB_BASE_PATH=/actuator \
93-
-e "MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE=*" \
94-
-e MANAGEMENT_ENDPOINT_HEALTH_SHOW_DETAILS=always \
95-
-e "JAVA_OPTS=-XX:+UseContainerSupport -XX:MaxRAMPercentage=70.0 -XX:+UseG1GC -Djava.security.egd=file:/dev/./urandom" \
96-
--health-cmd="curl -f http://localhost:8095/actuator/health || exit 1" \
97-
--health-interval=30s \
98-
--health-timeout=10s \
99-
--health-retries=3 \
100-
--health-start-period=60s \
101-
${{ secrets.DOCKERHUB_USERNAME }}/activity-log-service:latest-arm64
83+
# Debug ve prod modları için farklı container yapılandırması
84+
if [[ "${{ github.event.inputs.environment }}" == "debug" ]]; then
85+
# Debug modu container yapılandırması
86+
docker run -d \
87+
--name activity-log-service \
88+
--network craftpilot-network \
89+
--restart unless-stopped \
90+
-p 8095:8095 \
91+
-p 5010:5010 \
92+
-v /opt/craftpilot/gcp-credentials.json:/gcp-credentials.json:ro \
93+
-e SPRING_PROFILES_ACTIVE=prod \
94+
-e KAFKA_BOOTSTRAP_SERVERS=kafka:9092 \
95+
-e EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://craftpilot:13579ada@eureka-server:8761/eureka/ \
96+
-e HOSTNAME=activity-log-service \
97+
-e GOOGLE_APPLICATION_CREDENTIALS=/gcp-credentials.json \
98+
-e SPRING_SECURITY_USER_NAME=craftpilot \
99+
-e SPRING_SECURITY_USER_PASSWORD=13579ada \
100+
-e SPRING_CLOUD_GCP_PROJECT_ID=craft-pilot-ai \
101+
-e REDIS_HOST=redis \
102+
-e REDIS_PORT=6379 \
103+
-e REDIS_PASSWORD=13579ada \
104+
-e MANAGEMENT_ENDPOINTS_WEB_BASE_PATH=/actuator \
105+
-e "MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE=*" \
106+
-e MANAGEMENT_ENDPOINT_HEALTH_SHOW_DETAILS=always \
107+
-e "JAVA_OPTS=-XX:+UseContainerSupport -XX:MaxRAMPercentage=70.0 -XX:+UseG1GC -Djava.security.egd=file:/dev/./urandom -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5010" \
108+
--health-cmd="curl -f http://localhost:8095/actuator/health || exit 1" \
109+
--health-interval=30s \
110+
--health-timeout=10s \
111+
--health-retries=3 \
112+
--health-start-period=60s \
113+
${{ secrets.DOCKERHUB_USERNAME }}/activity-log-service:latest-arm64
114+
else
115+
# Prod modu container yapılandırması
116+
docker run -d \
117+
--name activity-log-service \
118+
--network craftpilot-network \
119+
--restart unless-stopped \
120+
-p 8095:8095 \
121+
-v /opt/craftpilot/gcp-credentials.json:/gcp-credentials.json:ro \
122+
-e SPRING_PROFILES_ACTIVE=prod \
123+
-e KAFKA_BOOTSTRAP_SERVERS=kafka:9092 \
124+
-e EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://craftpilot:13579ada@eureka-server:8761/eureka/ \
125+
-e HOSTNAME=activity-log-service \
126+
-e GOOGLE_APPLICATION_CREDENTIALS=/gcp-credentials.json \
127+
-e SPRING_SECURITY_USER_NAME=craftpilot \
128+
-e SPRING_SECURITY_USER_PASSWORD=13579ada \
129+
-e SPRING_CLOUD_GCP_PROJECT_ID=craft-pilot-ai \
130+
-e REDIS_HOST=redis \
131+
-e REDIS_PORT=6379 \
132+
-e REDIS_PASSWORD=13579ada \
133+
-e MANAGEMENT_ENDPOINTS_WEB_BASE_PATH=/actuator \
134+
-e "MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE=*" \
135+
-e MANAGEMENT_ENDPOINT_HEALTH_SHOW_DETAILS=always \
136+
-e "JAVA_OPTS=-XX:+UseContainerSupport -XX:MaxRAMPercentage=70.0 -XX:+UseG1GC -Djava.security.egd=file:/dev/./urandom" \
137+
--health-cmd="curl -f http://localhost:8095/actuator/health || exit 1" \
138+
--health-interval=30s \
139+
--health-timeout=10s \
140+
--health-retries=3 \
141+
--health-start-period=60s \
142+
${{ secrets.DOCKERHUB_USERNAME }}/activity-log-service:latest-arm64
143+
fi
102144
103145
echo "=== Waiting for service startup ==="
104146
max_attempts=15

0 commit comments

Comments
 (0)