name: lpt-be Build & Deploy on: push: branches: [master] env: REGISTRY: 192.168.123.199:5000 APP: lpt-be jobs: build-and-deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set environment id: env run: | if [ "${{ github.ref_name }}" = "master" ]; then echo "suffix=prod" >> $GITHUB_OUTPUT echo "namespace=lpt-prod" >> $GITHUB_OUTPUT else echo "suffix=dev" >> $GITHUB_OUTPUT echo "namespace=lpt-dev" >> $GITHUB_OUTPUT fi - name: Set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' - name: Build with Maven run: ./mvnw package -DskipTests -B - name: Build & Push Docker image run: | docker build -t $REGISTRY/$APP:${{ steps.env.outputs.suffix }} . docker push $REGISTRY/$APP:${{ steps.env.outputs.suffix }} - name: Deploy to K8s run: | kubectl rollout restart deployment/$APP -n ${{ steps.env.outputs.namespace }}