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

相关推荐
Bruk.Liu2 天前
Gitea Actions 的概念及基础使用
运维·ci/cd·持续集成
学嵌入式的小杨同学2 天前
【Linux 实战】手写 ls 命令核心功能:C 语言实现文件属性与目录遍历(附完整可运行代码)
linux·运维·服务器·c语言·chrome·后端·ci/cd
叼奶嘴的超人2 天前
手动创建Docker版Fastapi CI/CD镜像文件
ci/cd·docker·fastapi
_运维那些事儿2 天前
GitLabCI/CD语法
linux·服务器·git·ci/cd·gitlab·运维开发·devops
_运维那些事儿2 天前
GitLab&Jenkins
运维·ci/cd·gitlab·jenkins·devops
一念一花一世界2 天前
Jenkins 太重?试试超轻量开源 CI/CD 工具 Arbess
运维·ci/cd·jenkins·arbess
卓码软件测评3 天前
第三方移动应用测试机构:【移动应用性能测试:使用LoadRunner的Mobile Application - HTTP/HTML协议】
测试工具·ci/cd·性能优化·单元测试·测试用例
卓码软件测评3 天前
【第三方双重资质软件测试机构:测试RESTful API和SOAP Web Services:LoadRunner协议选择和脚本编写】
测试工具·ci/cd·性能优化·单元测试·测试用例·restful
_运维那些事儿4 天前
GitLabCI-CD入门
运维·ci/cd·容器·云计算·k8s·运维开发
henujolly4 天前
How do you troubleshoot a CI failure?
java·开发语言·ci/cd