Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
aefff9b
ci: githubaction ci test
kss123456789 Apr 24, 2025
8d7d4b2
fix: docker_username
kss123456789 Apr 24, 2025
72ba170
fix: docker login
kss123456789 Apr 24, 2025
6f2cee8
fix: secret test
kss123456789 Apr 24, 2025
b0d1b96
fix: secret test
kss123456789 Apr 24, 2025
a975887
fix: secret name
kss123456789 Apr 24, 2025
d946810
fix: gitaction cd
kss123456789 Apr 24, 2025
328fb8e
fix: gitaction cd
kss123456789 Apr 24, 2025
37827c9
fix: gitaction cd, directory
kss123456789 Apr 24, 2025
352670c
fix: gitaction ci, cd workflows
kss123456789 Apr 24, 2025
c78c578
fix: gitaction cd test
kss123456789 Apr 24, 2025
70e25ac
fix: gitaction cd test
kss123456789 Apr 24, 2025
88eea92
fix: gitaction cd test
kss123456789 Apr 24, 2025
3f50878
fix: docker-compose-server depend on
kss123456789 Apr 24, 2025
20d08c2
fix: prometheus.yml
kss123456789 Apr 24, 2025
0b50351
fix: prometheus.yml
kss123456789 Apr 24, 2025
26bf418
Update docker-cd.yml
kss123456789 Apr 30, 2025
48bf283
fix: user service error fix
kss123456789 Apr 30, 2025
072aa07
Merge remote-tracking branch 'origin/Ci/#91-cicd-gitaction' into Ci/#โ€ฆ
kss123456789 Apr 30, 2025
d98b021
fix: after merge, retest
kss123456789 Apr 30, 2025
d815a4c
fix: after merge, retest
kss123456789 Apr 30, 2025
abdecf9
fix: after merge, retest
kss123456789 Apr 30, 2025
5d44121
fix: after merge, retest
kss123456789 Apr 30, 2025
4d505a3
fix: cd test
kss123456789 Apr 30, 2025
6ea786b
fix: fix cd test
kss123456789 Apr 30, 2025
19e0933
fix: fix cd test
kss123456789 Apr 30, 2025
e65cfc5
fix: fix env secret
kss123456789 Apr 30, 2025
747828e
fix: fix env secret
kss123456789 Apr 30, 2025
9d3042a
fix: fix env secret
kss123456789 Apr 30, 2025
24525eb
fix: fix docker-compose-server.yml
kss123456789 Apr 30, 2025
29b6d4c
fix: fix user application yml
kss123456789 Apr 30, 2025
4f664af
fix: fix user application yml
kss123456789 Apr 30, 2025
087c9bc
fix: fix user application yml
kss123456789 Apr 30, 2025
e0f4581
fix: fix user application yml
kss123456789 Apr 30, 2025
7f0f3a3
fix: docker-compose-server.yml
kss123456789 Apr 30, 2025
fd8c98f
Merge branch 'dev' of https://github.com/homeProtector/oneul-tanda inโ€ฆ
kss123456789 May 1, 2025
4e99733
fix: dev pull update
kss123456789 May 1, 2025
617fec5
fix: uuid error
kss123456789 May 1, 2025
cdccb2f
Merge branch 'dev' of https://github.com/homeProtector/oneul-tanda inโ€ฆ
kss123456789 May 1, 2025
489b190
fix: /data delete, payment
kss123456789 May 1, 2025
21f9517
fix: /data delete, payment
kss123456789 May 1, 2025
71d000e
fix: /data delete, payment
kss123456789 May 1, 2025
bc69e28
fix: /data delete, payment
kss123456789 May 1, 2025
e9c1dc1
fix: /data delete, payment
kss123456789 May 1, 2025
1784648
fix: /data delete, payment
kss123456789 May 1, 2025
f9ab120
fix: /data delete, payment
kss123456789 May 1, 2025
8639e4c
fix: /data delete, payment
kss123456789 May 1, 2025
cfc7af0
fix: /data delete, payment
kss123456789 May 1, 2025
ce3a285
refactor: mysql -> postgresql
kss123456789 May 1, 2025
d4d7f38
fix: binary -> uuid
kss123456789 May 1, 2025
0af1d44
fix: env name error
kss123456789 May 1, 2025
786031c
fix: add init-scrips
kss123456789 May 1, 2025
8d9582d
fix: del mysql setting
kss123456789 May 1, 2025
d1da822
fix: reservationId null error
kss123456789 May 1, 2025
a32697c
fix: grafana, prometheus permit
kss123456789 May 1, 2025
2706fe1
fix: grafana, prometheus permit
kss123456789 May 1, 2025
42e5861
fix: grafana, prometheus permit
kss123456789 May 1, 2025
0a90f86
fix: grafana, prometheus volume fix
kss123456789 May 1, 2025
69968f8
fix: grafana provisioning
kss123456789 May 1, 2025
d5c2cba
fix: prometheus.yml target
kss123456789 May 1, 2025
232acdb
fix: flight service cache fix
kss123456789 May 1, 2025
5b02717
feat: http client for server
kss123456789 May 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 103 additions & 0 deletions .github/workflows/docker-ci-cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
name: CI CD

on:
push:
branches:
- Ci/#91-cicd-gitaction
- main
# todo: ์ถ”ํ›„ main์œผ๋กœ ์ˆ˜์ •ํ•  ๊ฒƒ

jobs:
CI:
environment: oneul-tanda
runs-on: ubuntu-latest

strategy:
matrix:
service:
- eureka-server
- gateway-service
- user-service
- flight-service
- reservation-service
- queue-service
- payment-service

steps:
- name: Checkout source
uses: actions/checkout@v3

- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Build Docker Image
run: |
docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/${{ matrix.service }}:latest ./${{ matrix.service }}

- name: Push Docker Image
run: |
docker push ${{ secrets.DOCKERHUB_USERNAME }}/${{ matrix.service }}:latest

# ์ถ”ํ›„ ๋ถ„๋ฆฌ๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Œ
CD:
needs: CI
environment: oneul-tanda
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: set up .env
run: |
cat <<EOF > .env
JWT_SECRET_KEY=${{ secrets.JWT_SECRET_KEY }}
USER_DB_ROOT_PASSWORD=${{ secrets.USER_DB_ROOT_PASSWORD }}
USER_DB_ID=${{ secrets.USER_DB_ID }}
USER_DB_PASSWORD=${{ secrets.USER_DB_PASSWORD }}
RESERVATION_DB_ROOT_PASSWORD=${{ secrets.RESERVATION_DB_ROOT_PASSWORD }}
RESERVATION_DB_ID=${{ secrets.RESERVATION_DB_ID }}
RESERVATION_DB_PASSWORD=${{ secrets.RESERVATION_DB_PASSWORD }}
FLIGHT_DB_ID=${{ secrets.FLIGHT_DB_ID }}
FLIGHT_DB_PASSWORD=${{ secrets.FLIGHT_DB_PASSWORD }}
AMADEUS_CLIENT_ID=${{ secrets.AMADEUS_CLIENT_ID }}
AMADEUS_CLIENT_SECRET=${{ secrets.AMADEUS_CLIENT_SECRET }}
GF_SECURITY_ADMIN_USER=${{ secrets.GF_SECURITY_ADMIN_USER }}
GF_SECURITY_ADMIN_PASSWORD=${{ secrets.GF_SECURITY_ADMIN_PASSWORD }}
PAYMENT_DB_USERNAME=${{ secrets.PAYMENT_DB_USERNAME }}
PAYMENT_DB_ROOT_PASSWORD=${{ secrets.PAYMENT_DB_ROOT_PASSWORD }}
PAYMENT_DB_PASSWORD=${{ secrets.PAYMENT_DB_PASSWORD }}
IMPORT_API_KEY=${{ secrets.IMPORT_API_KEY }}
IMPORT_API_SECRET_KEY=${{ secrets.IMPORT_API_SECRET_KEY }}
EOF

- name: Set up SSH
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan -H ${{ secrets.INSTANCE_IP }} >> ~/.ssh/known_hosts

- name: Make sure remote directory exists
run: |
ssh ${{ secrets.SSH_USER }}@${{ secrets.INSTANCE_IP }} "mkdir -p /home/${{ secrets.SSH_USER }}/app"

- name: Send docker-compose files and .env and init-scripts
run: |
scp ./docker-compose-server.yml ${{ secrets.SSH_USER }}@${{ secrets.INSTANCE_IP }}:/home/ubuntu/app/docker-compose.yml
scp ./.env ${{ secrets.SSH_USER }}@${{ secrets.INSTANCE_IP }}:/home/ubuntu/app/
scp ./prometheus.yml ${{ secrets.SSH_USER }}@${{ secrets.INSTANCE_IP }}:/home/ubuntu/app/
scp -r ./init-scripts ${{ secrets.SSH_USER }}@${{ secrets.INSTANCE_IP }}:/home/ubuntu/app/
scp -r ./grafana ${{ secrets.SSH_USER }}@${{ secrets.INSTANCE_IP }}:/home/ubuntu/app/

- name: Run docker compose on server
run: |
ssh -tt ${{ secrets.SSH_USER }}@${{ secrets.INSTANCE_IP }} "
cd /home/${{ secrets.SSH_USER }}/app &&
docker compose pull &&
docker compose down &&
docker compose up -d
"
100 changes: 100 additions & 0 deletions api-http-test/integration-server.http
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# ์ „์ฒด ์‹œ๋‚˜๋ฆฌ์˜ค
# ํšŒ์›๊ฐ€์ž… โ†’ ๋กœ๊ทธ์ธ โ†’ ํŠน๊ฐ€ ํ•ญ๊ณต๊ถŒ ์˜ˆ๋งค ์š”์ฒญ โ†’ ์˜ˆ์•ฝ ๋Œ€๊ธฐ์—ด ์„œ๋น„์Šค: ์ขŒ์„ ์„ ์  ์ฒ˜๋ฆฌ โ†’ ์˜ˆ์•ฝ ๋Œ€๊ธฐ์—ด ์„œ๋น„์Šค: ์ขŒ์„ ์„ ์  ์„ฑ๊ณต โ†’
# ์˜ˆ์•ฝ ๋Œ€๊ธฐ์—ด ์„œ๋น„์Šค Kafka prodcuer: ์˜ˆ์•ฝ ์„ ์  ์„ฑ๊ณต ์ด๋ฒคํŠธ ๋ฐœํ–‰ โ†’ ์˜ˆ์•ฝ ์„œ๋น„์Šค Kafka Consumer: ์˜ˆ์•ฝ ์ž„์‹œ ์ƒ์„ฑ โ†’
# ์˜ˆ์•ฝ ์„œ๋น„์Šค: ์˜ˆ์•ฝ ํ™•์ • (ํƒ‘์Šน๊ฐ ์ •๋ณด ์ž…๋ ฅ + ๊ฒฐ์ œ ์ฒ˜๋ฆฌ)


### ์œ ์ € ์ƒ์„ฑ - internal
POST http://43.203.66.111:19091/api/v1/users/signup
Content-Type: application/json

{
"username": "tester",
"password": "12345678a*",
"nickname": "ํ…Œ์Šคํ„ฐ",
"email": "test@test.com",
"contact": "010-1111-2222"
}


### ๋กœ๊ทธ์ธ
POST http://43.203.66.111:19091/api/v1/users/login
Content-Type: application/json

{
"username": "tester",
"password": "12345678a*"
}
> {%
client.global.set("access_token", response.headers.valueOf("Authorization"))
%}

### ํ•ญ๊ณตํŽธ ์กฐํšŒ ๋ฐ ์ €์žฅ
POST http://43.203.66.111:19091/api/v1/amadeus/flights/fetch-and-save?departureAirportCode=LGW&arrivalAirportCode=KWE&departureDate=2025-05-03T19:45:25&requiredSeats=2
Authorization: Bearer {{access_token}}


### ํŠน๊ฐ€ ํ•ญ๊ณต๊ถŒ ์˜ˆ๋งค ์š”์ฒญ
POST http://43.203.66.111:19091/api/v1/queue
Content-Type: application/json
Authorization: Bearer {{access_token}}

{
"flightId" : "f83230fd-366c-4d32-875a-3f444b6c00fa",
"seatCount" : 2
}


### ์˜ˆ์•ฝ ๋Œ€๊ธฐ์—ด ์„œ๋น„์Šค Kafka prodcuer: ์˜ˆ์•ฝ ์„ ์  ์„ฑ๊ณต ์ด๋ฒคํŠธ ๋ฐœํ–‰

### ์˜ˆ์•ฝ ์„œ๋น„์Šค Kafka Consumer: ์˜ˆ์•ฝ ์ž„์‹œ ์ƒ์„ฑ



### ์˜ˆ์•ฝ ํ™•์ • V2
PUT http://43.203.66.111:19091/api/v1/reservations/confirm
Content-Type: application/json
Authorization: Bearer {{access_token}}

{
"flightId": "f83230fd-366c-4d32-875a-3f444b6c00fa",
"passengers": [
{
"name": "ํ™๊ธธ๋™1",
"birth": "1990-01-01",
"gender": "MALE",
"passportNumber": "P12345678"
},
{
"name": "ํ™๊ธธ๋™",
"birth": "1995-06-10",
"gender": "FEMALE",
"passportNumber": "P87654321"
}
]
}


### ์˜ˆ์•ฝ ํ™•์ • V2, ๊ฒฐ์ œ ์žฌ์‹œ๋„
PUT http://43.203.66.111:19091/api/v1/reservations/confirm
Content-Type: application/json
Authorization: Bearer {{access_token}}

{
"flightId": "57944490-33fb-4bb1-9254-1eae30a1a25c"
}




### ์˜ˆ์•ฝ ๋‹จ์ผ ์กฐํšŒ
GET http://43.203.66.111:19091/api/v1/reservations/4dbd8623-d076-4132-ae1b-c795da8972f1
Content-Type: application/json
Authorization: Bearer {{access_token}}


## ์˜ˆ์•ฝ ๋ชฉ๋ก ์กฐํšŒ
### ์˜ˆ์•ฝ ๋ชฉ๋ก ์กฐํšŒ - Default
GET http://43.203.66.111:19091/api/v1/reservations
Content-Type: application/json
Authorization: Bearer {{access_token}}
Loading