持续集成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的能力,可以在实际项目中应用这一工具,提升团队的开发效率和协作水平。

相关推荐
不念霉运4 小时前
2025年中国DevOps工具选型指南:主流平台能力横向对比
运维·ci/cd·团队开发·devops
Lovely Ruby1 天前
github 上的 CI/CD 的尝试
ci/cd·github
小马爱打代码2 天前
K8S - GitLab CI 自动化构建镜像入门
ci/cd·kubernetes·gitlab
阳光普照世界和平2 天前
Jenkins:库博静态工具CI/CD 的卓越之选
运维·ci/cd·jenkins
木二_2 天前
实践005-Gitlab CICD全项目整合
ci/cd·gitlab
木二_3 天前
实践003-Gitlab CICD编译构建
ci/cd·gitlab·devops
杰克逊的日记4 天前
CI/CD面试题及答案
ci/cd·gitlab
梁萌4 天前
Windows系统Jenkins企业级实战
运维·windows·ci/cd·svn·jenkins
带娃的IT创业者4 天前
《AI大模型应知应会100篇》第50篇:大模型应用的持续集成与部署(CI/CD)实践
人工智能·ci/cd
小马爱打代码5 天前
K8S - Harbor 镜像仓库部署与 GitLab CI 集成实战
ci/cd·kubernetes·gitlab