File tree Expand file tree Collapse file tree 1 file changed +51
-0
lines changed Expand file tree Collapse file tree 1 file changed +51
-0
lines changed Original file line number Diff line number Diff line change 1+ name : Deploy Artifact to Maven Repository
2+
3+ on :
4+ release :
5+ types : [published]
6+
7+ jobs :
8+ deploy :
9+ runs-on : ubuntu-latest
10+
11+ steps :
12+ - name : Checkout code
13+ uses : actions/checkout@v3
14+
15+ - name : Set up JDK
16+ uses : actions/setup-java@v3
17+ with :
18+ distribution : ' temurin'
19+ java-version : ' 21'
20+ cache : ' maven'
21+
22+ - name : Build plugin
23+ run : mvn clean package -DskipTests
24+
25+ - name : Extract Maven coordinates
26+ id : meta
27+ run : |
28+ echo "groupId=$(mvn help:evaluate -Dexpression=project.groupId -q -DforceStdout)" >> $GITHUB_OUTPUT
29+ echo "artifactId=$(mvn help:evaluate -Dexpression=project.artifactId -q -DforceStdout)" >> $GITHUB_OUTPUT
30+ echo "version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_OUTPUT
31+
32+ - name : Set up SSH
33+ run : |
34+ mkdir -p ~/.ssh
35+ echo "${{ secrets.MVN_REPO_SSH_KEY }}" > ~/.ssh/id_rsa
36+ chmod 600 ~/.ssh/id_rsa
37+ ssh-keyscan -H ${{ secrets.MVN_REPO_SSH_HOST }} >> ~/.ssh/known_hosts
38+
39+ - name : Upload artifact to VPS
40+ run : |
41+ GROUP_PATH=$(echo "${{ steps.meta.outputs.groupId }}" | sed 's/\./\//g')
42+ ARTIFACT_ID=${{ steps.meta.outputs.artifactId }}
43+ VERSION=${{ steps.meta.outputs.version }}
44+ REMOTE_DIR="${{ secrets.REMOTE_MAVEN_PATH }}/$GROUP_PATH/$ARTIFACT_ID/$VERSION"
45+
46+ echo "Creating remote directory: $REMOTE_DIR"
47+ ssh ${{ secrets.MVN_REPO_SSH_USER }}@${{ secrets.MVN_REPO_SSH_HOST }} "mkdir -p $REMOTE_DIR"
48+
49+ echo "Uploading JAR and POM"
50+ scp target/$ARTIFACT_ID-$VERSION.jar ${{ secrets.MVN_REPO_SSH_USER }}@${{ secrets.MVN_REPO_SSH_HOST }}:$REMOTE_DIR/
51+ scp pom.xml ${{ secrets.MVN_REPO_SSH_USER }}@${{ secrets.MVN_REPO_SSH_HOST }}:$REMOTE_DIR/$ARTIFACT_ID-$VERSION.pom
You can’t perform that action at this time.
0 commit comments