Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
11 changes: 0 additions & 11 deletions .github/ISSUE_TEMPLATE.md

This file was deleted.

56 changes: 56 additions & 0 deletions .github/workflows/build-prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: build-prod

on:
push:
tags:
- v*.*.*

jobs:
build:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.get_version.outputs.VERSION }}
steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'

- name: Get the version
id: get_version
run: |
RELEASE_VERSION_WITHOUT_V="$(cut -d'v' -f2 <<< ${GITHUB_REF#refs/*/})"
echo ::set-output name=VERSION::$RELEASE_VERSION_WITHOUT_V

- name: Start docker containers
run: docker compose up -d

- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4

- name: Grant Execute Permission for Gradlew
run: chmod +x gradlew

- name: Build with Gradle
run: ./gradlew build --no-daemon

- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
file: ./docker/prod/Dockerfile
push: true
tags: yugyeong390/photi-server:${{ steps.get_version.outputs.VERSION }}
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Checkout Repository
uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
Expand Down
47 changes: 47 additions & 0 deletions .github/workflows/deploy-prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: deploy-prod

on:
workflow_dispatch:

jobs:
deploy-production:
runs-on: ubuntu-latest
environment: photi-prod
steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Create env file
run: |
echo "${{ secrets.ENV_VARS }}" >> ./docker/prod/.env

- name: Create remote directory
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.DEPLOY_HOST }}
username: ubuntu
key: ${{ secrets.DEPLOY_KEY }}
script: mkdir -p ~/srv/ubuntu

- name: Copy source via ssh key
uses: burnett01/rsync-deployments@7.0.2
with:
switches: -avzr --delete
remote_path: ~/srv/ubuntu/
remote_host: ${{ secrets.DEPLOY_HOST }}
remote_user: ubuntu
remote_key: ${{ secrets.DEPLOY_KEY }}

- name: Execute remote SSH commands using password
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.DEPLOY_HOST }}
username: ubuntu
key: ${{ secrets.DEPLOY_KEY }}
script: |
echo "start docker compose up: ubuntu"
sudo docker compose -v
sudo docker compose -f ~/srv/ubuntu/docker/prod/docker-compose.yml pull
sudo docker compose -f ~/srv/ubuntu/docker/prod/docker-compose.yml --env-file ~/srv/ubuntu/docker/prod/.env up --build -d
echo "prune images"
sudo docker system prune --all -f
31 changes: 0 additions & 31 deletions .github/workflows/discussion-notification.yml

This file was deleted.

75 changes: 0 additions & 75 deletions .github/workflows/master-ci.yaml

This file was deleted.

4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -42,5 +42,5 @@ out/
*log*.gz

### env ###
docker/.env
docker/dev/.env
*/.env
*/*/.env
4 changes: 4 additions & 0 deletions docker/prod/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
FROM openjdk:17-jdk-slim
ARG JAR_FILE=./build/libs/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java", "-Dspring.profiles.active=prod", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]
32 changes: 32 additions & 0 deletions docker/prod/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
services:
backend:
image: yugyeong390/photi-server:1.0.0
env_file:
- .env
build:
context: ./docker/prod
dockerfile: ./docker/prod/Dockerfile
ports:
- "8080:8080"
environment:
- TZ=Asia/Seoul
networks:
- server-network
redis:
image: redis:latest
ports:
- "6379:6379"
volumes:
- redis-data:/data
restart: always
networks:
- server-network

volumes:
redis-data:
driver: local

networks:
server-network:
external: true
driver: bridge
Loading