Some checks failed
		
		
	
	DevStar Studio CI Pipeline - master branch / build-and-push-x86-64-docker-image (push) Failing after 1m6s
				
			
		
			
				
	
	
		
			94 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
#  devstar-studio-master-ci.yaml
 | 
						||
#  DevStar 测试并构建制品 CI 工作流定义 (默认分支 master)
 | 
						||
#
 | 
						||
# Artifact命名规则:
 | 
						||
#    1. ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:latest
 | 
						||
#       e.g., devstar.cn/devstar/devstar-studio:latest
 | 
						||
#    2. ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:rootless-master-${{ gitea.sha }}
 | 
						||
#       e.g., devstar.cn/devstar/devstar-studio:rootless-dev-0047d315a3f73cca0c18c641d24b0347456618d5
 | 
						||
#       其中,
 | 
						||
#       - rootless 表示非 root 权限容器
 | 
						||
#       - dev 表示分支类别: dev 分支(默认分支)
 | 
						||
#       - ${{ gitea.sha }} 表示触发 CI Workflow 的 commit SHA
 | 
						||
#
 | 
						||
# 构建参数设置
 | 
						||
# 点击仓库 > 设置 > Actions > 密钥:
 | 
						||
#   - ${{ secrets.DOCKER_REGISTRY_USERNAME }}: Docker Registry 用户名
 | 
						||
#   - ${{ secrets.DOCKER_REGISTRY_PASSWORD }}: Docker Registry 密码
 | 
						||
# 点击仓库 > 设置 > Actions > 变量:
 | 
						||
#   - ${{ vars.DOCKER_REGISTRY_ADDRESS }}:     Docker Registry 域名, e.g., `devstar.cn`
 | 
						||
#   - ${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:   制品名称, e.g., `devstar/devstar-studio`
 | 
						||
#
 | 
						||
 | 
						||
name: DevStar Studio CI Pipeline - master branch
 | 
						||
on:
 | 
						||
  push:
 | 
						||
    branches:
 | 
						||
      - master
 | 
						||
  pull_request:
 | 
						||
    branches:
 | 
						||
      - master
 | 
						||
 | 
						||
jobs:
 | 
						||
  build-and-push-x86-64-docker-image:
 | 
						||
    # Actual runs-on image: docker.io/library/gitea/runner_image:ubuntu-latest
 | 
						||
    runs-on: ubuntu-latest
 | 
						||
    steps:
 | 
						||
      - name: 🔍 Check out repository code
 | 
						||
        uses: https://devstar.cn/actions/checkout@v4
 | 
						||
        with:
 | 
						||
          ref: master
 | 
						||
      - name: 🔧 Test Codes and Build an Artifact
 | 
						||
        run: |
 | 
						||
          echo "Prepare to build repository code ${{ gitea.repository }}:${{ gitea.ref }}."
 | 
						||
          make docker          
 | 
						||
      - name: 🚀 Push Artifact to devstar.cn and docker.io Registry
 | 
						||
        run: |
 | 
						||
          docker tag devstar-studio:latest ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:rootless-dev-${{ gitea.sha }}
 | 
						||
          docker tag devstar-studio:latest ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:latest
 | 
						||
          echo "${{ secrets.DOCKER_REGISTRY_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_REGISTRY_USERNAME }} ${{ vars.DOCKER_REGISTRY_ADDRESS }} --password-stdin
 | 
						||
          docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:rootless-dev-${{ gitea.sha }}
 | 
						||
          docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:latest
 | 
						||
          GITHUB_TOKEN="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"; REPO="mengning/DevStar"; WORKFLOW_FILE="PushDevStarImage2DockerHub.yml"; BRANCH="main"; URL="https://api.github.com/repos/$REPO/actions/workflows/$WORKFLOW_FILE/dispatches"; response=$(curl -s -o /dev/null -w "%{http_code}" -X POST "$URL" -H "Authorization: token $GITHUB_TOKEN" -H "Accept: application/vnd.github.v3+json" -d "{\"ref\":\"$BRANCH\"}"); if [ "$response" -eq 204 ]; then echo "将devstar-studio:latest同步到docker.io的Github工作流触发成功!"; else echo "将devstar-studio:latest同步到docker.io的Github工作流触发失败:HTTP 状态码 $response"; fi
 | 
						||
          docker tag devstar-controller-manager:latest ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-controller-manager:rootless-dev-${{ gitea.sha }}
 | 
						||
          docker tag devstar-controller-manager:latest ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-controller-manager:latest
 | 
						||
          echo "${{ secrets.DOCKER_REGISTRY_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_REGISTRY_USERNAME }} ${{ vars.DOCKER_REGISTRY_ADDRESS }} --password-stdin
 | 
						||
          docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-controller-manager:rootless-dev-${{ gitea.sha }}
 | 
						||
          docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-controller-manager:latest          
 | 
						||
      - name: 🍏 Job Status Report
 | 
						||
        run: |
 | 
						||
          echo "🍏 This job's status is ${{ job.status }}."
 | 
						||
          echo "Output Artifact: ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:rootless-dev-${{ gitea.sha }}"
 | 
						||
          echo "=> Artifact Tag: latest"
 | 
						||
          echo "=> Artifact Tag: rootless-dev-${{ gitea.sha }}"
 | 
						||
          echo "Output Artifact: ${{ vars.DOCKER_REGISTRY_ADDRESS }}/devstar/devstar-controller-manager:rootless-dev-${{ gitea.sha }}"
 | 
						||
          echo "=> Artifact Tag: latest"
 | 
						||
          echo "=> Artifact Tag: rootless-dev-${{ gitea.sha }}"          
 | 
						||
      - name: 📝 Update dev.devstar.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/dev-devstar-studio-gitea   gitea=${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:rootless-dev-${{ gitea.sha }}   -n devstar-studio-ns          
 | 
						||
 | 
						||
 | 
						||
#
 | 
						||
# P.S.:
 | 
						||
################################################################################
 | 
						||
# 1. How to config runner:
 | 
						||
#  $ docker run \
 | 
						||
#      --name gitea-act-runner-repo-devstar-studio \
 | 
						||
#      -d \
 | 
						||
#      -e GITEA_INSTANCE_URL=https://www.devstar.cn \
 | 
						||
#      -e GITEA_RUNNER_REGISTRATION_TOKEN=${YOUR_GITEA_RUNNER_REGISTRATION_TOKEN} \
 | 
						||
#      -v /var/run/docker.sock:/var/run/docker.sock \
 | 
						||
#      gitea/act_runner:latest
 | 
						||
#
 | 
						||
# 2. To clean the docker cache:
 | 
						||
#  $  docker builder prune --force
 | 
						||
#  $  if [ "$(docker volume ls -qf dangling=true)" ]; then docker volume rm $(docker volume ls -qf dangling=true); fi
 | 
						||
#
 |