53 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: CI/CD Pipeline for mengning.com.cn
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    branches:
 | 
						|
      - main
 | 
						|
  pull_request:
 | 
						|
    branches:
 | 
						|
      - main
 | 
						|
 
 | 
						|
jobs:
 | 
						|
  build:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    container:
 | 
						|
      image: gitea/runner-images:ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - name: 拉取代码
 | 
						|
        uses: https://devstar.cn/actions/checkout@v4
 | 
						|
        with:
 | 
						|
          fetch-depth: 0  
 | 
						|
 
 | 
						|
      - name: 安装依赖
 | 
						|
        working-directory: 
 | 
						|
        run: |
 | 
						|
            npm install
 | 
						|
            npm add -D vitepress
 | 
						|
 
 | 
						|
      - name: 构建项目
 | 
						|
        working-directory: 
 | 
						|
        run: |
 | 
						|
            chmod +x node_modules/.bin/vitepress
 | 
						|
            npm run docs:build
 | 
						|
 
 | 
						|
      - name: 构建 Docker 镜像
 | 
						|
        run: |
 | 
						|
          docker build -t devstar-docs:${{ gitea.sha }} .
 | 
						|
 
 | 
						|
      - name: 登录 Docker Registry 并推送镜像
 | 
						|
        run: |
 | 
						|
          echo "${{ secrets.DOCKER_REGISTRY_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_REGISTRY_USERNAME }} ${{ vars.DOCKER_REGISTRY_ADDRESS }} --password-stdin
 | 
						|
          docker tag devstar-docs:${{ gitea.sha }} ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-studio-docs:${{ gitea.sha }}
 | 
						|
          docker tag devstar-docs:${{ gitea.sha }} ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-studio-docs:latest
 | 
						|
          docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-studio-docs:${{ gitea.sha }}
 | 
						|
          docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-studio-docs:latest    
 | 
						|
 | 
						|
      - name: 📝 Update mengning.com.cn
 | 
						|
        run: |
 | 
						|
          curl -LO https://mirrors.ustc.edu.cn/kubernetes/core%3A/stable%3A/v1.28/deb/amd64/kubectl_1.28.0-1.1_amd64.deb
 | 
						|
          sudo dpkg -i kubectl_1.28.0-1.1_amd64.deb
 | 
						|
          kubectl config set-cluster remote-cluster --server=${{ secrets.K8S_URL }} --insecure-skip-tls-verify=true
 | 
						|
          kubectl config set-credentials token-user --token=${{ secrets.K8S_TOKEN }}
 | 
						|
          kubectl config set-context remote-context --cluster=remote-cluster --user=token-user
 | 
						|
          kubectl config use-context remote-context
 | 
						|
          kubectl set image deployment/devstar-docs-app   devstar-docs=${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-studio-docs:latest -n app |