-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4 from googoo9918/incubating-02
Comment: "Update CI/CD"
- Loading branch information
Showing
10 changed files
with
129 additions
and
97 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
version: 0.0 | ||
|
||
# Deploy 대상 서버의 운영체제를 표시 | ||
os: linux | ||
|
||
# 코드 파일 전송과 관련된 설정 | ||
files: | ||
# 코드 파일의 소스 경로 | ||
- source: / | ||
# 코드 파일의 대상 경로 -> /home/ec2-user/app 디렉토리로 파일을 복사한다. | ||
destination: /home/ec2-user/app | ||
# 대상 경로에 이미 파일이 존재하는 경우, 덮어쓰기를 허용할지 여부 | ||
overwrite: yes | ||
|
||
# 파일 및 디렉토리 권한에 관련된 설정 | ||
permissions: | ||
# 권한을 설정할 대상 경로 | ||
- object: / | ||
# 모든 파일 및 디렉토리를 의미 | ||
pattern: "**" | ||
# 파일 및 디렉토리의 소유자를 ec2-user로 설정 | ||
owner: ec2-user | ||
# 파일 및 디렉토리의 그룹을 ec2-user로 설정 | ||
group: ec2-user | ||
|
||
# Deploy 전후에 실행할 스크립트 또는 명령에 관련된 설정 | ||
hooks: | ||
# 애플리케이션 시작시 실행할 스크립트 또는 명령에 관련된 설정 | ||
ApplicationStart: | ||
# 실행할 스크립트 또는 명령의 위치 | ||
- location: deploy.sh | ||
# 스크립트 또는 명령 실행의 제한 시간을 설정 | ||
timeout: 60 | ||
# CodeDeploy 중 실행되는 스크립트 또는 명령을 실행할 사용자를 지정 | ||
runas: ec2-user |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
### Docker 이미지를 생성할 때 기반이 되는 베이스 이미지를 설정한다. | ||
FROM openjdk:11-jre-slim | ||
### Dockerfile 내에서 사용할 변수 JAR_FILE을 정의한다. | ||
ARG JAR_FILE=build/libs/*.jar | ||
### JAR_FILE 경로에 해당하는 파일을 Docker 이미지 내부로 복사한다. | ||
COPY ${JAR_FILE} yourssuAssignment.jar | ||
### Docker 컨테이너가 시작될 때 실행할 명령을 지정한다. | ||
ENTRYPOINT ["java","-jar","/yourssuAssignment.jar"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
#blue | ||
version: '3' | ||
services: | ||
# 서비스의 이름 | ||
backend: | ||
# 현재 디렉토리에서의 Dockerfile을 사용하여 Docker 이미지를 빌드 | ||
build: .. | ||
# 호스트의 8081 포트와 컨테이너의 80 포트를 매핑 | ||
ports: | ||
- "8081:80" | ||
# 컨테이너의 이름 | ||
container_name: spring-blue |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#green | ||
version: '3' | ||
services: | ||
backend: | ||
build: .. | ||
ports: | ||
- "8082:80" | ||
container_name: spring-green |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
#!/bin/bash | ||
|
||
# 작업 디렉토리를 /home/ec2-user/app으로 변경 | ||
cd /home/ec2-user/app | ||
|
||
# 환경변수 DOCKER_APP_NAME을 spring으로 설정 | ||
DOCKER_APP_NAME=spring | ||
|
||
|
||
# 실행중인 blue가 있는지 확인 | ||
# 프로젝트의 실행 중인 컨테이너를 확인하고, 해당 컨테이너가 실행 중인지 여부를 EXIST_BLUE 변수에 저장 | ||
EXIST_BLUE=$(sudo docker-compose -p ${DOCKER_APP_NAME}-blue -f docker-compose.blue.yml ps | grep Up) | ||
|
||
# 배포 시작한 날짜와 시간을 기록 | ||
echo "배포 시작일자 : $(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)" >> /home/ec2-user/deploy.log | ||
|
||
# green이 실행중이면 blue up | ||
# EXIST_BLUE 변수가 비어있는지 확인 | ||
if [ -z "$EXIST_BLUE" ]; then | ||
|
||
# 로그 파일(/home/ec2-user/deploy.log)에 "blue up - blue 배포 : port:8081"이라는 내용을 추가 | ||
echo "blue 배포 시작 : $(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)" >> /home/ec2-user/deploy.log | ||
|
||
# docker-compose.blue.yml 파일을 사용하여 spring-blue 프로젝트의 컨테이너를 빌드하고 실행 | ||
sudo docker-compose -p ${DOCKER_APP_NAME}-blue -f docker-compose.blue.yml up -d --build | ||
|
||
# 30초 동안 대기 | ||
sleep 30 | ||
|
||
# /home/ec2-user/deploy.log: 로그 파일에 "green 중단 시작"이라는 내용을 추가 | ||
echo "green 중단 시작 : $(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)" >> /home/ec2-user/deploy.log | ||
|
||
# docker-compose.green.yml 파일을 사용하여 spring-green 프로젝트의 컨테이너를 중지 | ||
sudo docker-compose -p ${DOCKER_APP_NAME}-green -f docker-compose.green.yml down | ||
|
||
# 사용하지 않는 이미지 삭제 | ||
sudo docker image prune -af | ||
|
||
echo "green 중단 완료 : $(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)" >> /home/ec2-user/deploy.log | ||
|
||
# blue가 실행중이면 green up | ||
else | ||
echo "green 배포 시작 : $(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)" >> /home/ec2-user/deploy.log | ||
sudo docker-compose -p ${DOCKER_APP_NAME}-green -f docker-compose.green.yml up -d --build | ||
|
||
sleep 30 | ||
|
||
echo "blue 중단 시작 : $(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)" >> /home/ec2-user/deploy.log | ||
sudo docker-compose -p ${DOCKER_APP_NAME}-blue -f docker-compose.blue.yml down | ||
sudo docker image prune -af | ||
|
||
echo "blue 중단 완료 : $(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)" >> /home/ec2-user/deploy.log | ||
|
||
fi | ||
echo "배포 종료 : $(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)" >> /home/ec2-user/deploy.log | ||
|
||
echo "===================== 배포 완료 =====================" >> /home/ec2-user/deploy.log | ||
echo >> home/ec2-user/deploy.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
3 changes: 3 additions & 0 deletions
3
src/main/kotlin/yourssu/yourssuAssigmnet/global/resolver/authinfo/Auth.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,10 @@ | ||
package yourssu.yourssuAssigmnet.global.resolver.authinfo | ||
|
||
// 어노테이션의 적용 대상을 지정(파라미터) | ||
@Target(AnnotationTarget.VALUE_PARAMETER) | ||
// 어노테이션이 유지될 기간을 정의(런타임에도 유지) | ||
@Retention(AnnotationRetention.RUNTIME) | ||
// 문서포함여부 | ||
@MustBeDocumented | ||
annotation class Auth | ||
|
95 changes: 0 additions & 95 deletions
95
src/test/kotlin/yourssu/yourssuAssigmnet/ArticleServiceTest.kt
This file was deleted.
Oops, something went wrong.