mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-10-31 10:57:13 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Deploy
 | |
| 
 | |
| on:
 | |
|   # 推送时执行
 | |
|   push:
 | |
|     branches: [dev]
 | |
|   # 可手动执行
 | |
|   workflow_dispatch:
 | |
| 
 | |
| jobs:
 | |
|   deploy-server:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       # 1、检出源码
 | |
|       - name: Checkout
 | |
|         uses: actions/checkout@master
 | |
|       # 2、安装 Java 环境
 | |
|       - name: Setup Java
 | |
|         uses: actions/setup-java@master
 | |
|         with:
 | |
|           distribution: 'adopt'
 | |
|           java-version: 17
 | |
|           cache: 'maven'
 | |
|       # 3、打包
 | |
|       - name: Build
 | |
|         run: mvn -B package --file pom.xml
 | |
|       # 4、拷贝到服务器
 | |
|       - name: Copy
 | |
|         uses: garygrossgarten/github-action-scp@release
 | |
|         with:
 | |
|           host: ${{ secrets.SERVER_HOST }}
 | |
|           port: ${{ secrets.SERVER_PORT }}
 | |
|           username: ${{ secrets.SERVER_USERNAME }}
 | |
|           password: ${{ secrets.SERVER_PASSWORD }}
 | |
|           local: ./continew-admin-webapi/target/app
 | |
|           remote: /docker/continew-admin
 | |
|       # 5、启动
 | |
|       - name: Start
 | |
|         uses: appleboy/ssh-action@master
 | |
|         with:
 | |
|           host: ${{ secrets.SERVER_HOST }}
 | |
|           port: ${{ secrets.SERVER_PORT }}
 | |
|           username: ${{ secrets.SERVER_USERNAME }}
 | |
|           password: ${{ secrets.SERVER_PASSWORD }}
 | |
|           script: |
 | |
|             cd /docker
 | |
|             docker-compose up --force-recreate --build -d continew-admin-server
 | |
|             docker images | grep none | awk '{print $3}' | xargs docker rmi
 | |
|   # Sonar 扫描
 | |
|   sonar-scan:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - name: Checkout
 | |
|         uses: actions/checkout@master
 | |
|         with:
 | |
|           fetch-depth: 0
 | |
|       - name: Setup Java
 | |
|         uses: actions/setup-java@master
 | |
|         with:
 | |
|           distribution: 'adopt'
 | |
|           java-version: 17
 | |
|       - name: Cache SonarCloud packages
 | |
|         uses: actions/cache@v3
 | |
|         with:
 | |
|           path: ~/.sonar/cache
 | |
|           key: ${{ runner.os }}-sonar
 | |
|           restore-keys: ${{ runner.os }}-sonar
 | |
|       - name: Cache Maven packages
 | |
|         uses: actions/cache@v3
 | |
|         with:
 | |
|           path: ~/.m2
 | |
|           key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
 | |
|           restore-keys: ${{ runner.os }}-m2
 | |
|       - name: Analyze
 | |
|         run: mvn -B verify -Psonar
 | |
|         env:
 | |
|           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}  # Needed to get PR information, if any
 | |
|           SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
 |