Skip to content

Commit

Permalink
feat: Docker hub를 이용하지 않고 파일 업로드하여 배포
Browse files Browse the repository at this point in the history
  • Loading branch information
devmizz committed Jul 7, 2024
1 parent b91671e commit d76dc19
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 21 deletions.
39 changes: 19 additions & 20 deletions .github/workflows/showpot-dev-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,19 +34,11 @@ jobs:
- name: Build with Gradle Wrapper
run: ./gradlew clean build

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

- name: Docker Login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Build Docker Image
- name: Prepare File for Deployment
run: |
docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/showpot:dev .
docker push ${{ secrets.DOCKERHUB_USERNAME }}/showpot:dev
mkdir -p deployment
cp Dockerfile docker-compose.yml deployment/
cp -r ./app/build/libs deployment/
- name: Get Github Actions IP
id: ip
Expand All @@ -59,24 +51,31 @@ jobs:
aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
aws-region: ap-northeast-2

- name: Add Github Actions IP to Security group
- name: Add Github Actions IP on Security Group
run: |
aws ec2 authorize-security-group-ingress --group-id ${{ secrets.AWS_DEV_SECURITY_GROUP_ID }} --protocol tcp --port 22 --cidr ${{ steps.ip.outputs.ipv4 }}/32
- name: Deploy to EC2
- name: Upload files to EC2
uses: appleboy/[email protected]
with:
host: ${{ secrets.EC2_DEV_HOST }}
username: ec2-user
key: ${{ secrets.EC2_DEV_SSH_PRIVATE_KEY }}
source: "deployment/*"
target: "/home/ec2-user/deployment/"

- name: Deploy using Docker Compose
uses: appleboy/[email protected]
with:
host: ${{ secrets.EC2_DEV_HOST }}
username: ec2-user
key: ${{ secrets.EC2_DEV_SSH_PRIVATE_KEY }}
script: |
docker login -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_PASSWORD }}
docker pull ${{ secrets.DOCKERHUB_USERNAME }}/showpot:dev
docker stop showpot-dev
docker rm showpot-dev
docker run -d -p 8080:8080 --name showpot-dev ${{ secrets.DOCKERHUB_USERNAME }}/showpot:dev
cd /home/ec2-user/deployment/
docker-compose down
docker-compose up -d --build
- name: Remove Github Actions IP From Security Group
- name: Remove Github Actions IP from Security Group
if: always()
run: |
aws ec2 revoke-security-group-ingress --group-id ${{ secrets.AWS_DEV_SECURITY_GROUP_ID }} --protocol tcp --port 22 --cidr ${{ steps.ip.outputs.ipv4 }}/32
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM openjdk:21-jdk-slim
ARG JAR_FILE_PATH=app/build/libs/*.jar
ARG JAR_FILE_PATH=*.jar
COPY ${JAR_FILE_PATH} app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]

0 comments on commit d76dc19

Please sign in to comment.