当前位置: 首页 > news >正文

建立网站需要什么条件苏州做网站公司乛 苏州聚尚网络

建立网站需要什么条件,苏州做网站公司乛 苏州聚尚网络,wordpress 标题插件,建设银行钓鱼网站文章目录Github同步Gitee镜像仓库自动化脚本前言什么是Hub Mirror Action?1.介绍2.用法配置步骤1.生成密钥对2.GitHub私钥配置3.Gitee公钥配置4.Gitee生成私人令牌5.Github绑定Gitee令牌6.编写CI脚本7.多仓库同步推送8.定时运行脚本总结Github同步Gitee镜像仓库自动…

文章目录

  • Github同步Gitee镜像仓库自动化脚本
    • 前言
    • 什么是Hub Mirror Action?
      • 1.介绍
      • 2.用法
    • 配置步骤
      • 1.生成密钥对
      • 2.GitHub私钥配置
      • 3.Gitee公钥配置
      • 4.Gitee生成私人令牌
      • 5.Github绑定Gitee令牌
      • 6.编写CI脚本
      • 7.多仓库同步推送
      • 8.定时运行脚本
    • 总结

Github同步Gitee镜像仓库自动化脚本


前言

在软件开发中,使用Git作为代码管理工具是非常普遍的。而GitHub和Gitee则是我们熟知的两个在线Git代码托管平台。如果我们在这两个平台上都有代码仓库,并且希望实现自动同步,应该怎么做呢?这就需要使用GitHub Action中的Hub Mirror Action了。

什么是Hub Mirror Action?

image-20230411153729450

1.介绍

Hub Mirror Action是GitHub Action中的一个组件,可以将GitHub仓库内容自动同步到Gitee上,也可以实现从Gitee到GitHub的自动同步。Hub Mirror Action提供了多种同步方式,支持单向同步和双向同步,可以在配置文件中进行灵活设置。

2.用法

steps:
- name: Mirror the Github organization repos to Gitee.uses: Yikun/hub-mirror-action@masterwith:src: github/kunpengcomputedst: gitee/kunpengcomputedst_key: ${{ secrets.GITEE_PRIVATE_KEY }}dst_token: ${{ secrets.GITEE_TOKEN }}account_type: org# src_account_type: org# dst_account_type: org

附:详细使用案例请查看官方仓库 https://github.com/Yikun/hub-mirror-action

配置步骤

1.生成密钥对

我们先在本地使用git命令行打开终端,输入如下命令:

ssh-keygen -t rsa -f ~/Documents/ssh-key/id_rsa

注:请确保文件夹~/Documents/ssh-key/存在,当然你也可以选择放置在其他地方

过程中一路回车即可,注意不要设置密码。

image-20230411154330166

image-20230411155124878

2.GitHub私钥配置

首先为了存放自动化脚本,我们需要创建一个新的GitHub仓库,并为其配置相关环境。

image-20230411154716849

  • 依次点击Settings->Secrets and variables->Actions

  • 点击New respository secret,创建一个名为GITEE_PRIVATE_KEY的secret,值为我们之前生成的密钥对中的私钥(id_rsa)

image-20230411155314101

3.Gitee公钥配置

我们打开Gitee账号,进入Settings->安全设置->SSH公钥

添加一个名为gitee_sync的公钥,值也就是我们前面生成的公钥(id_rsa.pub)

image-20230411155846562

4.Gitee生成私人令牌

image-20230411155958898

令牌名称随意,同时复制生成的令牌值。

image-20230411160127393

5.Github绑定Gitee令牌

  • 依次点击Settings->Secrets and variables->Actions

  • 点击New respository secret,创建一个名为GITEE_TOKEN的secret,值为Gitee生成的令牌值

image-20230411160340721

6.编写CI脚本

ci_bot仓库(放置及部署自动化脚本的仓库)下载到本地,同时创建这样的文件层次目录:

.ci_bot/|——.github|——workflows|——Sync.yml

Sync.yml文件中,添加以下代码:

name: Sync Github Repos To Giteeon: [ push, delete, create ]jobs:build:runs-on: ubuntu-lateststeps:- name: Sync Github Repos To Gitee  # 名字随便起uses: Yikun/hub-mirror-action@master  # 使用Yikun/hub-mirror-actionwith:src: github/kurisaW  # 源端账户名(github)dst: gitee/kurisaW  # 目的端账户名(gitee)dst_key: ${{ secrets.GITEE_PRIVATE_KEY }}  # SSH密钥对中的私钥dst_token:  ${{ secrets.GITEE_TOKEN }}  # Gitee账户的私人令牌account_type: user  # 账户类型clone_style: "https"  # 使用https方式进行clone,也可以使用sshdebug: true  # 启用后会显示所有执行命令force_update: true  # 启用后,强制同步,即强制覆盖目的端仓库static_list: "kurisaW_docs"  # 静态同步列表,在此填写需要同步的仓库名称,可填写多个timeout: '600s'  # git超时设置,超时后会自动重试git操作

保存退出后,将本次修改push到远端仓库。

查看Action运行情况:

image-20230411161143741

7.多仓库同步推送

如果你想同时同步多个仓库,只需要完成如下修改

static_list 默认为'', 配置后,仅同步静态列表,不会再动态获取需同步列表(黑白名单机制依旧生效),如“repo1,repo2,repo3”。

image-20230411163307283

image-20230411163135259

8.定时运行脚本

为了方便该脚本每天定时完成自动同步任务,我们可以使用GitHub提供的schedule事件完成:

修改Sync.yml文件:

name: Sync Github Repos To Giteeon: schedule:- cron: '0 0 * * *'push:branches: [ main ]delete:branches: [ main ]create:branches: [ main ]jobs:build:runs-on: ubuntu-lateststeps:- name: Sync Github Repos To Gitee  # 名字随便起uses: Yikun/hub-mirror-action@master  # 使用Yikun/hub-mirror-actionwith:src: github/kurisaW  # 源端账户名(github)dst: gitee/kurisaW  # 目的端账户名(gitee)dst_key: ${{ secrets.GITEE_PRIVATE_KEY }}  # SSH密钥对中的私钥dst_token:  ${{ secrets.GITEE_TOKEN }}  # Gitee账户的私人令牌account_type: user  # 账户类型clone_style: "https"  # 使用https方式进行clone,也可以使用sshdebug: true  # 启用后会显示所有执行命令force_update: true  # 启用后,强制同步,即强制覆盖目的端仓库static_list: "kurisaW_docs,rt-thread,my_tools,pkgs,Npdf,kurisaW.github.io"  # 静态同步列表,在此填写需要同步的仓库名称,可填写多个timeout: '600s'  # git超时设置,超时后会自动重试git操作

也就是说该自动化脚本会每天零时进行自动化脚本的运行,自动更新镜像仓库,同时如果该配置文件发生推送、删除和创建文件操作时也会触发Action行为。

image-20230411173142865

总结

通过以上步骤,我们已经完成了GitHub同步Gitee镜像仓库自动化脚本配置的操作。Hub Mirror Action作为GitHub Action中的一个组件,可以帮助我们在两个平台之间实现代码自动同步,极大地减轻了我们手动同步代码的工作量。当然如果你有任何问题欢迎留言区提出,我将竭力为你解答。

http://www.yayakq.cn/news/649343/

相关文章:

  • python做网站赚钱模板网站购买
  • 网站商城建设实训心得wordpress添加作者名字
  • 网站title重复的后果彩页设计报价
  • 企业门户网站建设渠道计算机做网站开题报告
  • 洛阳做网站无锡网站建设方案维护
  • php作文网站源码昆明网站制作维护
  • html5手机网站教程做gif有什么网站
  • 怎么做QQ信任网站有做销售产品的网站有哪些
  • 具有品牌的做网站网站描文本怎么做
  • 网站开发小组在线网站推荐几个
  • 洛阳市霞光游乐设备有限公司宁波自适应网站建设优化建站
  • 淘宝客单页网站互联网营销的方式有哪些
  • 营销型公司网站有哪些美做天然居家居网站
  • 乐清网站改版公司ci框架建设网站
  • 深圳网站建设的公线下教育机构
  • 网站建设 甘肃有创意的大学活动策划
  • 如何通过网站标题找网站上海网页设计公司选择兴田德润
  • 高性能网站建设科技网站设计
  • 养殖网站模版福建工程建设管理中心网站
  • 莱芜融媒体中心网站网站建设 趋势
  • 建设外国商城网站临海网站开发公司电话
  • 网站建设总体上可划分为两个阶段重庆市建设工程信息网怎么进不去
  • 企业网站改版seo专业做二手健身器材的是什么网站
  • 企业手机网站开发seo网站内容更新
  • 住房建设厅官方网站凡客之家
  • 为什么做网站备案的人态度差chci网站建设
  • 怎么做好网站推广找外包做网站要多久
  • 外包网站怎么做seo如何自己制作网站
  • 河南免费网站建设公司推荐做蛋糕网站有哪些
  • 国家工信部网站备案网站如何运作