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

相关推荐
IT-民工2111015 小时前
CI/CD 实践总结
运维·ci/cd·自动化
蚊子不吸吸1 天前
DevOps开发运维简述
linux·运维·ci/cd·oracle·kubernetes·gitlab·devops
老攀呀2 天前
CI/CD 的概念
ci/cd
aklry2 天前
CI_CD
ci/cd
flying robot6 天前
GitHub Actions的 CI/CD
ci/cd·github
程序员雷叔6 天前
自动化测试类型与持续集成频率的关系
功能测试·测试工具·jmeter·ci/cd·单元测试·测试用例·postman
檀越剑指大厂6 天前
【MySQL系列】理解 `utf8mb4` 和 `utf8mb4_unicode_ci`
数据库·mysql·ci/cd
划碎、时光7 天前
Jenkins Pipeline 部署总结
ci/cd·jenkins
IT-民工211107 天前
Tekton 与其他 CI/CD 工具相比,有什么不同之处
ci/cd·tekton
一叶飘零_sweeeet7 天前
Jenkins 发布 Java 项目:高效持续集成与部署
java·ci/cd·jenkins