Skip to content

Commit 0b64834

Browse files
committed
feat: 배포
1 parent ce05fe2 commit 0b64834

File tree

3 files changed

+26
-22
lines changed

3 files changed

+26
-22
lines changed

.github/workflows/cd.yml

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,10 @@ jobs:
3232
- name: Build and Push with Jib (API)
3333
uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1
3434
with:
35-
arguments: clean :tuk-api:jib -Djib.to.image=${{ secrets.NCP_CONTAINER_REGISTRY_API }}/tuk-api -Djib.to.auth.username=${{ secrets.NCP_ACCESS_KEY }} -Djib.to.auth.password=${{ secrets.NCP_SECRET_KEY }}
35+
arguments: clean :tuk-api:jib -Djib.to.image=${{ secrets.NCP_CONTAINER_REGISTRY_API }}/tuk-api -Djib.to.tags=${{ github.sha }} -Djib.to.auth.username=${{ secrets.NCP_ACCESS_KEY }} -Djib.to.auth.password=${{ secrets.NCP_SECRET_KEY }}
3636
env:
3737
JIB_TO_IMAGE: ${{ secrets.NCP_CONTAINER_REGISTRY_API }}/tuk-api
38+
JIB_TO_TAGS: ${{ github.sha }}
3839
JIB_TO_AUTH_USERNAME: ${{ secrets.NCP_ACCESS_KEY }}
3940
JIB_TO_AUTH_PASSWORD: ${{ secrets.NCP_SECRET_KEY }}
4041

@@ -59,19 +60,22 @@ jobs:
5960
username: ${{ secrets.API_SERVER_USERNAME }}
6061
password: ${{ secrets.API_SERVER_PASSWORD }}
6162
script: |
62-
export DB_HOSTNAME=${{ secrets.DB_HOSTNAME }}
63-
export DB_PORT=${{ secrets.DB_PORT }}
64-
export DB_DATABASE=${{ secrets.DB_DATABASE }}
65-
export DB_USERNAME=${{ secrets.DB_USERNAME }}
66-
export DB_PASSWORD=${{ secrets.DB_PASSWORD }}
67-
export APPLE_CLIENT_ID=${{ secrets.APPLE_CLIENT_ID }}
68-
export GOOGLE_CLIENT_ID=${{ secrets.GOOGLE_CLIENT_ID }}
69-
export GOOGLE_CLIENT_SECRET=${{ secrets.GOOGLE_CLIENT_SECRET }}
70-
export NCP_CONTAINER_REGISTRY_API=${{ secrets.NCP_CONTAINER_REGISTRY_API }}
71-
export NCP_CONTAINER_REGISTRY_BATCH=${{ secrets.NCP_CONTAINER_REGISTRY_BATCH }}
72-
export JWT_SECRET=${{ secrets.JWT_SECRET }}
73-
export REDIS_HOST=${{ secrets.REDIS_HOST }}
74-
75-
sudo docker rm -f $(docker ps -qa)
76-
docker-compose -f ${{ secrets.DOCKER_COMPOSE_PATH }}/docker-compose.yml up -d
77-
docker image prune -f
63+
cd ${{ secrets.DOCKER_COMPOSE_PATH }}
64+
sudo docker rm -f $(sudo docker ps -qa) 2>/dev/null || true
65+
66+
# Login to NCP Container Registry
67+
echo "${{ secrets.NCP_SECRET_KEY }}" | sudo docker login ${{ secrets.NCP_CONTAINER_REGISTRY_API }} -u ${{ secrets.NCP_ACCESS_KEY }} --password-stdin
68+
69+
# Run with environment variables
70+
sudo MYSQL_USERNAME="${{ secrets.MYSQL_USERNAME }}" \
71+
MYSQL_PASSWORD="${{ secrets.MYSQL_PASSWORD }}" \
72+
MYSQL_ROOT_PASSWORD="${{ secrets.MYSQL_PASSWORD }}" \
73+
APPLE_CLIENT_ID="${{ secrets.APPLE_CLIENT_ID }}" \
74+
GOOGLE_CLIENT_ID="${{ secrets.GOOGLE_CLIENT_ID }}" \
75+
GOOGLE_CLIENT_SECRET="${{ secrets.GOOGLE_CLIENT_SECRET }}" \
76+
NCP_CONTAINER_REGISTRY_API="${{ secrets.NCP_CONTAINER_REGISTRY_API }}" \
77+
JWT_SECRET="${{ secrets.JWT_SECRET }}" \
78+
IMAGE_TAG="${{ github.sha }}" \
79+
docker-compose up -d
80+
81+
sudo docker image prune -f

docker/docker-compose.prod.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
version: '3.8'
2-
31
services:
42
api:
53
container_name: tuk-api
6-
image: ${NCP_CONTAINER_REGISTRY_API}/tuk-api:latest
4+
image: ${NCP_CONTAINER_REGISTRY_API}/tuk-api:${IMAGE_TAG}
75
restart: always
86
ports:
97
- "8080:8080"

tuk-api/build.gradle.kts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,17 @@ jib {
88
}
99
to {
1010
image = System.getProperty("jib.to.image") ?: System.getenv("JIB_TO_IMAGE") ?: "tuk-api"
11-
tags = setOf("latest", project.version.toString())
11+
tags = setOf(
12+
System.getProperty("jib.to.tags") ?: System.getenv("JIB_TO_TAGS") ?: "latest"
13+
)
1214
auth {
1315
username = System.getProperty("jib.to.auth.username") ?: System.getenv("JIB_TO_AUTH_USERNAME")
1416
password = System.getProperty("jib.to.auth.password") ?: System.getenv("JIB_TO_AUTH_PASSWORD")
1517
}
1618
}
1719
container {
1820
ports = listOf("8080")
19-
mainClass = "nexters.tuk.TukServerApplicationKt"
21+
mainClass = "nexters.tuk.TukApplicationKt"
2022
jvmFlags = listOf(
2123
"-XX:InitialRAMPercentage=25.0",
2224
"-XX:MinRAMPercentage=25.0",

0 commit comments

Comments
 (0)