Skip to content

Commit 406cfae

Browse files
authored
Merge pull request #363 from boostcampwm-2022/develop
v0.3.0 배포
2 parents 589f192 + a1b161d commit 406cfae

File tree

8 files changed

+70
-179
lines changed

8 files changed

+70
-179
lines changed

backend/infra/backend-deploy.sh

Lines changed: 0 additions & 50 deletions
This file was deleted.

backend/infra/docker-compose.yml

Lines changed: 0 additions & 55 deletions
This file was deleted.

backend/infra/frontend-deploy.sh

Lines changed: 0 additions & 50 deletions
This file was deleted.

backend/yarn.lock

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3111,9 +3111,9 @@ cookie@^0.4.1:
31113111
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
31123112

31133113
cookiejar@^2.1.3:
3114-
version "2.1.3"
3115-
resolved "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz"
3116-
integrity sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==
3114+
version "2.1.4"
3115+
resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b"
3116+
integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==
31173117

31183118
core-util-is@~1.0.0:
31193119
version "1.0.3"
@@ -4681,9 +4681,9 @@ json-stable-stringify-without-jsonify@^1.0.1:
46814681
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
46824682

46834683
json5@^2.1.2, json5@^2.2.1:
4684-
version "2.2.1"
4685-
resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz"
4686-
integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
4684+
version "2.2.3"
4685+
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
4686+
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
46874687

46884688
46894689
version "3.1.0"
@@ -4891,9 +4891,9 @@ lru_map@^0.3.3:
48914891
integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==
48924892

48934893
luxon@^1.23.x:
4894-
version "1.28.0"
4895-
resolved "https://registry.yarnpkg.com/luxon/-/luxon-1.28.0.tgz#e7f96daad3938c06a62de0fb027115d251251fbf"
4896-
integrity sha512-TfTiyvZhwBYM/7QdAVDh+7dBTBA29v4ik0Ce9zda3Mnf8on1S5KJI8P2jKFZ8+5C0jhmr0KwJEO/Wdpm0VeWJQ==
4894+
version "1.28.1"
4895+
resolved "https://registry.yarnpkg.com/luxon/-/luxon-1.28.1.tgz#528cdf3624a54506d710290a2341aa8e6e6c61b0"
4896+
integrity sha512-gYHAa180mKrNIUJCbwpmD0aTu9kV0dREDrwNnuyFAsO1Wt0EVYSZelPnJlbj9HplzXX/YWXHFTL45kvZ53M0pw==
48974897

48984898
macos-release@^2.5.0:
48994899
version "2.5.0"

frontend/yarn.lock

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8473,9 +8473,9 @@ json-stable-stringify-without-jsonify@^1.0.1:
84738473
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
84748474

84758475
json5@^1.0.1:
8476-
version "1.0.1"
8477-
resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz"
8478-
integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
8476+
version "1.0.2"
8477+
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593"
8478+
integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==
84798479
dependencies:
84808480
minimist "^1.2.0"
84818481

@@ -12245,9 +12245,9 @@ [email protected]:
1224512245
integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==
1224612246

1224712247
ua-parser-js@^0.7.30:
12248-
version "0.7.32"
12249-
resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz"
12250-
integrity sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==
12248+
version "0.7.33"
12249+
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.33.tgz#1d04acb4ccef9293df6f70f2c3d22f3030d8b532"
12250+
integrity sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==
1225112251

1225212252
uglify-js@^3.1.4:
1225312253
version "3.17.4"

infra/README.md

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,39 @@
11
## 실행 방법
2-
1. infra 디렉토리 내에 서버측 .env파일을 생성
3-
2. nginx/default.conf에 SSL 인증서 경로 설정
4-
3. hooks.json의 경로를 수정
5-
4. hooks.service를 등록
6-
5. initial-deploy.sh 실행
7-
6. 이후에는 github Repository의 Main 브랜치에 Merge가 발생하면 자동으로 배포가 됩니다
2+
3+
### 기본적으로 docker가 설치되어 있어야합니다.
4+
5+
1. infra 디렉토리 내에 서버측 .env파일을 생성합니다.
6+
2. 아래와 같이 docker를 이용해서 SSL 인증서 생성합니다.(서드도메인까지 모두 만들어줘야합니다) [참고](https://lynlab.co.kr/blog/72)
7+
8+
```bash
9+
sudo docker run -it --rm --name certbot \
10+
-v '/etc/letsencrypt:/etc/letsencrypt' \
11+
-v '/var/lib/letsencrypt:/var/lib/letsencrypt' \
12+
certbot/certbot certonly -d '도메인이름' --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory
13+
```
14+
15+
3. nginx/default.conf를 아래와 같이 수정합니다.
16+
17+
- server_name을 도메인에 맞게 수정
18+
- SSL 인증서 경로 설정
19+
20+
> 현재는 dreamdev.me, api.dreamdev.me로 설정되어 있습니다.
21+
22+
4. hooks.json 파일을 아래와 같이 수정합니다.
23+
- `command-working-directory`를 infra폴더 경로로 수정
24+
- `execute-command`를 해당 폴더의 backend-deploy.sh, frontend-deploy.sh로 수정
25+
5. hooks.service를 등록합니다. [참고](https://118k.tistory.com/1055)
26+
6. initial-deploy.sh 실행하면 배포가 완료됩니다.
27+
7. 이후에는 github Repository의 Main 브랜치에 Merge가 발생하면 자동으로 배포가 됩니다!
28+
29+
- 추가적으로 서버 인스턴스가 변경되었다면 dockerHub에서 웹훅설정을 변경해야합니다!
30+
31+
8. 추가적으로 ssl 인증서를 자동 갱신하도록 cron을 등록하시면 편리합니다!
32+
```
33+
#!/bin/bash
34+
35+
docker run -it --rm --name certbot \
36+
-v '/etc/letsencrypt:/etc/letsencrypt' \
37+
-v '/var/lib/letsencrypt:/var/lib/letsencrypt' \
38+
certbot/certbot renew --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory
39+
```

infra/nginx/default.conf

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
upstream frontend{
2+
server frontend-blue:8080;
3+
}
4+
5+
upstream backend{
6+
server backend-blue:3001;
7+
}
8+
19
server {
210
listen 80;
311

@@ -10,8 +18,8 @@ server {
1018
listen 443 ssl;
1119
server_name api.dreamdev.me;
1220

13-
ssl_certificate /etc/letsencrypt/live/dreamdev.me/fullchain.pem;
14-
ssl_certificate_key /etc/letsencrypt/live/dreamdev.me/privkey.pem;
21+
ssl_certificate /etc/letsencrypt/live/api.dreamdev.me/fullchain.pem;
22+
ssl_certificate_key /etc/letsencrypt/live/api.dreamdev.me/privkey.pem;
1523

1624
location / {
1725
proxy_pass http://backend;
@@ -38,4 +46,4 @@ server {
3846
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
3947
proxy_set_header X-Forwarded-Host $server_name;
4048
}
41-
}
49+
}

infra/renew.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/bash
2+
3+
docker run -it --rm --name certbot \
4+
-v '/etc/letsencrypt:/etc/letsencrypt' \
5+
-v '/var/lib/letsencrypt:/var/lib/letsencrypt' \
6+
certbot/certbot renew --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory

0 commit comments

Comments
 (0)