kind: pipeline name: default platform: os: linux arch: arm64 steps: # test if it compiles correctly - name: build image: maven:3-eclipse-temurin-21 commands: - mvn verify --no-transfer-progress -DskipTests=true -Dmaven.javadoc.skip=true -B -V # run unit tests - name: test image: maven:3-eclipse-temurin-21 commands: - mvn test --no-transfer-progress -B -V # run code analysis - name: code-analysis image: maven:3-eclipse-temurin-21 commands: - mvn sonar:sonar --no-transfer-progress -Dsonar.projectKey=$SONAR_PROJECT_KEY -Dsonar.host.url=$SONAR_INSTANCE_URL -Dsonar.token=$SONAR_LOGIN_KEY -B -V environment: SONAR_PROJECT_KEY: from_secret: sonar_project_key SONAR_INSTANCE_URL: from_secret: sonar_instance_url SONAR_LOGIN_KEY: from_secret: sonar_login_key --- kind: pipeline name: default type: docker platform: os: linux arch: arm64 trigger: event: - promote target: - production steps: # skip all previous steps because they were already ran in the "build" phase; we don't need to re-analyze the code. # upload to maven repository - name: maven-deploy image: maven:3-eclipse-temurin-16 commands: - mvn deploy --no-transfer-progress -DskipTests=true -Dmaven.javadoc.skip=true -B -V -gs settings.xml -Dmaven.repo.username=MAVEN_DEPLOY_USERNAME -Dmaven.repo.password=$MAVEN_DEPLOY_PASSWORD environment: MAVEN_DEPLOY_USERNAME: from_secret: maven_deploy_username $MAVEN_DEPLOY_PASSWORD: from_secret: maven_deploy_password