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

相关推荐
Flying_Fish_roe9 小时前
DevOps -CI/CD 与自动化部署
ci/cd·自动化·devops
Flying_Fish_roe9 小时前
DevOps -分布式追踪与监控
ci/cd·自动化·devops
野猪佩挤13 小时前
Gitea Action 简单配置(CI/CD)
ci/cd·gitea
qq317853557118 小时前
持续集成与持续交付CI/CD
大数据·elasticsearch·ci/cd
heroboyluck21 小时前
学会Github Actions自动发布版本
前端·ci/cd·github
勤劳兔码农3 天前
如何使用Ansible实现CI/CD流水线的自动化
ci/cd·自动化·ansible
lbmydream4 天前
微服务CI/CD实践(六)Jenkins & Docker 自动化构建部署Java微服务
ci/cd·微服务·云原生·jenkins
漆黑的莫莫5 天前
经验笔记:持续集成/持续部署(CI/CD)流程
笔记·ci/cd
OceanSky66 天前
Maven持续集成(Continuous integration,简称CI)版本友好管理
java·ci/cd·maven·revision·maven父子版本传递
solinger7 天前
tekton构建标准ci(clone repo, test, build & push img)
ci/cd·tekton