Skip to content

Commit

Permalink
๐Ÿ’š[CI/CD] CI/CD ์ˆ˜์ • (#8)
Browse files Browse the repository at this point in the history
* ๐Ÿ“Œchore: yml ์ˆ˜์ •

* ๐Ÿ“Œchore: plain jar ํŒŒ์ผ ์„ค์ •

* ๐Ÿ’š[CI/CD] ๊ณต๋ฐฑ ์—๋Ÿฌ ์ˆ˜์ • #8

* ๐Ÿ’š[CI/CD] ์˜คํƒ€ ์ˆ˜์ • #8

* ๐Ÿ“docs: ๋„์ปคํŒŒ์ผ ์ˆ˜์ •

* ๐Ÿ“docs: ๋„์ปคํŒŒ์ผ ์ˆ˜์ •

* ๐Ÿ“docs: ๋„์ปคํŒŒ์ผ ์ˆ˜์ •

* ๐Ÿ’š[CI/CD] CI/CD ์ˆ˜์ •

* ๐Ÿ’š[CI/CD] CI/CD ์ˆ˜์ •

---------

Co-authored-by: marooo326 <[email protected]>
  • Loading branch information
seheonnn and kimday0326 authored Jan 15, 2024
1 parent f638f25 commit 1f7a38e
Show file tree
Hide file tree
Showing 6 changed files with 74 additions and 101 deletions.
79 changes: 40 additions & 39 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,33 +8,28 @@ on:

jobs:
ci:
runs-on: ubuntu-lastest
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: Make application.yml
run: |
- name: Checkout
uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:

java-version: '17'
distribution: 'temurin'

- name: Make application.yml
run: |
cd ./src/main/resources
touch ./application.yml
echo "${{ secrets.APPLICATION_YML }}" > ./application.yml

- name: Grant execute permission for gradlew and build
run: |
chmod +x ./gradlew
./gradlew clean
./gradlew build
cd:
runs-on: ubuntu-latest
needs: ci
runs-on: ubuntu-latest
needs: ci

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

Expand All @@ -44,39 +39,45 @@ jobs:
java-version: '17'
distribution: 'temurin'

# Docker image Build (2)
- name: Grant execute permission for gradlew and build
run: |
chmod +x ./gradlew
./gradlew clean
./gradlew build -x test
# Docker image Build (1)
- name: Docker image build
run: docker build -t ${{ secrets.DOCKER_USERNAME }}/sponus-docker --pull --no-cache --platform linux/amd64 .

# DockerHub Login (3)
# DockerHub Login (2)
- name: Docker login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

# Docker Hub push (4)
# Docker Hub push (3)
- name: Docker Hub push
run: docker push ${{ secrets.DOCKER_USERNAME }}/sponus-docker

# AWS EC2 Server Connect & Docker command execution (8)
# AWS EC2 Server Connect & Docker command execution
- name: Deploy
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }} # EC2 instance public DNS
username: ec2-user
key: ${{ secrets.PRIVATE_KEY }} # pem key
script: |
sudo docker stop sponus-docker
sudo docker rm sponus-docker
sudo docker rmi ${{ secrets.DOCKER_USERNAME }}/sponus-docker
sudo docker pull ${{ secrets.DOCKER_USERNAME }}/sponus-docker

sudo docker stop my-redis
sudo docker rm my-redis
sudo docker rmi redis
sudo docker pull redis
sudo docker network create my-network
sudo docker run --name my-redis --network my-network -d redis
sudo docker run -it -d -p 8080:8080 --name sponus-docker -e TZ=Asia/Seoul --network my-network ${{ secrets.DOCKER_USERNAME }}/sponus-docker
script: |
sudo docker stop sponus-docker
sudo docker rm sponus-docker
sudo docker rmi ${{ secrets.DOCKER_USERNAME }}/sponus-docker
sudo docker pull ${{ secrets.DOCKER_USERNAME }}/sponus-docker
sudo docker stop my-redis
sudo docker rm my-redis
sudo docker rmi redis
sudo docker pull redis
sudo docker network create my-network
sudo docker run --name my-redis --network my-network -d redis
sudo docker run -it -d -p 8080:8080 --name sponus-docker -e TZ=Asia/Seoul --network my-network ${{ secrets.DOCKER_USERNAME }}/sponus-docker
5 changes: 2 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
FROM openjdk:17-jdk
ARG JAR_FILE=build/libs/*.jar
ARG JAR_FILE=./build/libs/*.jar
COPY ${JAR_FILE} app.jar
COPY src/main/resources/static /app/static
ENTRYPOINT ["java", "-Dspring.profiles.active=docker", "-jar", "app.jar"]
ENTRYPOINT ["java", "-Dspring.profiles.active=docker", "-jar", "/app.jar"]
5 changes: 5 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,8 @@ dependencies {
tasks.named('test') {
useJUnitPlatform()
}

// enable plain.jar
jar{
enabled=false
}
28 changes: 0 additions & 28 deletions src/main/resources/application-local.yml

This file was deleted.

29 changes: 0 additions & 29 deletions src/main/resources/application-prod.yml

This file was deleted.

29 changes: 27 additions & 2 deletions src/main/resources/application.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,28 @@
server:
port: 8080

spring:
profiles:
active: local
datasource:
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/test
username: root
password: root

jpa:
database: postgresql
hibernate:
ddl-auto: update
open-in-view: false
show-sql: true
generate-ddl: true

jwt:
secret: "dkqorhvmekgkwlaksdltlrksdpanjfajrdmausdksehlrpTwlckawk"
token:
access-expiration-time: 43200
refresh-expiration-time: 604800

data:
redis:
host: localhost
port: 6379

0 comments on commit 1f7a38e

Please sign in to comment.