Skip to content

Commit 8c0b0fc

Browse files
authored
Merge pull request #6 from Profect-4th-IRUM/chore/#4-dockerization
[Chore] Dockerization
2 parents 051f4b4 + 032ca99 commit 8c0b0fc

3 files changed

Lines changed: 97 additions & 0 deletions

File tree

.dockerignore

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
.gradle
2+
build
3+
!build/libs/*.jar
4+
out
5+
target
6+
7+
*.iml
8+
.idea
9+
.vscode
10+
11+
.DS_Store
12+
Thumbs.db
13+
14+
.git
15+
.github
16+
.gitignore
17+
18+
logs
19+
*.log
20+
.env
21+
grdle.properties
22+
*.secret

.github/workflows/ecr_cd_tmp.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: ecr_cd_tmp.yml
2+
3+
on:
4+
push:
5+
branches:
6+
- develop
7+
8+
workflow_dispatch:
9+
inputs:
10+
tag:
11+
description: 'Image Tag to use'
12+
required: false
13+
default: 'latest'
14+
15+
env:
16+
AWS_REGION: ap-southeast-2
17+
ECR_REGISTRY: public.ecr.aws/k5m3t9y9
18+
ECR_REPOSITORY: come2us-gateway
19+
IMAGE_TAG: ${{ github.sha }}
20+
21+
jobs:
22+
build-and-push-to-ecr:
23+
name: Build, Tag, and Push
24+
runs-on: ubuntu-latest
25+
26+
steps:
27+
- name: Checkout code
28+
uses: actions/checkout@v4
29+
30+
- name: Configure AWS credentials
31+
uses: aws-actions/configure-aws-credentials@v4
32+
with:
33+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
34+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
35+
aws-region: ${{ env.AWS_REGION }}
36+
37+
- name: Login to Amazon ECR Public
38+
id: login-ecr-public
39+
uses: aws-actions/amazon-ecr-login@v2
40+
with:
41+
registry-type: public
42+
43+
- name: Build, Tag, and push the image to ECR
44+
id: build-image
45+
env:
46+
ECR_URL: ${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY }}
47+
run: |
48+
IMAGE_LATEST_TAG=${{ env.ECR_URL }}:latest
49+
IMAGE_SHA_TAG=${{ env.ECR_URL }}:${{ env.IMAGE_TAG }}
50+
docker build -t $IMAGE_LATEST_TAG .
51+
docker tag $IMAGE_LATEST_TAG $IMAGE_SHA_TAG
52+
docker push $IMAGE_LATEST_TAG
53+
docker push $IMAGE_SHA_TAG

Dockerfile

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# syntax=docker/dockerfile:1.2
2+
3+
FROM gradle:8.7-jdk21-alpine AS build
4+
5+
WORKDIR /app
6+
7+
COPY build.gradle settings.gradle gradlew ./
8+
COPY gradle gradle
9+
RUN ./gradlew dependencies --no-daemon || true
10+
11+
COPY . .
12+
RUN ./gradlew clean bootJar --no-daemon
13+
14+
FROM eclipse-temurin:21-jre-jammy
15+
16+
WORKDIR /app
17+
18+
COPY --from=build /app/build/libs/*SNAPSHOT.jar app.jar
19+
20+
ENV TZ=Asia/Seoul
21+
22+
ENTRYPOINT ["java", "-jar", "app.jar"]

0 commit comments

Comments
 (0)