同步gitea仓库到github

为了确保仓库速度和防止github账号出现问题,在个人服务器搭建了gitea并配置了Drone CI,具体搭建方法网上很多这里就不在说明了。 远程仓库 这里指的是Github,创建专门用来同步的SSH-KEY,当然直接使用你一直在用的也行,但是为了防止数据泄露,最好创建一个单独使用的。 在Drone里开启需要同步仓库的CI并在 Setting > Secrets 中将密钥添加进去,Key自定义即可,这里使用的是SSH-KEY Gitea仓库添加.drone.yml文件 并填入以下内容 kind: pipeline type: docker name: build steps: - name: sync-to-github image: appleboy/drone-git-push settings: branch: master remote: git@github.com:example/example.git #远程仓库地址 remote_name: master #需要推送到哪个分支 force: true #是否强制推送 commit: true ssh_key: #使用上面设置的key进行推送 from_secret: SSH-KEY trigger: branch: - master 如果一切正常应该能看到以下构建过程 至此,当前仓库就会自动同步备份到GitHub中

September 1, 2022 · 1 分钟 · wrpota

使用GitHub Action自动发布Hugo博客

使用GitHub Pages配合Hugo搭建Blog中,往往出于各种原因需要将编译前的文件隐藏,如果使用一个仓库进行管理无法实现,而GitHub Pages无法使用私有仓库发布,一开始使用一个私有仓库进行原始文件版本管理,每次编辑后需要将pubilc目录单独再提交至对应的GitHub Pages仓库,此时的步骤应该是: 编写文章 提交至private repo进行版本管理 本地生成静态文件 将静态文件Push至github pages repo 一个文章的改动非常的不方便,经过后续搜索发现可以使用GitHub提供的action配合hugo官方提供的action自动进行后两步,修改后发布文章只需要再编写后提交至private repo即可,方便再任意终端上随时记录内容 GitHub 仓库配置 在GitHub头像下拉框选择Setting > Developer Settings > Personal access tokens 选择Generate new token 在上方填入名字,并按勾选 repo 和 admin:repo_hook 下的所有选项 点击 Generate token 生成token,并复制保存好该token 在private repo 中选择 Setting > secrets > New repository secret NAME填入ACTION_PERSONAL_ACCESS_TOKEN内容填入上面获取的token Private Repo 配置 在private repo根目录新建嵌套的两个文件夹.github/workflows 在workflows里新建一个后缀为.yml的配置文件,名字自取。 写进去以下配置内容: name: github pages # 名字自取 on: push: branches: - main #当main分支触发push事件时执行当前任务 jobs: release: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v2 with: submodules: true fetch-depth: 0 - name: Hugo uses: peaceiris/actions-hugo@v2 # hugo官方提供的action with: hugo-version: 'latest' #hugo 版本 - name: Build run: hugo --minify #构建静态网页 - name: Deploy uses: peaceiris/actions-gh-pages@v3 # 自动发布的action with: external_repository: wrpota/wrpota....

July 16, 2021 · 1 分钟 · wrpota

Macos 安装k8s

开启 Macos Docker Desktop 中的 K8s 支持 tips: 此操作需要科学上网支持 等待docker执行完成后 对应容器就启动好了 安装 Kubernetes Dashboard Web UI kubectl proxy kubectl proxy在您的机器和 Kubernetes API 服务器之间创建一个代理服务器。默认情况下,它只能在本地访问(从启动它的机器)。 先检查是否kubectl配置正确并且可以访问集群,若出现错误请自行排查 kubectl cluster-info 输出: Kubernetes control plane is running at https://kubernetes.docker.internal:6443 CoreDNS is running at https://kubernetes.docker.internal:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. 启动本地代理服务器 kubectl proxy 若输出以下内存则进行下一步: Starting to serve on 127.0.0.1:8001 访问: http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login 如下所示 通过下方命令获取Token 登录 kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

July 14, 2021 · 1 分钟 · wrpota

Git规范-初版

git规范 1.概览 项目默认分支为 线上master预发布 develop commit信息必须完整描述修改内容 commit之前必须进行pull或者fetch进行同步 所有需求建立新分支进行修改 develop 分支作为开发阶段主分支 各需求负责人本地建立新分支进行修改 修改完成后使用rebase合并冗余commit信息合并至develop分支 2.commit规范 保证commit尽量只做一件事 书写commit message言简意赅 规范commit message格式 完整commit信息大致如下 参考 Angular Git Commit Guidelines: # 标题行:50个字符以内,描述主要变更内容 # # 主体内容:更详细的说明文本,建议72个字符以内。 需要描述的信息包括: # # * 为什么这个变更是必须的? 它可能是用来修复一个bug,增加一个feature,提升性能、可靠性、稳定性等等 # * 他如何解决这个问题? 具体描述解决问题的步骤 # * 是否存在副作用、风险? # # 如果需要的化可以添加一个链接到issue地址或者其它文档 <type>: <subject> <BLANK LINE> <body> <BLANK LINE> <footer> type: 本次 commit 的类型,诸如 bugfix docs style 等 scope: 本次 commit 波及的范围 subject: 简明扼要的阐述下本次 commit 的主旨,结尾无需标点 body: 主体内容 footer: 描述下与之关联的 bug 或者需求链接 开发过程中遇到单行无法完整描述commit信息时必须使用完整commit信息提交...

July 2, 2021 · 1 分钟 · wrpota

Git教程-初版

git简介 一:Git是什么? Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 工作原理 / 流程: Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。 Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。 三:初始化设置 1. 设置用户名及邮箱信息 全局设置 git config --global user.name "Name" git config --global user.email "Email" 针对项目设置 git config user.name "Name" git config user.email "Email" 2. 设置换行符自动转换 git config --global core.autocrlf [true | input | false] # 全局设置 git config --local core.autocrlf [true | input | false] # 针对本项目设置 true 提交时转换为LF,检出时转换为CRLF input 提交时转换为LF,检出时不转换 false 提交与检出的代码都保持文件原有的换行符不变(不转换) 推荐设置: windows git config --global core....

July 2, 2021 · 7 分钟 · wrpota