@@ -2,15 +2,15 @@ name: CI/CD Pipeline
22
33on :
44 push :
5- branches : develop
5+ branches : ms/Scrun-130-Project-Deployment-dockerfiles
66jobs :
77 test :
88 runs-on : ubuntu-latest
99
1010 steps :
1111 - name : Checkout Code
1212 uses : actions/checkout@v3
13-
13+
1414 - name : Install Node.js
1515 uses : actions/setup-node@v3
1616 with :
2020 run : cd course-matrix/frontend && npm install && npm run test
2121 - name : Run backend tests
2222 run : cd course-matrix/backend && npm install && npm run test
23+
24+ - name : Log in to Docker Hub
25+ uses : docker/login-action@v3
26+ with :
27+ username : ${{ secrets.DOCKERHUB_USERNAME }}
28+ password : ${{ secrets.DOCKERHUB_TOKEN }}
29+
30+ # Build and push frontend Docker image
31+ - name : Build and push frontend Docker image
32+ run : |
33+ docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/frontend:${{ github.sha }} ./frontend
34+ docker tag ${{ secrets.DOCKERHUB_USERNAME }}/frontend:${{ github.sha }} ${{ secrets.DOCKERHUB_USERNAME }}/frontend:latest
35+ docker push ${{ secrets.DOCKERHUB_USERNAME }}/frontend:${{ github.sha }}
36+ docker push ${{ secrets.DOCKERHUB_USERNAME }}/frontend:latest
37+
38+ # Build and push backend Docker image
39+ - name : Build and push backend Docker image
40+ run : |
41+ docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/backend:${{ github.sha }} ./backend
42+ docker tag ${{ secrets.DOCKERHUB_USERNAME }}/backend:${{ github.sha }} mydockerhubuser/backend:latest
43+ docker push ${{ secrets.DOCKERHUB_USERNAME }}/backend:${{ github.sha }}
44+ docker push ${{ secrets.DOCKERHUB_USERNAME }}/backend:latest
2345
2446 deploy :
2547 needs : test
3860 run : |
3961 ssh -i private_key -o StrictHostKeyChecking=no ${{ secrets.GCP_USERNAME }}@${{ secrets.GCP_VM_IP }} << 'EOF'
4062 cd /home/masahisasekita/term-group-project-c01w25-project-course-matrix || { echo "Error: Directory /root/myapp does not exist!"; exit 1; }
41- git pull develop
63+ git pull ms/Scrun-130-Project-Deployment-dockerfiles
4264 cd course-matrix
4365
4466 # Update frontend .env
0 commit comments