Skip to content

Commit 781b96c

Browse files
authored
�mod::파일생성방법 변경
1 parent 45eb60e commit 781b96c

File tree

1 file changed

+83
-61
lines changed

1 file changed

+83
-61
lines changed

.github/workflows/deploy.yml

+83-61
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
source: ./project.jar
3838
target: "/home/ubuntu/OnTime-back"
3939
debug: true
40-
deploy-to-ec2:
40+
create-config-files:
4141
needs: build-and-docker
4242
runs-on: ubuntu-latest
4343
steps:
@@ -49,67 +49,7 @@ jobs:
4949
key: ${{ secrets.EC2_SSH_KEY }}
5050
debug: true
5151
script: |
52-
CONTAINER_ID=$(sudo docker ps -aq --filter "name=ontime-container")
53-
if [ ! -z "$CONTAINER_ID" ]; then
54-
sudo docker stop $CONTAINER_ID
55-
sudo docker rm $CONTAINER_ID
56-
fi
57-
# 기존 컨테이너 중지 및 제거
58-
sudo docker-compose down
59-
# 용량 정리
60-
sudo docker container prune
61-
sudo docker image prune -a
62-
sudo docker volume prune
63-
sudo docker network prune
64-
# 보안이 필요한 파일 생성
65-
sudo mkdir -p /home/ubuntu/OnTime-back/ontime-back/src/main/resources
6652
sudo mkdir -p /home/ubuntu/OnTime-back/ontime-back/src/main/resources/key
67-
cho "spring.application.name=${{ secrets.SPRING_APPLICATION_NAME }}" > /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
68-
echo "spring.datasource.url=${{ secrets.SPRING_DATASOURCE_URL }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
69-
echo "spring.datasource.username=${{ secrets.SPRING_DATASOURCE_USERNAME }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
70-
echo "spring.datasource.password=${{ secrets.SPRING_DATASOURCE_PASSWORD }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
71-
echo "spring.datasource.driver-class-name=${{ secrets.SPRING_DATASOURCE_DRIVER_CLASS_NAME }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
72-
echo "spring.jpa.hibernate.ddl-auto=create" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
73-
echo "jwt.secret.key=${{ secrets.JWT_SECRETKEY }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
74-
echo "jwt.access.expiration=${{ secrets.JWT_ACCESS_EXPIRATION }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
75-
echo "jwt.refresh.expiration=${{ secrets.JWT_REFRESH_EXPIRATION }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
76-
echo "jwt.access.header=${{ secrets.JWT_ACCESS_HEADER }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
77-
echo "jwt.refresh.header=${{ secrets.JWT_REFRESH_HEADER }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
78-
echo "spring.security.oauth2.client.registration.google.client-id=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_CLIENT_ID }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
79-
echo "spring.security.oauth2.client.registration.google.client-secret=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_CLIENT_SECRET }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
80-
echo "spring.security.oauth2.client.registration.google.scope=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_SCOPE }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
81-
echo "spring.security.oauth2.client.registration.google.redirect-uri=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_REDIRECT_URI }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
82-
echo "spring.security.oauth2.client.registration.google.authorization-grant-type=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_AUTHORIZATION_GRANT_TYPE }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
83-
echo "spring.security.oauth2.client.registration.google.client-name=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_CLIENT_NAME }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
84-
echo "spring.security.oauth2.client.provider.google.authorization-uri=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_GOOGLE_AUTHORIZATION_URI }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
85-
echo "spring.security.oauth2.client.provider.google.token-uri=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_GOOGLE_TOKEN_URI }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
86-
echo "spring.security.oauth2.client.provider.google.user-info-uri=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_GOOGLE_USER_INFO_URI }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
87-
echo "spring.security.oauth2.client.provider.google.user-name-attribute=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_GOOGLE_USER_NAME_ATTRIBUTE }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
88-
echo "spring.security.oauth2.client.registration.kakao.client-id=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_CLIENT_ID }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
89-
echo "spring.security.oauth2.client.registration.kakao.scope=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_SCOPE }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
90-
echo "spring.security.oauth2.client.registration.kakao.redirect-uri=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_REDIRECT_URI }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
91-
echo "spring.security.oauth2.client.registration.kakao.authorization-grant-type=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_AUTHORIZATION_GRANT_TYPE }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
92-
echo "spring.security.oauth2.client.registration.kakao.client-name=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_CLIENT_NAME }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
93-
echo "spring.security.oauth2.client.provider.kakao.authorization-uri=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_KAKAO_AUTHORIZATION_URI }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
94-
echo "spring.security.oauth2.client.provider.kakao.token-uri=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_KAKAO_TOKEN_URI }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
95-
echo "spring.security.oauth2.client.provider.kakao.user-info-uri=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_KAKAO_USER_INFO_URI }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
96-
echo "spring.security.oauth2.client.provider.kakao.user-name-attribute=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_KAKAO_USER_NAME_ATTRIBUTE }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
97-
echo "apple.client.id=${{ secrets.APPLE_CLIENT_ID }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
98-
echo "apple.client.secret=${{ secrets.APPLE_CLIENT_SECRET }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
99-
echo "apple.login.key=${{ secrets.APPLE_LOGIN_KEY }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
100-
echo "apple.team.id=${{ secrets.APPLE_TEAM_ID }}" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
101-
echo "management.endpoints.web.exposure.include=health" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
102-
echo "management.endpoint.health.show-details=always" >> /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
103-
104-
echo "${{ secrets.ONTIME_PUSH_FIREBASE_ADMINSDK }}" > /home/ubuntu/OnTime-back/ontime-back/src/main/resources/ontime-push-firebase-adminsdk-gnpxs-7d098872ff.json
105-
106-
echo "${{ secrets.AUTHKEY_743M7R5W3W_1 }}" > /home/ubuntu/OnTime-back/ontime-back/src/main/resources/key/AuthKey_743M7R5W3W.p8
107-
echo "${{ secrets.AUTHKEY_743M7R5W3W_2 }}" > /home/ubuntu/OnTime-back/ontime-back/src/main/resources/key/AuthKey_743M7R5W3W.p8
108-
echo "${{ secrets.AUTHKEY_743M7R5W3W_3 }}" > /home/ubuntu/OnTime-back/ontime-back/src/main/resources/key/AuthKey_743M7R5W3W.p8
109-
echo "${{ secrets.AUTHKEY_743M7R5W3W_4 }}" > /home/ubuntu/OnTime-back/ontime-back/src/main/resources/key/AuthKey_743M7R5W3W.p8
110-
echo "${{ secrets.AUTHKEY_743M7R5W3W_5 }}" > /home/ubuntu/OnTime-back/ontime-back/src/main/resources/key/AuthKey_743M7R5W3W.p8
111-
echo "${{ secrets.AUTHKEY_743M7R5W3W_6 }}" > /home/ubuntu/OnTime-back/ontime-back/src/main/resources/key/AuthKey_743M7R5W3W.p8
112-
11353
# .env 파일 생성
11454
cat <<EOT > .env
11555
MYSQL_DATABASE=${{ secrets.MYSQL_DATABASE }}
@@ -153,5 +93,87 @@ jobs:
15393
APPLE_LOGIN_KEY=${{ secrets.APPLE_LOGIN_KEY }}
15494
APPLE_TEAM_ID=${{ secrets.APPLE_TEAM_ID }}
15595
EOT
96+
97+
# json 파일 생성
98+
cat <<EOT > /home/ubuntu/OnTime-back/ontime-back/src/main/resources/ontime-push-firebase-adminsdk-gnpxs-7d098872ff.json
99+
${{ secrets.ONTIME_PUSH_FIREBASE_ADMINSDK }}
100+
EOT
101+
102+
# authkey 생성
103+
cat <<EOT > /home/ubuntu/OnTime-back/ontime-back/src/main/resources/key/AuthKey_743M7R5W3W.p8
104+
${{ secrets.AUTHKEY_743M7R5W3W_1 }}
105+
${{ secrets.AUTHKEY_743M7R5W3W_2 }}
106+
${{ secrets.AUTHKEY_743M7R5W3W_3 }}
107+
${{ secrets.AUTHKEY_743M7R5W3W_4 }}
108+
${{ secrets.AUTHKEY_743M7R5W3W_5 }}
109+
${{ secrets.AUTHKEY_743M7R5W3W_6 }}
110+
EOT
111+
112+
# application.properties 생성
113+
cat <<EOT > /home/ubuntu/OnTime-back/ontime-back/src/main/resources/application.properties
114+
spring.application.name=${{ secrets.SPRING_APPLICATION_NAME }}
115+
spring.datasource.url=${{ secrets.SPRING_DATASOURCE_URL }}
116+
spring.datasource.username=${{ secrets.SPRING_DATASOURCE_USERNAME }}
117+
spring.datasource.password=${{ secrets.SPRING_DATASOURCE_PASSWORD }}
118+
spring.datasource.driver-class-name=${{ secrets.SPRING_DATASOURCE_DRIVER_CLASS_NAME }}
119+
spring.jpa.hibernate.ddl-auto=create
120+
jwt.secret.key=${{ secrets.JWT_SECRETKEY }}
121+
jwt.access.expiration=${{ secrets.JWT_ACCESS_EXPIRATION }}
122+
jwt.refresh.expiration=${{ secrets.JWT_REFRESH_EXPIRATION }}
123+
jwt.access.header=${{ secrets.JWT_ACCESS_HEADER }}
124+
jwt.refresh.header=${{ secrets.JWT_REFRESH_HEADER }}
125+
spring.security.oauth2.client.registration.google.client-id=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_CLIENT_ID }}
126+
spring.security.oauth2.client.registration.google.client-secret=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_CLIENT_SECRET }}
127+
spring.security.oauth2.client.registration.google.scope=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_SCOPE }}
128+
spring.security.oauth2.client.registration.google.redirect-uri=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_REDIRECT_URI }}
129+
spring.security.oauth2.client.registration.google.authorization-grant-type=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_AUTHORIZATION_GRANT_TYPE }}
130+
spring.security.oauth2.client.registration.google.client-name=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_CLIENT_NAME }}
131+
spring.security.oauth2.client.provider.google.authorization-uri=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_GOOGLE_AUTHORIZATION_URI }}
132+
spring.security.oauth2.client.provider.google.token-uri=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_GOOGLE_TOKEN_URI }}
133+
spring.security.oauth2.client.provider.google.user-info-uri=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_GOOGLE_USER_INFO_URI }}
134+
spring.security.oauth2.client.provider.google.user-name-attribute=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_GOOGLE_USER_NAME_ATTRIBUTE }}
135+
spring.security.oauth2.client.registration.kakao.client-id=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_CLIENT_ID }}
136+
spring.security.oauth2.client.registration.kakao.scope=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_SCOPE }}
137+
spring.security.oauth2.client.registration.kakao.redirect-uri=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_REDIRECT_URI }}
138+
spring.security.oauth2.client.registration.kakao.authorization-grant-type=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_AUTHORIZATION_GRANT_TYPE }}
139+
spring.security.oauth2.client.registration.kakao.client-name=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_CLIENT_NAME }}
140+
spring.security.oauth2.client.provider.kakao.authorization-uri=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_KAKAO_AUTHORIZATION_URI }}
141+
spring.security.oauth2.client.provider.kakao.token-uri=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_KAKAO_TOKEN_URI }}
142+
spring.security.oauth2.client.provider.kakao.user-info-uri=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_KAKAO_USER_INFO_URI }}
143+
spring.security.oauth2.client.provider.kakao.user-name-attribute=${{ secrets.SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_KAKAO_USER_NAME_ATTRIBUTE }}
144+
apple.client.id=${{ secrets.APPLE_CLIENT_ID }}
145+
apple.client.secret=${{ secrets.APPLE_CLIENT_SECRET }}
146+
apple.login.key=${{ secrets.APPLE_LOGIN_KEY }}
147+
apple.team.id=${{ secrets.APPLE_TEAM_ID }}
148+
management.endpoints.web.exposure.include=health
149+
management.endpoint.health.show-details=always
150+
151+
deploy-to-ec2:
152+
needs: create-config-files
153+
runs-on: ubuntu-latest
154+
steps:
155+
- name: SSH to EC2 & Deploy Docker Containers
156+
uses: appleboy/ssh-action@master
157+
with:
158+
host: ${{ secrets.EC2_HOST }}
159+
username: ${{ secrets.EC2_USER }}
160+
key: ${{ secrets.EC2_SSH_KEY }}
161+
script: |
162+
# 기존 컨테이너 종료 및 삭제
163+
CONTAINER_ID=$(sudo docker ps -aq --filter "name=ontime-container")
164+
if [ ! -z "$CONTAINER_ID" ]; then
165+
sudo docker stop $CONTAINER_ID
166+
sudo docker rm $CONTAINER_ID
167+
fi
168+
169+
# 기존 컨테이너 및 볼륨 정리
170+
sudo docker-compose down
171+
sudo docker container prune -f
172+
sudo docker image prune -a -f
173+
sudo docker volume prune -f
174+
sudo docker network prune -f
175+
156176
# Docker Compose 실행
177+
cd /home/ubuntu/OnTime-back/ontime-back
157178
docker-compose up --build -d
179+

0 commit comments

Comments
 (0)