Skip to content

Commit 8908b32

Browse files
committed
feat: CI/CD yapılandırmasında konteyner durdurma ve kaldırma adımları eklendi; ortam değişkenleri ile yapılandırma iyileştirildi
1 parent 193944e commit 8908b32

File tree

1 file changed

+25
-43
lines changed

1 file changed

+25
-43
lines changed

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

Lines changed: 25 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -75,56 +75,38 @@ jobs:
7575
key: ${{ secrets.SSH_PRIVATE_KEY }}
7676
script: |
7777
echo "Starting deployment of Activity Log Service..."
78+
# Pull the latest image
7879
docker pull ${{ secrets.DOCKERHUB_USERNAME }}/activity-log-service:latest-arm64
80+
81+
# Stop and remove existing container
7982
docker stop activity-log-service || true
8083
docker rm activity-log-service || true
8184
82-
# Debug veya prod modu için container yapılandırması
83-
if [[ "${{ github.event.inputs.environment }}" == "debug" ]]; then
84-
# Debug modu
85-
docker run -d \
86-
--name activity-log-service \
87-
--network craftpilot-network \
88-
--restart unless-stopped \
89-
-p 8095:8095 \
90-
-p 5010:5010 \
91-
-e SPRING_PROFILES_ACTIVE=prod \
92-
-e KAFKA_BOOTSTRAP_SERVERS=kafka:9092 \
93-
-e EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://craftpilot:13579ada@eureka-server:8761/eureka/ \
94-
-e SPRING_SECURITY_USER_NAME=craftpilot \
95-
-e SPRING_SECURITY_USER_PASSWORD=13579ada \
96-
-e MONGODB_URI=mongodb://craftpilotadmin:secure_password@mongodb:27017/craftpilot?authSource=admin&retryWrites=true&w=majority \
97-
-e MONGODB_DATABASE=craftpilot \
98-
-e REDIS_HOST=redis \
99-
-e REDIS_PORT=6379 \
100-
-e REDIS_PASSWORD=13579ada \
101-
-e MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE="*" \
102-
-e MANAGEMENT_ENDPOINT_HEALTH_SHOW_DETAILS=always \
103-
-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" \
104-
${{ secrets.DOCKERHUB_USERNAME }}/activity-log-service:latest-arm64
85+
# Determine environment from input
86+
ENV_TYPE="${{ github.event.inputs.environment }}"
87+
88+
# Base command with common parameters
89+
BASE_CMD="docker run -d --name activity-log-service --network craftpilot-network --restart unless-stopped -p 8095:8095"
90+
91+
# Environment variables for both environments
92+
ENV_VARS="-e SPRING_PROFILES_ACTIVE=prod -e KAFKA_BOOTSTRAP_SERVERS=kafka:9092 -e EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://craftpilot:13579ada@eureka-server:8761/eureka/ -e SPRING_SECURITY_USER_NAME=craftpilot -e SPRING_SECURITY_USER_PASSWORD=13579ada -e MONGODB_URI=mongodb://craftpilotadmin:secure_password@mongodb:27017/craftpilot?authSource=admin&retryWrites=true&w=majority -e MONGODB_DATABASE=craftpilot -e REDIS_HOST=redis -e REDIS_PORT=6379 -e REDIS_PASSWORD=13579ada -e MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE='*' -e MANAGEMENT_ENDPOINT_HEALTH_SHOW_DETAILS=always"
93+
94+
# Java options based on environment
95+
if [ "$ENV_TYPE" == "debug" ]; then
96+
echo "Deploying in DEBUG mode"
97+
JAVA_OPTS="-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\""
98+
DEBUG_PORT="-p 5010:5010"
99+
FULL_CMD="$BASE_CMD $DEBUG_PORT $ENV_VARS $JAVA_OPTS ${{ secrets.DOCKERHUB_USERNAME }}/activity-log-service:latest-arm64"
105100
else
106-
# Prod modu
107-
docker run -d \
108-
--name activity-log-service \
109-
--network craftpilot-network \
110-
--restart unless-stopped \
111-
-p 8095:8095 \
112-
-e SPRING_PROFILES_ACTIVE=prod \
113-
-e KAFKA_BOOTSTRAP_SERVERS=kafka:9092 \
114-
-e EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://craftpilot:13579ada@eureka-server:8761/eureka/ \
115-
-e SPRING_SECURITY_USER_NAME=craftpilot \
116-
-e SPRING_SECURITY_USER_PASSWORD=13579ada \
117-
-e MONGODB_URI=mongodb://craftpilotadmin:secure_password@mongodb:27017/craftpilot?authSource=admin&retryWrites=true&w=majority \
118-
-e MONGODB_DATABASE=craftpilot \
119-
-e REDIS_HOST=redis \
120-
-e REDIS_PORT=6379 \
121-
-e REDIS_PASSWORD=13579ada \
122-
-e MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE="*" \
123-
-e MANAGEMENT_ENDPOINT_HEALTH_SHOW_DETAILS=always \
124-
-e "JAVA_OPTS=-XX:+UseContainerSupport -XX:MaxRAMPercentage=70.0 -XX:+UseG1GC -Djava.security.egd=file:/dev/./urandom" \
125-
${{ secrets.DOCKERHUB_USERNAME }}/activity-log-service:latest-arm64
101+
echo "Deploying in PRODUCTION mode"
102+
JAVA_OPTS="-e \"JAVA_OPTS=-XX:+UseContainerSupport -XX:MaxRAMPercentage=70.0 -XX:+UseG1GC -Djava.security.egd=file:/dev/./urandom\""
103+
FULL_CMD="$BASE_CMD $ENV_VARS $JAVA_OPTS ${{ secrets.DOCKERHUB_USERNAME }}/activity-log-service:latest-arm64"
126104
fi
127105
106+
# Execute the command
107+
echo "Running container with command: $FULL_CMD"
108+
eval $FULL_CMD
109+
128110
# Health check
129111
echo "Waiting for service to start..."
130112
for i in {1..12}; do

0 commit comments

Comments
 (0)