Devps持续集成

一、Git

1.1、介绍

Git是一款开源的分布式版本管理工具、协调管理工具。

Git文件主要处于三种状态:已修改、已暂存和已提交。‌

1.2、安装git

官网下载直接安装。

官网:https://git-scm.com/install/windows

安装成功后查看版本,打开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命令行输入

设置公钥的目的:

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

查看公钥

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、介绍

  1. Jenkins 是一个开源的持续集成与持续交付(CI&CD)工具,基于 Java 开发,用于自动化软件构建、测试和部署流程。
  2. 它提供了一个可扩展的平台,支持从简单 CI 服务器到复杂交付流水线的构建。‌

2.2、安装Jenkins

下载地址:https://www.jenkins.io/download/

直接下载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、介绍

  1. Gogs 是一款轻量级的自托管 Git 服务,用 Go 语言开发,支持跨平台部署,特别适合中小企业或个人开发者快速搭建 Git 仓库。
  2. Gogs是搭建本地Git仓库的绝佳选择,尤其适合个人或小型团队。资源占用极低,甚至能在树莓派上运行,安装也相当便捷,支持二进制文件、Docker等多种方式。

使用Gogs的目的

  1. Jenkins 部署在企业内网,需通过代理服务器才能访问公网(Gitee),未配置代理的话会导致连接超时。
  2. 所以这里我们选择一个本地仓库Gogs,在内网就可以访问。

3.2、安装Gogs

下载地址:https://gogs.io/docs/installation/install_from_binary

下载二进制压缩文件,解压到对应的文件下面

进入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

  1. CI/CD(持续集成/持续交付)自动化部署流程的核心是‌通过工具链自动完成代码提交、构建、测试和发布‌,减少人工干预,提升软件交付效率。
  2. 将所有开发的代码合在一起就是"集成","持续"是指定下次不需要额为触发的操作。
相关推荐
CoderJia程序员甲6 小时前
GitHub 热榜项目 - 日榜(2026-02-08)
git·ai·开源·llm·github
Serene_Dream7 小时前
git 常用命令
git
jiayong237 小时前
Detached HEAD 状态详解
git
李少兄17 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
先跑起来再说1 天前
Git 入门到实战:一篇搞懂安装、命令、远程仓库与 IDEA 集成
ide·git·后端·elasticsearch·golang·intellij-idea
承渊政道1 天前
Linux系统学习【Linux系统的进度条实现、版本控制器git和调试器gdb介绍】
linux·开发语言·笔记·git·学习·gitee
Doro再努力1 天前
【Linux操作系统12】Git版本控制与GDB调试:从入门到实践
linux·运维·服务器·git·vim
摇滚侠1 天前
MAC IDEA GIT 提交区显示了几个不存在的目录
git·idea
城东1 天前
Git使用[远程仓库远端的head比本地和提交的head旧,其他人拉不到最新代码]
git·head·远程仓库远端·比本地和提交的head旧·其他人拉不到最新代码