Gogs 项目旨在打造一个以最简便的方式搭建简单、稳定和可扩展的自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、macOS、Windows 以及 ARM 平台。
来自 <https://github.com/gogs/gogs/blob/master/README_ZH.md>
官方网站:<https://gogs.io/>
文档:<https://gogs.io/docs>
测试环境为ECS CentOS7+Docker
一、安装部署服务
#拉取gogs镜像
[root@xserver1 ~]# docker pull gogs/gogs
确保当前存在gogs和mysql镜像
#docker run启动容器,gogs镜像映射3000和22端口,挂载数据目录;配置mysql数据库密码映射端口
[root@xserver1 ~]# docker run -d --name=gogs -p 80:3000 -p 222:22 -v /var/gogs:/data gogs/gogs 07bef3a210be5718a6faa84869a889e053df10293c0d49869a07391a30c621ed [root@xserver1 ~]# docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=000000 --name gogs-mysql mysql:5.6 0384efb22d9b95050a7d4560062cca20cab45136084f572fdacb1b1ed05d8e76
进入数据库mysql容器,创建数据库库名为gogs
浏览器访问gogs容器映射的端口号,进入安装页面
设置数据库,选择数据库类型为mysql,配置IP,用户名密码,库名
配置名称,目录
配置域名为访问的IP为外部IP,SSH端口号为容器映射端口号
HTTP端口号为外部端口号,URL为固定地址使用外部IP
创建管理员用户
配置安装完成进入首页
二、新建仓库
仓库,点击+,新建仓库
创建新仓库
也可导入其他平台的代码仓库,加号处选择迁移外部仓库
配置外部仓库地址,输入仓库名称
稍等片刻即可导入成功
三、仓库测试
#安装git工具,git仓库到本地
[root@xserver1 ~]# yum -y install git [root@xserver1 ~]# git clone http://192.168.1.20:80/tao/hcltest.git
提交文件到仓库
#克隆仓库到本地,进入文件夹
[root@xserver1 ~]# git clone http://192.168.1.20/tao/demo.git 正克隆到 'demo'... remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Total 3 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. [root@xserver1 ~]# cd demo/
#创建测试代码文件,推送,输入用户名密码,提交完成
[root@xserver1 demo]# echo "print('Hello Word')" > test.py [root@xserver1 demo]# git add . [root@xserver1 demo]# git commit -m "test put" [master 6eed402] test put 1 file changed, 1 insertion(+) create mode 100644 test.py [root@xserver1 demo]# git push Counting objects: 4, done. Delta compression using up to 2 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 278 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) Username for 'http://192.168.1.20': tao Password for 'http://tao@192.168.1.20': To http://192.168.1.20/tao/demo.git 54f3759..6eed402 master -> master
在网页上可以看见提交的代码