跳至主要內容

网站内容加密

黑静美...大约 2 分钟半原创

私密仓库的内容推送到公开仓库

不想直接公开源代码,可以使用的 私有仓库 存放源代码,再推送到公开仓库

1. 生成部署用的 SSH KEY

生成密钥ed25519

ssh-keygen -t ed25519 -C 

生成密钥rsaxxx

目前github只支持`rsa`、`ed25519` 这两种密钥

Keyvalue
id_ed25519.pubGit_Hub公开部分见下
id_ed25519Git_Hub私有仓库

但是并不代表只能生成两个密钥,详见:

2.把key配置到仓库

1. 新建一个私密仓库

2.在公开仓库部署KEY

image-20240404173439745
image-20240404173439745

3. 在公开仓库部署KEY(是公开仓库,不再是账号位置部署)

#### 在账号/公开仓库Deploy keys处填入该内容

image-20241115213347331
image-20241115213347331

注意勾选write access,这样才能把私有仓库的内容写入

4. 对应的推送代码的参考

对应的 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: node switch
     uses: actions/setup-node@v3
     with:
       node-version: '18.x'
       registry-url: 'https://registry.npmjs.org'

   - name: Install and Build
     run: |
     npm install
     npm run docs:build

   - name: Deploy
     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)
       # todo 名称要和github中书写的一致
       folder: src/.vuepress/dist # 需要提交的目录文件
       clean-exclude: |
       CNAME
(配置好`.git`文件到origin main branch即可)

✅完成✅

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3