Dogs是一款极易搭建的自助 Git 服务,具有易安装,跨平台,轻量级的特点。可以根据操作系统平台通过 二进制运行,还可以通过 Docker 或 Vagrant,以及包管理安装,任何 Go 语言 支持的平台都可以运行

Centos8 安装 Gogs托管服务

环境

  • Centos8
  • gogs_0.11.91

创建git用户

[root@localhost ~]# useradd git
[root@localhost ~]# echo '123456'|passwd --stdin git
Changing password for user git.
passwd: all authentication tokens updated successfully.

为git用户设置sudo

[root@localhost ~]# visudo
git     ALL=(ALL)       NOPASSWD: ALL
Centos8 安装 Gogs 代码仓库管理工具Centos8 安装 Gogs 代码仓库管理工具

下载并配置基本环境

[root@localhost ~]# yum -y install tar wget git mariadb mariadb-server

设置mariadb开机启动,并启动mariadb服务

[root@localhost ~]# systemctl enable mariadb --now

创建gogs数据库

# 切换到git用户
[root@localhost ~]# su - git
# 创建数据库
[git@localhost ~]$ mysql -u root -e "CREATE DATABASE IF NOT EXISTS gogs CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
[git@localhost ~]$ mysql -u root -e "show databases;"
+--------------------+
| Database           |
+--------------------+
| gogs               |
| information_schema |
| mysql              |
| performance_schema |
+--------------------+

Centos8 安装 Gogs 代码仓库管理工具Centos8 安装 Gogs 代码仓库管理工具 创建数据库gogs用户,并授予访问gogs数据库权限:

[git@localhost ~]$ mysql -u root -e "create user gogs; grant all privileges on gogs.* to gogs@'%' identified by 'gogs123';"
# 查看用户gogs是否添加,是否授予所有访问权。
[git@localhost ~]$ mysql -u root -e "select Host,User,Password from mysql.user; show grants for gogs@'%';"
Centos8 安装 Gogs 代码仓库管理工具Centos8 安装 Gogs 代码仓库管理工具

下载gogs安装包

从gogs的官网 https://gogs.io/docs/installation/install_from_binary 下载对应操作系统的安装包。 Centos8 安装 Gogs 代码仓库管理工具Centos8 安装 Gogs 代码仓库管理工具

[git@localhost ~]$ wget https://dl.gogs.io/0.11.91/gogs_0.11.91_linux_amd64.tar.gz
[git@localhost ~]$ tar xvf gogs_0.11.91_linux_amd64.tar.gz

启动gogs并开放防火墙的端口

[git@localhost gogs]$ sudo firewall-cmd --permanent --add-port=3000/tcp
success
[git@localhost gogs]$ sudo firewall-cmd --reload
success
[git@localhost ~]$ /home/git/gogs/gogs web

Centos8 安装 Gogs 代码仓库管理工具Centos8 安装 Gogs 代码仓库管理工具 打开浏览器输入服务器的ip地址,端口是3000。数据库用户和密码,使用刚才创建的。“应用URL”填写gogs服务器的ip地址。然后点击立即安装。

Centos8 安装 Gogs 代码仓库管理工具Centos8 安装 Gogs 代码仓库管理工具 之后,进入登录界面,我们可以创建一个新用户。

Centos8 安装 Gogs 代码仓库管理工具Centos8 安装 Gogs 代码仓库管理工具 进入注册页面,注册用户。

Centos8 安装 Gogs 代码仓库管理工具Centos8 安装 Gogs 代码仓库管理工具 注册完成,登录进去,我们可以点我的仓库,创建第一个仓库。

Centos8 安装 Gogs 代码仓库管理工具Centos8 安装 Gogs 代码仓库管理工具

Centos8 安装 Gogs 代码仓库管理工具Centos8 安装 Gogs 代码仓库管理工具 复制仓库地址,然后再自己的操作系统中下载该仓库

Centos8 安装 Gogs 代码仓库管理工具Centos8 安装 Gogs 代码仓库管理工具 在仓库中创建一个描述文件,并上传到远程仓库中。

[root@localhost ~]# git clone http://192.168.60.137:3000/user01/example01.git
Cloning into 'example01'...
warning: You appear to have cloned an empty repository.
[root@localhost ~]# cd example01/
[root@localhost example01]# echo "This is example01's README" > README.md
[root@localhost example01]# git add .
[root@localhost example01]# git config --global user.name user01
[root@localhost example01]# git config --global user.email user01@example.com
[root@localhost example01]# git commit -m "add a README.md"
[master (root-commit) 9d7df1d] add a README.md
1 file changed, 1 insertion(+)
create mode 100644 README.md
[root@localhost example01]# git push
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 240 bytes | 240.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
Username for 'http://192.168.60.137:3000': user01
Password for 'http://user01@192.168.60.137:3000':
To http://192.168.60.137:3000/user01/example01.git
* [new branch]      master -> master

远程仓库中可以看到上传成功。 Centos8 安装 Gogs 代码仓库管理工具Centos8 安装 Gogs 代码仓库管理工具

img