@@ -38,31 +38,14 @@ jobs:
3838 APPLICATION_PROPERTIES : ${{ secrets.APPLICATION_PROPERTIES }}
3939 TEST_APPLICATION_PROPERTIES : ${{ secrets.TEST_APPLICATION_PROPERTIES }}
4040 run : |
41- # src/main/resources 및 src/test/resources 디렉토리 생성
42- mkdir -p src/main/resources src/test/resources
43-
44- # application.properties 파일 생성
45- echo "$APPLICATION_PROPERTIES" > src/main/resources/application.properties
46- echo "$TEST_APPLICATION_PROPERTIES" > src/test/resources/application.properties
47-
48- # 권한 설정
49- chmod 600 src/main/resources/application.properties
50- chmod 600 src/test/resources/application.properties
41+ echo "Build Gradle..."
5142
5243 # gradlew 실행 권한 부여
5344 chmod +x ./gradlew
5445
5546 # Gradle 빌드 실행
5647 ./gradlew clean build
5748
58- # JAR 파일 위치 확인
59- echo "JAR file generated in:"
60- ls build/libs/
61-
62- # 빌드 성공 후 application.properties 삭제
63- rm -f src/main/resources/application.properties
64- rm -f src/test/resources/application.properties
65-
6649 # 빌드된 JAR 파일을 Docker 빌드 컨텍스트로 복사
6750 cp build/libs/*SNAPSHOT.jar .
6851
@@ -72,17 +55,14 @@ jobs:
7255 DOCKER_USERNAME : ${{ secrets.DOCKER_USERNAME }}
7356 DOCKER_PASSWORD : ${{ secrets.DOCKER_PASSWORD }}
7457 run : |
75- echo "Building Docker Image..."
76-
77- # Docker 이미지 빌드
78- docker build -t teniuscom/plango-backend:latest .
79-
80- # Docker 이미지 확인 (빌드된 이미지 확인)
81- docker images
58+ echo "Build Docker Image..."
8259
8360 # Docker Hub 로그인
8461 echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
8562
63+ # Docker 이미지 빌드
64+ docker build -t teniuscom/plango-backend:latest .
65+
8666 # 태그 확인 및 푸시
8767 docker push teniuscom/plango-backend:latest
8868
@@ -104,9 +84,13 @@ jobs:
10484 echo "MYSQL_USER=${MYSQL_USER}" >> .env
10585 echo "MYSQL_PASSWORD=${MYSQL_PASSWORD}" >> .env
10686
107- # Docker Compose 및 .env 파일 전송
87+ # application.properties 파일 생성
88+ echo "$APPLICATION_PROPERTIES" > application.properties
89+
90+ # docker-compose.yml, application.properties, .env 파일 전송
10891 scp -i private_key.pem -o StrictHostKeyChecking=no docker-compose.yml $EC2_USER@$EC2_HOST:/home/ubuntu/plango
10992 scp -i private_key.pem -o StrictHostKeyChecking=no .env $EC2_USER@$EC2_HOST:/home/ubuntu/plango
93+ scp -i private_key.pem -o StrictHostKeyChecking=no application.properties $EC2_USER@$EC2_HOST:/home/ubuntu/plango
11094
11195 # 6. EC2에서 Docker Compose 실행
11296 - name : Deploy on EC2
@@ -125,13 +109,8 @@ jobs:
125109 ssh -i private_key.pem -o StrictHostKeyChecking=no $EC2_USER@$EC2_HOST << EOF
126110 cd /home/ubuntu/plango
127111
128- # Docker 서비스 상태 확인 및 실행
129- if ! systemctl is-active --quiet docker; then
130- echo "Docker service is not running. Starting Docker..."
131- sudo systemctl start docker
132- else
133- echo "Docker service is already running."
134- fi
112+ # Docker 서비스 실행
113+ sudo systemctl start docker || true
135114
136115 # Docker Hub 로그인
137116 echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
@@ -146,4 +125,5 @@ jobs:
146125 docker-compose up -d
147126
148127 echo "Application deployed successfully!"
128+
149129 EOF
0 commit comments