【教程】如何用 Git 快速搭建简单的 CI
2024/2/18
最近折腾博客需要一个 CI 完成自动部署的任务,但是现有的 GitLab CE 或 Gitea + Drone 方案部署都过于麻烦,为了一个博客部署显然有些过于麻烦,所以我用 Git Hooks 模仿了一个简单的 CI 出来。
前置知识
- Git 基本操作
- Linux 基本常识
- Bash Script 的基本知识
省流助手
在服务器上建立一个 Git Repo,使用 Git 提供的 post-receive Hook 在接收到推送时执行指定脚本,达到简单 CI 的效果。
步骤
配置服务器
在服务器上配置 sshd_config 打开密钥登录,并上传密钥。
创建 Git Repo
在服务器上某路径(要求你的用户可读可写)执行以下命令(假定在你的 home 路径下)
git init --bare test.git
这样就创建成功了一个只有 .git
文件夹的 Git Repo
配置 Git
本地创建 Git Repo 并配置 user.email
/ user.name
等参数,使用 git remote
命令关联服务器上的 Repo。
在关联时请使用 ssh 链接,例如 allenyou@my-server-ip:~/test.git
此处形式为用户名@服务器地址:服务器端创建的repo路径
创建 Hook
在服务器端的 test.git/hooks
文件夹中创建 post-receive
文件并且授予执行权限。在里面写以下内容:
#!/bin/bash
git --git-dir=~/test.git --work-tree=某个文件夹 checkout -f master
# 以下写你自己需要在 CI 中运行的命令
此处“某个文件夹”可以替换成任何你有读写权限的空白目录,你的代码将会被自动复制到该目录下
master 可以自行替换成你的 branch 名称
加载评论中……