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
108 changes: 54 additions & 54 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -1,54 +1,54 @@
name: Deploy to Amazon EC2
on:
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]
env:
AWS_REGION: ${{ secrets.AWS_REGION }}
S3_BUCKET_NAME: ${{ secrets.DEPLOY_S3_BUCKET_NAME }}
CODE_DEPLOY_APPLICATION_NAME: trainus-codedeploy-app
CODE_DEPLOY_DEPLOYMENT_GROUP_NAME: trainus-deploy-group
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
run: ./gradlew build -x test
- name: Configure AWS credentials
if: github.event_name == 'push'
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}
- name: Upload to S3
if: github.event_name == 'push'
run: |
zip -r deploy.zip .
aws s3 cp deploy.zip s3://$S3_BUCKET_NAME/deploy.zip
- name: CodeDeploy Deploy
if: github.event_name == 'push'
run: |
aws deploy create-deployment \
--application-name $CODE_DEPLOY_APPLICATION_NAME \
--deployment-config-name CodeDeployDefault.OneAtATime \
--deployment-group-name $CODE_DEPLOY_DEPLOYMENT_GROUP_NAME \
--s3-location bucket=$S3_BUCKET_NAME,bundleType=zip,key=deploy.zip
name: Deploy to Amazon EC2

on:
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]

env:
AWS_REGION: ${{ secrets.AWS_REGION }}
S3_BUCKET_NAME: ${{ secrets.DEPLOY_S3_BUCKET_NAME }}
CODE_DEPLOY_APPLICATION_NAME: trainus-codedeploy-app
CODE_DEPLOY_DEPLOYMENT_GROUP_NAME: trainus-deploy-group

jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

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

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Build with Gradle
run: ./gradlew build -x test

- name: Configure AWS credentials
if: github.event_name == 'push'
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}

- name: Upload to S3
if: github.event_name == 'push'
run: |
zip -r deploy.zip .
aws s3 cp deploy.zip s3://$S3_BUCKET_NAME/deploy.zip

- name: CodeDeploy Deploy
if: github.event_name == 'push'
run: |
aws deploy create-deployment \
--application-name $CODE_DEPLOY_APPLICATION_NAME \
--deployment-config-name CodeDeployDefault.OneAtATime \
--deployment-group-name $CODE_DEPLOY_DEPLOYMENT_GROUP_NAME \
--s3-location bucket=$S3_BUCKET_NAME,bundleType=zip,key=deploy.zip
54 changes: 27 additions & 27 deletions appspec.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
version: 0.0
os: linux
files:
- source: /
destination: /home/ec2-user/app
overwrite: yes
permissions:
- object: /home/ec2-user/app
pattern: "**"
owner: ec2-user
group: ec2-user
mode: 755
hooks:
BeforeInstall:
- location: scripts/setup.sh
timeout: 60
runas: root
ApplicationStop:
- location: scripts/stop.sh
timeout: 300
runas: ec2-user
AfterInstall:
- location: scripts/start.sh
timeout: 300
runas: ec2-user
version: 0.0
os: linux
files:
- source: /
destination: /home/ec2-user/app
overwrite: yes

permissions:
- object: /home/ec2-user/app
pattern: "**"
owner: ec2-user
group: ec2-user
mode: 755

hooks:
BeforeInstall:
- location: scripts/setup.sh
timeout: 60
runas: root
ApplicationStop:
- location: scripts/stop.sh
timeout: 300
runas: ec2-user
AfterInstall:
- location: scripts/start.sh
timeout: 300
runas: ec2-user
2 changes: 1 addition & 1 deletion docker-compose-db.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
services:
postgres:
image: postgis/postgis:17-3.5
container_name: dedicated-postgres
container_name: postgres-db
restart: always
env_file:
- .env
Expand Down
89 changes: 38 additions & 51 deletions docker-compose-data.yml → docker-compose-monitoring.yml
Original file line number Diff line number Diff line change
@@ -1,51 +1,38 @@
services:
redis:
image: redis:7-alpine
container_name: data-redis
restart: always
ports:
- "6379:6379"
command: redis-server --appendonly yes
volumes:
- ./redis-data:/data
networks:
- data-network

prometheus:
image: prom/prometheus:v3.2.1
container_name: data-prometheus
restart: always
volumes:
- ./prometheus-grafana/prometheus/config/prometheus.yml:/etc/prometheus/prometheus.yml
- ./prometheus-data:/prometheus
ports:
- "9090:9090"
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
- '--web.console.templates=/usr/share/prometheus/consoles'
networks:
- data-network

grafana:
image: grafana/grafana:11.5.2
container_name: data-grafana
restart: always
ports:
- "3000:3000"
volumes:
- ./grafana-data:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
networks:
- data-network

networks:
data-network:
driver: bridge

volumes:
redis-data:
prometheus-data:
grafana-data:
services:
monitoring-prometheus:
image: prom/prometheus:v3.2.1
container_name: monitoring-prometheus
restart: always
volumes:
- ./prometheus-grafana/prometheus/config/prometheus.yml:/etc/prometheus/prometheus.yml
- ./prometheus-data:/prometheus
ports:
- "9090:9090"
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
- '--web.console.templates=/usr/share/prometheus/consoles'
networks:
- monitoring-network

monitoring-grafana:
image: grafana/grafana:11.5.2
container_name: monitoring-grafana
restart: always
ports:
- "3000:3000"
volumes:
- ./grafana-data:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
networks:
- monitoring-network

networks:
monitoring-network:
driver: bridge

volumes:
prometheus-data:
grafana-data:
32 changes: 32 additions & 0 deletions docker-compose-redis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
services:
redis-core:
image: redis:7-alpine
container_name: redis-core
restart: always
ports:
- "6379:6379"
volumes:
- ./redis-core-data:/data
command: redis-server --appendonly yes
networks:
- redis-network

redis-mq:
image: redis:7-alpine
container_name: redis-mq
restart: always
ports:
- "6380:6379"
volumes:
- ./redis-mq-data:/data
command: redis-server --appendonly yes
networks:
- redis-network

networks:
redis-network:
driver: bridge

volumes:
redis-core-data:
redis-mq-data:
2 changes: 2 additions & 0 deletions lombok.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
config.stopBubbling = true
lombok.copyableAnnotations += org.springframework.beans.factory.annotation.Qualifier
Loading
Loading