YongHu の 博客
项目之前一直gitee托管,因为我添加了自动部署的脚本,会自动拉取gitee项目代码。由于github经常会被墙掉,所以没有部署在github上面。最近想把gitee项目都迁移到github,但是又想在gitee实时同步,便于部署,于是玩了一下github-action。
github-action
github action是github推出的自动化CI/CD的功能,随着2019年11月后github对该功能的全面开放,现在所有的github用户可以直接使用该功能。
步骤
生成一对密钥,公钥放在gitee,私钥放在github。用于github访问gitee。
gitee生成token,存放在github仓库。用于调用gitee api。
编写github-action脚本。
name: Sync Github Repos To Gitee
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-20.04
steps:
- name: Sync Github Repos To Gitee # 名字随便起
uses: Yikun/hub-mirror-action@v1.1 # 使用Yikun/hub-mirror-action
with:
src: github/huyonger # 源端账户名(github)
dst: gitee/huyonger # 目的端账户名(gitee)
dst_key: ${{ secrets.GITEE_PRIVATE_KEY }} # SSH密钥对中的私钥
dst_token: ${{ secrets.GITEE_TOKEN }} # Gitee账户的私人令牌
account_type: user # 账户类型
clone_style: "https" # 使用https方式进行clone,也可以使用ssh
debug: true # 启用后会显示所有执行命令
force_update: true # 启用后,强制同步,即强制覆盖目的端仓库
static_list: "blog" # 静态同步列表,在此填写需要同步的仓库名称,可填写多个
timeout: "600s" # git超时设置,超时后会自动重试git操作
这篇文章写的非常详细,还有很多github-action其他玩法。https://www.cnblogs.com/ssgeek/p/15009012.html
Comments