deepwzh的技术笔记
  • Golang
  • Python
  • Cpp
杂项
前端开发
  • 计算机网络
  • 操作系统
  • 数据库
云原生
Devops
AIGC
关于作者
  • Golang
  • Python
  • Cpp
杂项
前端开发
  • 计算机网络
  • 操作系统
  • 数据库
云原生
Devops
AIGC
关于作者
  • Devops
  • Tailscale
  • Clash
  • Certbot
  • Prometheus
  • Cloudflare SSL 完全模式配置指南
  • Gitlab

    • Gitlab
    • Release 功能
    • 流水线

      • 流水线
      • 组件
  • Jenkins

    • Jenkins
    • Node
  • 对象存储

    • 对象存储
    • web 工具
    • 常用工具
  • Github

    • Github
    • Pull Request
    • Fork
    • 加速
    • Github Action

      • Github Action
      • 触发方式
      • 缓存 Cache
  • Ioc基础设施即代码

    • Ioc 基础设施即代码
    • gitops
    • Terraform
    • Ansible

Github Action

一个基本的流水线示例

name: 部署

on:
  workflow_dispatch: {} # 支持手动触发
  push:
    branches:
      - main # main分支上运行
  schedule:
     - cron: '0 */2 * * *'  # 每两小时运行一次,根据需求调整
  repository_dispatch:
      types: [feishu] # 可以通过名为feishu的webhook发起
permissions:
  contents: write

# 定义具体执行步骤
jobs:
  deploy-gh-pages:
    runs-on: ubuntu-latest
    steps:
      # 检出代码
      - name: Checkout
        uses: actions/checkout@v3
        with:
          fetch-depth: 0

      # 使用docker步骤
      - name: 构建
        uses: docker://library/python:3.13
        with:
          entrypoint: /bin/sh
          args: -c "python3 build.py && echo "成果"
      - name: 设置 Node.js
        uses: actions/setup-node@v3
        with:
          node-version: 20
          cache: npm
      
      - name: 安装依赖
        run: npm ci

      - name: 构建文档
        # 不要使用 Jekyll 处理该目录的内容,从而保留所有文件(例如以 _ 开头的文件)。
        run: |-
          npm run docs:build
          > .vuepress/dist/.nojekyll

      - name: 部署文档
        uses: JamesIves/github-pages-deploy-action@v4
        with:
          # 这是文档部署到的分支名称
          branch: gh-pages
          folder: .vuepress/dist

子文档

  • 缓存Cache
  • 触发方式
Next
触发方式