跳至主要內容

不同仓库的自动化部署

AI悦创原创大约 2 分钟...约 733 字

你好,我是悦创。

不想直接公开源代码,想要利用私有仓库,部署到公开的 GitHub Pages 仓库。

1. 同账号部署推送

1.1 生成部署用的 SSH KEY

输入自定义名称,避免覆盖默认的 ssh 文件,影响 GitHub 原有的 SSH 授权。

比如:id_github_deploy_to_blog & id_github_deploy_to_blog.pub

ssh-keygen -t ed25519 -C "id_github_deploy_to_blog"

1.2 配置新生成的 SSH KEY

每个 private_key 只能使用一次(如果有多个项目,需要生成多个 ssh key)

keyvalue
id_ed25519.pubGitHub 公开部署的仓库
id_ed25519GitHub 私有仓库BLOG_PRIVATE_KEY
Step1

1.3 对应的自动化部署脚本参考

在当前仓库和目的仓库配置好密钥

对应的 ssh-key: ${{ secrets.BLOG_PRIVATE_KEY }} 要和仓库中定义的匹配

# .github/workflows/deploy_to_blog.yml
name: Build and Deploy to gh-pages of another repository

permissions:
  contents: write

on:
  # 每当 push 到 main 分支时触发部署
  push:
    branches:
      # 确保这是你正在使用的分支名称
      - main

jobs:
  build-and-deploy:
    concurrency: ci-${{ github.ref }}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      
      - name: 安装 pnpm
        uses: pnpm/action-setup@v2
        with:
          run_install: true
          version: 8

      - name: 设置 Node.js
        uses: actions/setup-node@v3
        with:
          node-version: 20
          registry-url: 'https://registry.npmjs.org'
          cache: pnpm

      - name: 构建文档
        env:
          NODE_OPTIONS: --max_old_space_size=8192
        run: |-
          pnpm run docs:build
          > src/.vuepress/dist/.nojekyll

      - name: 部署文档
        uses: JamesIves/github-pages-deploy-action@v4
        with:
          clean: true # 默认清除,可以不配置
          branch: gh-pages # 默认分支,可不配置
          repository-name: AndersonHJB/blog # 提交的目的仓库/发布的公开仓库
          ssh-key: ${{ secrets.BLOG_PRIVATE_KEY }} # 私钥配置在当前仓库中(settings/secrets and variables/actions/secrets),公钥配置在目的仓库中「公开仓库」(settings/Deploy keys)
          folder: src/.vuepress/dist # 需要提交的目录文件
          clean-exclude: |
            CNAME

SHA256:3cJzQyy/HLINJ7URpGIm85+WqP9WJZe3BtBkDheX71A

欢迎关注我公众号:AI悦创,有更多更好玩的等你发现!

公众号:AI悦创【二维码】

AI悦创·编程一对一

AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh

C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh

方法一:QQopen in new window

方法二:微信:Jiabcdefh

上次编辑于:
贡献者: AndersonHJB
你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度