2023-12-08 12:51:14 +01:00

70 lines
2.2 KiB
YAML

name: Spring App CI
on:
push:
branches:
- main
jobs:
build-jar:
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: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: jar-artifact
path: target/*.jar
build-image:
runs-on: ubuntu-22.04
steps:
- 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: Download .jar Artifact
uses: actions/download-artifact@v3
with:
name: jar-artifact
- name: List files and path in the repository
run: |
ls -la
pwd
ls -la /workspace/***/java-cicd-demo
- name: Build Docker image
run: docker build -t walzen665/spring-cicd-test:latest --build-arg="JAR_FILE=target/demo-0.0.1-SNAPSHOT-spring-boot.jar" .
- name: Tag Docker image
run: docker tag walzen665/spring-cicd-test:latest git.walzen665.de/walzen665/spring-cicd-test:latest
- 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 git.walzen665.de/walzen665/spring-cicd-test:latest