Dogs是一款极易搭建的自助 Git 服务,具有易安装,跨平台,轻量级的特点。可以根据操作系统平台通过 二进制运行,还可以通过 Docker 或 Vagrant,以及包管理安装,任何 Go 语言 支持的平台都可以运行
环境
Centos8
gogs_0.11.91
创建git用户
[root@localhost ~]<span style="color: #57a64a;font-style: italic;line-height: 26px"># useradd git</span>
[root@localhost ~]<span style="color: #57a64a;font-style: italic;line-height: 26px"># echo '123456'|passwd --stdin git</span>
Changing password <span style="color: #569cd6;line-height: 26px">for</span> user git.
passwd: all authentication tokens updated successfully.
为git用户设置sudo
[root@localhost ~]<span style="color: #57a64a;font-style: italic;line-height: 26px"># visudo</span>
git ALL=(ALL) NOPASSWD: ALL
下载并配置基本环境
[root@localhost ~]<span style="color: #57a64a;font-style: italic;line-height: 26px"># yum -y install tar wget git mariadb mariadb-server</span>
设置mariadb开机启动,并启动mariadb服务
[root@localhost ~]<span style="color: #57a64a;font-style: italic;line-height: 26px"># systemctl enable mariadb --now</span>
创建gogs数据库
创建数据库gogs用户,并授予访问gogs数据库权限:
[git@localhost ~]$ mysql -u root -e <span style="color: #d69d85;line-height: 26px">"create user gogs; grant all privileges on gogs.* to gogs@'%' identified by 'gogs123';"</span>
<span style="color: #57a64a;font-style: italic;line-height: 26px"># 查看用户gogs是否添加,是否授予所有访问权。</span>
[git@localhost ~]$ mysql -u root -e <span style="color: #d69d85;line-height: 26px">"select Host,User,Password from mysql.user; show grants for gogs@'%';"</span>
下载gogs安装包
从gogs的官网 https://gogs.io/docs/installation/install_from_binary 下载对应操作系统的安装包。
[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
打开浏览器输入服务器的ip地址,端口是3000。数据库用户和密码,使用刚才创建的。“应用URL”填写gogs服务器的ip地址。然后点击立即安装。
之后,进入登录界面,我们可以创建一个新用户。
进入注册页面,注册用户。
注册完成,登录进去,我们可以点我的仓库,创建第一个仓库。
复制仓库地址,然后再自己的操作系统中下载该仓库
在仓库中创建一个描述文件,并上传到远程仓库中。
远程仓库中可以看到上传成功。