name: Spring App CI on: push: branches: - main jobs: build: runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v2 with: java-version: '17' distribution: 'adopt' - name: Grant execute permission for mvnw run: chmod +x ./mvnw - name: Build .jar with Maven run: ./mvnw package spring-boot:repackage - name: Initialize Docker runtime run: | apt-get update apt-get install ca-certificates curl gnupg lsb-release -y install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg chmod a+r /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | \ tee /etc/apt/sources.list.d/docker.list > /dev/null apt-get update apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin -y - name: Build Docker image run: docker build -t walzen665/spring-cicd-test:latest --build-arg="JAR_FILE=demo-0.0.1-SNAPSHOT-spring-boot.jar" . - name: Log in to Gitea Docker Registry run: echo ${{ secrets.GITEAREGISTRYTOKEN }} | docker login -u ${{ secrets.GITEAREGISTRYUSERNAME }} --password-stdin https://git.walzen665.de - name: Push Docker Image to Gitea run: docker push walzen665/spring-cicd-test:latest - name: Upload Artifact uses: actions/upload-artifact@v3 with: name: artifacts path: target/*.jar