持续集成05--Gogs的安装与使用

前言

在持续集成/持续部署(CI/CD)的旅程中,版本控制系统是不可或缺的一环。当我们在使用jenkins,想要达到测试脚本有更新,就让项目自动去进行构建,或者当开发脚本有更新,也可以自动去构建的效果时,就需要结合远程仓库进行远程构建;远程构建的前置条件:保证仓库和Jenkins 是同一个网络,但是Gitee是外网,Jenkins是内网,无法进行自动拉取的构想,此时我们就需要搭建一个内网仓库Gogs,代替Gitee角色。当然,如果你的Jenkins可以通过外网访问,那就不需要Gogs来实现仓库访问Jenkins,直接使用Gitee即可。

Gogs,轻量级,易于部署和维护;跨平台支持,特别是Linux环境;开源免费,自定义程度高。Gogs不仅支持Git的基本功能,还集成了用户管理、仓库管理、Web界面等丰富特性,非常适合中小企业及开发团队内部使用。

本篇文章将带领大家在Linux环境下完成Gogs的安装与配置,并介绍其基本使用方法,为构建高效的CI/CD流程打下坚实基础。

1、安装Gogs

1.1、下载Gogs

下载地址:https://dl.gogs.io/0.13.0/gogs_0.13.0_linux_amd64.tar.gz

1.2、安装Gogs

创建安装目录,将下载的压缩包上传到服务器安装目录下,解压文件

bash 复制代码
tar -zxvf gogs_0.13.0_linux_amd64.tar.gz

1.3、启动Gogs

进入到解压后的gogs目录下,输入命令进行启动

bash 复制代码
# 直接启动
./gogs web
# 后台启动
nohup ./gogs web > ./nohup.out 2>&1 &

1.4、访问Gogs

输入服务器ip+端口3000进行访问,http://192.168.235.133:3000/

2、配置Gogs

2.1、首次运行安装程序

2.1.1、数据库设置

可根据自己需求设定,这里选择的是sqlite3(轻量级数据库引擎,SQLite 不需要配置、不需要服务器进程或操作系统级的安装,它实现了 SQL 数据库的所有功能)

2.1.2、应用基本设置

运行系统用户填写服务器的用户名:root(注意用户权限)

域名:填写服务器ip

应用url:填写服务器ip+端口

2.1.3、其他设置

可根据自己需求自行设置,或者采用默认设置,点击立即安装即可

3、登录Gogs

首次登录需要创建账号;点击注册,第一个创建的用户即为系统管理员

4、创建仓库

进入首页,点击右侧仓库+,按需填写内容,点击创建仓库

5、代码推送

如果本地电脑可以访问服务器,则可以直接通过本地Git推送Gogs仓库;如果无法访问,则需要把代码上传到服务器后,在服务器上进行推送。

5.1、本地代码推送Gogs

进入到本地代码所在目录,根据仓库提示命令依次执行

注意:在push时出现的登录弹窗后,输入Gogs的登录账号/密码即可

bash 复制代码
# 格式化本地代码仓库
git init
# 添加本地代码至缓存区
git add .
# 提交缓存区内容
git commit -m "first commit"
# 与远程仓库建立连接
git remote add origin http://192.168.235.133:3000/dtw-Levi/PytestApiFrame.git
# 推送本地代码至远程仓库
git push -u origin master

5.2、查看Gog仓库

刷新Gogs仓库页面,可以看到本地代码推送至服务器Gogs仓库

总结

通过本章节"持续集成05--Gogs的安装与使用"的学习,已经掌握了Gogs的安装方法、基本配置以及常用功能。Gogs作为一个轻量级、易于部署的Git服务,为团队内部代码管理提供了便捷高效的解决方案。它不仅支持代码的托管、版本控制,还具备用户管理、权限控制、问题跟踪等丰富的功能,满足了团队协作的多种需求。此外,Gogs的高度可定制性和灵活性,使得它能够适应不同团队的特定需求,为软件开发和团队协作带来了极大的便利。现在,我们已经拥有了搭建和使用Gogs的能力,可以在实际项目中应用这一工具,提升团队的开发效率和协作水平。

相关推荐
虎王物联1 天前
Docker BuildKit多阶段构建:IoT固件交叉编译流水线实战
运维·物联网·ci/cd·docker·容器·物联网嵌入式
LlmCraft|大模型工程实践1 天前
14. CI/CD 流水线中集成 Docker:GitHub Actions 自动构建部署
ci/cd·docker·github
秦渝兴2 天前
GitLab CI/CD 流水线实战
ci/cd·gitlab
gs801402 天前
告别 CI/CD 误伤与红条:Docker 镜像智能清理与优雅防冲突实战
ci/cd·docker·容器
leeyi2 天前
DDD 六条铁律:让 CI 替你骂人——go-arch-lint 门禁实战(第104篇)
ci/cd·agent·领域驱动设计
算法大模型备案干货咪2 天前
《把内容安全做成CI卡点:AIGC合规的工程化落地》
安全·ci/cd·aigc
code 小楊2 天前
生产级 Agent 评测体系实战:从 12 指标框架到 CI/CD 质量门禁全链路落地
大数据·人工智能·ci/cd
Ningcode_cloud3 天前
什么是CICD? GitLab + Jenkins 持续集成实战部署手册
运维·ci/cd·云原生·容器·gitlab·jenkins
成茂峰3 天前
实战:内外网隔离环境下基于 Jenkins + PowerShell 的自动化 CI 构建与邮件通知方案
ci/cd·自动化·jenkins
liuyicenysabel4 天前
从 0 到 1:一套 GitHub + GHCR + k3s 的全自动 CI/CD 流水线(Flask 项目实战)
ci/cd·flask·github