一、Git
1.1、介绍
Git是一款开源的分布式版本管理工具、协调管理工具。
Git文件主要处于三种状态:已修改、已暂存和已提交。
1.2、安装git
官网下载直接安装。
安装成功后查看版本,打开cmd,输入命令查看是否安装成功
bash
git --version
"""
git version 2.52.0.windows.1
"""
配置全局用户信息,包括用户名和邮箱
注意:在控制台输入下面的命令,不会有任何反应。
bash
git config --global user.name "KG"
git config --global user.email "2392247356@qq.com"
检查配置的信息
bash
git config --list

1.3、设置Gitee公钥
设置SSH公钥,cmd命令行输入
设置公钥的目的:
- 若代码仓库为私有的,就必须提供访问的公钥,否侧无法访问。
- 使用SSH密钥比仅使用用户名和密码更加安全。
- 通过为不同的用户或服务配置不同的SSH密钥,可以精细控制谁可以访问代码仓库。
- 配置SSH密钥后,用户可以在本地机器上设置SSH代理,使得在访问多个仓库时无需多次输入密码。这提高了工作效率。
- 在自动化部署流程中,如使用Jenkins、GitLab CI/CD等工具时,SSH密钥允许脚本或服务自动从远程仓库拉取或推送代码,而无需手动输入密码。
bash
ssh-keygen -t ed25519 -C "2392247356@qq.com"
- ed25519是加密的一种方式。
- 最后的参数一般选择邮箱地址。

查看公钥
C盘 --- 用户 --- 本机电脑命名的文件 --- 找到 .ssh --- id_ed25519.pub

将公钥复制到Gitee保存

输入Gitee的密码

创建一个空仓库


初始化仓库
bash
mkdir test-cicd # 新建文件夹
cd test-cicd # 切换文件夹
git init # 声明这个文件夹成为一个本地仓库
touch README.md # touch 命令是Mac和Linux才有的,意思是新建
git add README.md # 添加单个文件
git commit -m "first commit" # 确认提交,真正意义上进去缓冲区
git remote add origin https://gitee.com/i-will-always-be-there/test-cicd.git # 绑定远程仓库
git push -u origin "master" # 提交到远程仓库


1.4、git提交本地代码
非首次提交代码就使用下面的提交。
若首次提交代码,先要使用初始化本地仓库。
bash
git add . # 上传目录中的所有文件
git commit -m "新的提交"
git push
1.5、git的冲突
发生冲突:远程仓库的最终状态,与本地仓库的初始状态不一致。
二、Jenkins
2.1、介绍
- Jenkins 是一个开源的持续集成与持续交付(CI&CD)工具,基于 Java 开发,用于自动化软件构建、测试和部署流程。
- 它提供了一个可扩展的平台,支持从简单 CI 服务器到复杂交付流水线的构建。
2.2、安装Jenkins
直接下载war包 
找到Jenkins.war的路径,并在改路径下进⼊cmd或者终端
Jenkins目前只支持Java17和Java21。
bash
java -jar <jenkins.war的路径>

在日志中找到Jenkins的工作目录,及其初始密码


打开浏览器访问Jenkins:127.0.0.1:8080


等待下载完成 
创建用户,保存配置



2.3、Jenlins的基础使用
构建第一个任务





查看运行的结果 

三、Gogs
3.1、介绍
- Gogs 是一款轻量级的自托管 Git 服务,用 Go 语言开发,支持跨平台部署,特别适合中小企业或个人开发者快速搭建 Git 仓库。
- Gogs是搭建本地Git仓库的绝佳选择,尤其适合个人或小型团队。资源占用极低,甚至能在树莓派上运行,安装也相当便捷,支持二进制文件、Docker等多种方式。
使用Gogs的目的
- Jenkins 部署在企业内网,需通过代理服务器才能访问公网(Gitee),未配置代理的话会导致连接超时。
- 所以这里我们选择一个本地仓库Gogs,在内网就可以访问。
3.2、安装Gogs
下载二进制压缩文件,解压到对应的文件下面

进入gogs解压后的路径中,打开cmd命令
bash
.\gogs.exe web

浏览器打开:127.0.0.1:3000



四、项目实战
工具:Jenkins+Git+Gogs+Allure
4.1、拉取构建
启动Gogs

网页打开:127.0.0.1:3000,创建一个仓库


到项目的路径下,将项目提交到Gogs仓库 

打开jenkins,网页访问:127.0.0.1:8080


创建一个新的项目




bash
python -m venv myvenv
myvenv\Scripts\python.exe -m pip install -r requirements.txt
myvenv\Scripts\python.exe run.py
保存上面的配置,运行项目

若出现下面的即为运行成功

4.2、Gogs更新触发
Jenkins插件下载
设置 --- 插件管理 --- 可选的插件 --- 搜索"Webhook"



安装成功后,重启Jenkins
Jenkins生成webhook


Gogs的安装路径,修改一个文件
如果不修改,下面配置本地地址就会报错。

路径:D:\Gogs\gogs\custom\conf
app.ini最后添加:LOCAL_NETWORK_ALLOWLIST = 127.0.0.1

添加成功后,重启Gogs

Gogs添加webhook
仓库设置 --- 管理钩子 --- 添加新的钩子(Gogs)



测试:去更新Gogs仓库的代码,会自动触发Jenkins的构建运行




总结 - CICD
- CI/CD(持续集成/持续交付)自动化部署流程的核心是通过工具链自动完成代码提交、构建、测试和发布,减少人工干预,提升软件交付效率。
- 将所有开发的代码合在一起就是"集成","持续"是指定下次不需要额为触发的操作。
