@@ -50,49 +50,43 @@ jobs:
5050 - name : Checkout code
5151 uses : actions/checkout@v4
5252
53- # -------------------
54- # Docker Login
55- # -------------------
5653 - name : Login to Docker Hub
5754 uses : docker/login-action@v3
5855 with :
5956 username : ${{ secrets.DOCKERHUB_USERNAME }}
6057 password : ${{ secrets.DOCKERHUB_TOKEN }}
6158
62- # -------------------
63- # Build & Push Image
64- # -------------------
6559 - name : Build and push Docker image
6660 uses : docker/build-push-action@v5
6761 with :
6862 context : ./next-ui
6963 file : ./next-ui/Dockerfile
7064 push : true
71- tags : ${{ secrets.DOCKERHUB_USERNAME }}/alienui:0.1
65+ tags : |
66+ ${{ secrets.DOCKERHUB_USERNAME }}/alienui:latest
67+ ${{ secrets.DOCKERHUB_USERNAME }}/alienui:${{ github.sha }}
68+ cache-from : type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/alienui:latest
69+ cache-to : type=inline
7270
73- # -------------------
74- # Setup SSH Key
75- # -------------------
76- - name : Setup SSH Key
77- run : |
78- echo "${{ secrets.EC2_SSH_PRIVATE_KEY }}" > key.pem
79- chmod 600 key.pem
71+ - name : Setup SSH Key
72+ run : |
73+ echo "${{ secrets.EC2_SSH_PRIVATE_KEY }}" > key.pem
74+ chmod 600 key.pem
8075
81- # -------------------
82- # Deploy on EC2
83- # -------------------
84- - name : Deploy to EC2
85- run : |
86- ssh -o StrictHostKeyChecking=no -i key.pem ubuntu@${{ secrets.EC2_HOST }} << "EOF"
87-
88- sudo docker stop alienui || true
89- sudo docker rm alienui || true
90-
91- sudo docker pull ${{ secrets.DOCKERHUB_USERNAME }}/alienui:0.1
92-
93- sudo docker run -d \
94- --name alienui \
95- -p 80:3000 \
96- ${{ secrets.DOCKERHUB_USERNAME }}/alienui:0.1
97-
98- EOF
76+ - name : Deploy to EC2
77+ run : |
78+ ssh -o StrictHostKeyChecking=no -i key.pem ubuntu@${{ secrets.EC2_HOST }} << "EOF"
79+
80+ sudo docker stop alienui || true
81+ sudo docker rm alienui || true
82+ sudo docker system prune -af || true
83+
84+ sudo docker pull ${{ secrets.DOCKERHUB_USERNAME }}/alienui:${{ github.sha }}
85+
86+ sudo docker run -d \
87+ --name alienui \
88+ -p 80:3000 \
89+ --restart unless-stopped \
90+ ${{ secrets.DOCKERHUB_USERNAME }}/alienui:${{ github.sha }}
91+
92+ EOF
0 commit comments