70 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Gitea Action Maven build
 | |
| 
 | |
| on:
 | |
|   push:
 | |
|     branches: ['master']
 | |
| 
 | |
| jobs:
 | |
|   build:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - name: Checkout the repo
 | |
|         uses: actions/checkout@v4
 | |
|       - name: Set up Maven
 | |
|         uses: stCarolas/setup-maven@v5
 | |
|         with:
 | |
|           maven-version: 3.9.9
 | |
|       - name: Set up JDK 21
 | |
|         uses: actions/setup-java@v4
 | |
|         with:
 | |
|           java-version: 21
 | |
|           distribution: 'oracle'
 | |
|           cache: 'maven'
 | |
|       - name: Build, Test and Package with Maven
 | |
|         run: mvn -B verify --file pom.xml -e
 | |
|       - name: Upload artifact
 | |
|         uses: actions/upload-artifact@v3
 | |
|         with:
 | |
|           name: app-artifacts
 | |
|           path: |
 | |
|             target/*.jar
 | |
|             Dockerfile
 | |
|       - name: Create Maven settings.xml
 | |
|         run: |
 | |
|           cat <<EOF > ~/.m2/settings.xml
 | |
|           <settings>
 | |
|             <servers>
 | |
|               <server>
 | |
|                 <id>gitea</id>
 | |
|                 <username>${{ vars.OWNER }}</username>
 | |
|                 <password>${{ secrets.ACCESS_TOKEN }}</password>
 | |
|               </server>
 | |
|             </servers>
 | |
|           </settings>
 | |
|           EOF
 | |
|       - name: Replace {owner} in pom.xml
 | |
|         run: sed -i "s/{owner}/${{ vars.OWNER }}/g" pom.xml
 | |
|       - name: Deploy to Gitea Packages
 | |
|         run: mvn deploy
 | |
|   deploy:
 | |
|     runs-on: ubuntu-latest
 | |
|     needs: build
 | |
|     steps:
 | |
|       - name: Download artifact
 | |
|         uses: actions/download-artifact@v3
 | |
|         with:
 | |
|           name: app-artifacts
 | |
|           path: artifact
 | |
|       - name: Install SSH Key
 | |
|         uses: shimataro/ssh-key-action@v2
 | |
|         with:
 | |
|           key: ${{ secrets.SSH_PRIVATE_KEY }}
 | |
|           known_hosts: ${{ secrets.KNOWN_HOSTS }}
 | |
|       - name: Deploy to Local Server
 | |
|         run: |
 | |
|           scp artifact/*.jar ${{ vars.DEPLOY_USER }}@${{ vars.DEPLOY_HOST }}:${{ vars.DEPLOY_PATH }}
 | |
|           scp artifact/Dockerfile ${{ vars.DEPLOY_USER }}@${{ vars.DEPLOY_HOST }}:${{ vars.DEPLOY_PATH }}
 | |
| #          scp docker-compose.yml ${{ vars.DEPLOY_USER }}@${{ vars.DEPLOY_HOST }}:${{ vars.DEPLOY_PATH }}
 | |
| 
 | |
| 
 | 
