Skip to content

fix: base image 변경 (#137) #84

fix: base image 변경 (#137)

fix: base image 변경 (#137) #84

Workflow file for this run

name: Dev CI/CD
on:
push:
branches: [ "develop" ]
jobs:
dev-integration:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Grant permission for gradlew
run: chmod +x ./gradlew
- name: Build with Gradle Wrapper
run: ./gradlew clean build -x test
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: hanjari-dev
path: build/libs/*.jar
retention-days: 1
dev-deployment:
needs: dev-integration
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Download Artifact
uses: actions/download-artifact@v4
with:
name: hanjari-dev
- name: Move Artifact
run: |
mkdir -p build/libs/
mv *.jar build/libs/
- name: Generate .env
run: |
echo "${{ secrets.DEV_ENV }}" > .env
echo "${{ secrets.DEV_MYSQL_ENV }}" > mysql.env
- name: Build Docker Image
run: docker build -t ${{ secrets.DOCKER_USERNAME }}/${{secrets.DOCKER_DEV_REPO}}:latest .
- name: Docker Login
run: echo "${{ secrets.DOCKER_HUB_TOKEN }}" | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
- name: Push Docker Image
run: docker push ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_DEV_REPO }}:latest
- name: Copy file to EC2
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ secrets.DEV_EC2_HOST }}
username: ${{ secrets.DEV_EC2_USERNAME }}
key: ${{ secrets.DEV_SSH_PRIVATE_KEY }}
source: ".env,mysql.env,dev-docker-compose.yml"
target: ${{ secrets.DEV_EC2_PROJECT_PATH }}
- name: Deploy to EC2
uses: appleboy/ssh-action@v1.2.0
with:
host: ${{ secrets.DEV_EC2_HOST }}
username: ${{ secrets.DEV_EC2_USERNAME }}
key: ${{ secrets.DEV_SSH_PRIVATE_KEY }}
script: |
cd ${{ secrets.DEV_EC2_PROJECT_PATH }}
echo "${{ secrets.DOCKER_HUB_TOKEN }}" | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
docker compose -f dev-docker-compose.yml down
docker pull ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_DEV_REPO }}:latest
docker tag ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_DEV_REPO }}:latest ${{ secrets.DOCKER_DEV_REPO }}:latest
docker compose -f dev-docker-compose.yml up -d
dependency-submission:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Generate and submit dependency graph
uses: gradle/actions/dependency-submission@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0