2525 - name : Build JAR with Maven Wrapper
2626 run : ./mvnw package -DskipTests
2727
28+ - name : Set environment variables (IMAGE_NAME, VERSION)
29+ run : |
30+ VERSION=$(echo "${{ github.sha }}" | cut -c1-7)
31+ echo "VERSION=$VERSION" >> $GITHUB_ENV
32+ echo "IMAGE_NAME=jermany17/another-web-project" >> $GITHUB_ENV
33+
2834 - name : Set up Docker
2935 uses : docker/setup-buildx-action@v3
3036
@@ -34,15 +40,11 @@ jobs:
3440 username : ${{ secrets.DOCKER_USERNAME }}
3541 password : ${{ secrets.DOCKER_PASSWORD }}
3642
37- - name : Build Docker image with short commit SHA
38- run : |
39- VERSION=$(echo "${{ github.sha }}" | cut -c1-7)
40- echo "VERSION=$VERSION" >> $GITHUB_ENV
41- echo "IMAGE_NAME=jermany17/another-web-project" >> $GITHUB_ENV
42- docker build -t jermany17/another-web-project:$VERSION .
43+ - name : Build Docker image
44+ run : docker build -t ${{ env.IMAGE_NAME }}:${{ env.VERSION }} .
4345
4446 - name : Push Docker image
45- run : docker push $IMAGE_NAME:${{ env.VERSION }}
47+ run : docker push ${{ env. IMAGE_NAME }} :${{ env.VERSION }}
4648
4749 - name : Deploy to EC2 via SSH
4850 uses : appleboy/ssh-action@v1.0.3
5254 key : ${{ secrets.EC2_SSH_KEY }}
5355 script : |
5456 docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
55- docker pull $IMAGE_NAME:${{ env.VERSION }}
57+ docker pull ${{ env. IMAGE_NAME }} :${{ env.VERSION }}
5658 docker stop app || true && docker rm app || true
57- docker run -d --name app --env-file .env -p 8080:8080 $IMAGE_NAME:${{ env.VERSION }}
59+ docker run -d --name app --env-file .env -p 8080:8080 ${{ env. IMAGE_NAME }} :${{ env.VERSION }}
0 commit comments