64 lines
2.0 KiB
YAML
64 lines
2.0 KiB
YAML
name: SNAPSHOT - Build and Publish
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- develop
|
|
|
|
jobs:
|
|
build-and-publish:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
id-token: write
|
|
contents: write
|
|
packages: write
|
|
name: Build and Publish
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/setup-java@v4.2.2
|
|
if: ${{ hashFiles('**/pom.xml') }}
|
|
with:
|
|
java-version: 17
|
|
distribution: zulu
|
|
cache: 'maven'
|
|
- name: maven-settings-xml-action
|
|
uses: whelk-io/maven-settings-xml-action@v22
|
|
with:
|
|
profiles: >
|
|
[{
|
|
"id": "homelab",
|
|
"properties": {
|
|
"altSnapshotDeploymentRepository": "nexus-snapshot::${env.SNAPSHOT_DEPLOYMENT_REPOSITORY_URL}",
|
|
"altReleaseDeploymentRepository": "nexus-release::${env.RELEASE_DEPLOYMENT_REPOSITORY_URL}"
|
|
}
|
|
}]
|
|
repositories: >
|
|
[{
|
|
"id": "maven-public",
|
|
"url": "${env.MAVEN_PUBLIC_REPOSITORY_URL}",
|
|
"snapshots": {
|
|
"enabled": "true"
|
|
}
|
|
}]
|
|
servers: >
|
|
[{
|
|
"id": "nexus-snapshot",
|
|
"username": "${env.NEXUS_USERNAME}",
|
|
"password": "${env.NEXUS_PASSWORD}"
|
|
},
|
|
{
|
|
"id": "nexus-release",
|
|
"username": "${env.NEXUS_USERNAME}",
|
|
"password": "${env.NEXUS_PASSWORD}"
|
|
}]
|
|
- name: Maven Publish
|
|
env:
|
|
NEXUS_USERNAME: 'edward'
|
|
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
|
|
MAVEN_PUBLIC_REPOSITORY_URL: ${{ secrets.MAVEN_PUBLIC_REPOSITORY_URL }}
|
|
SNAPSHOT_DEPLOYMENT_REPOSITORY_URL: ${{ secrets.SNAPSHOT_DEPLOYMENT_REPOSITORY_URL }}
|
|
RELEASE_DEPLOYMENT_REPOSITORY_URL: ${{ secrets.RELEASE_DEPLOYMENT_REPOSITORY_URL }}
|
|
run: |
|
|
mvn -B deploy -P homelab |