用gogs搭建属于自己的git网站

简介: 用gogs搭建属于自己的git网站

如果你对docker的操作不太了解, 建议先阅读 从零搭建docker私有仓库

gogs是一款极易搭建的自助 Git 服务, 掌握了它, 我们就可以搭建自己的git服务站点

gogs官网: https://gogs.io/, github中文
地址:https://github.com/gogs/gogs/blob/master/README_ZH.md


aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLWY1YWJlOWQ3OWMzOTczNGQucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png


实验环境:



腾讯云 centos 7


安装docker


# 通过yum源安装docker
yum -y install docker
# 启动docker
systemctl start docker
# 开机自启
sudo systemctl enable docker

aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLTIwMGU1NGE1MmY4OTk5ZmIucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png


下载gogs的docker镜像


docker pull gogs/gogs

aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLTlkYTRmNDBjNDY1ZDYyZWUucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png


创建gogs存储的目录


mkdir -p /var/gogs

aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLTJiYmM1ODIwMTY4M2JiMDgucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png


运行镜像, 产生容器



docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs


在后台运行(2019年8月2日更新)


docker run --name=gogs -d  -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs


配置



通过浏览器访问公网ip地址:10080


aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLWUwM2ZhNTlhNDcyOWRjZTMucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png



按照图中内容填写参数


aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLTcwOWNkNTZjNjFiMTJiZDcucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png


在新搭建的站点上, 创建新仓库


aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLWE4Yjg2ZGQwOGVlNDgxOGIucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png



配置仓库信息


aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLTdkOGQ4YTMxM2FiYzEyZTkucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png



如果配置过程中,你的gogs的docker环境挂掉了,可以使用 docker start gogs 重新开启gogs


通过http方式获取仓库(简单易行)


  • 复制http连接需要的相关参数


aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLThkZTBmMjQxOGI0YzYwMWUucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png


在命令行通过http方式获取新创建的仓库zhaoolee-test-gogs, 并完成一次push操作


aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLWFiYjgwM2IxODA5YmM1MTQucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png


验证提交成功


aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLThiYzhiZmM1YWMzM2QzNjIucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png


测试用ssh方式链接仓库(有点麻烦, 需要添加秘钥, 可以跳过)


用户设置->账户设置->ssh秘钥


aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLTQ4Mjc2NjBiN2UwNjU4N2UucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png


通过rsa算法产生一对秘钥


ssh-keygen -t rsa -C "zhaoolee@gmail.com"

aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLWEzYWNjMzc5NmYyZTNjMWYucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png


将新的秘钥对添加到ssh


ssh-add ~/.ssh/zhaoolee_gmail


在~/.ssh/下新建config, 并在config内指明秘钥zhaoolee-gmail对应的域名或ip地址


# gitlab
Host 111.230.254.173
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/zhaoolee_gmail.pub
# github
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa.pub

aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLWYzZDM0YmMwNzE2ZWNiODgucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png


将公钥zhaoolee_gmail.pub添加到仓库


aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLWJmZDA5NmMxNWMzOGNkYmMucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png


复制ssh连接仓库需要的参数



aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLThkZTBmMjQxOGI0YzYwMWUucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png


通过ssh方式克隆仓库


git clone ssh://git@111.230.254.173:10022/zhaoolee/zhaoolee-test-gogs.git


aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLTAyNWQwNDI0MjAwNTdhZGEucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.pngaHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLTRhNzRkNDY2ZDhjZmYzNTQucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png


aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLTA2MGVlMTllMTAxNGI0MGUucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png


至此git服务搭建完成, 你可以邀请你的小伙伴, 来你的网站注册一个账户, 然后, 你们就可以协同开发一些好玩的项目了~


让队友注册一个新账户为zhaozhao


aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLTE0OTNiYzg5ODI2YzQwOGQucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png

管理员zhaoolee主动搜索添加新队友zhaozhao


aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLTlhNWU0MWFkY2YzMWU1MjYucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png

管理员可以进行权限设置


aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMjAzODQxLWQ5MDFhMjBiMjc2ZTU2ZDgucG5nP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTIwMC9mb3JtYXQvd2VicA.png


小结



初见gogs, 我就被吸引到了, gogs功能强大, 设置简单, 完全开源, 对中文支持也很好, 如果你想建立自己的git站点, 而运维的经验又不怎么丰富, gogs是一个不错的选择~


目录
相关文章
|
5月前
|
关系型数据库 Go 开发工具
|
Shell 开发工具 数据安全/隐私保护
Git之使用GitHub搭建远程仓库
我们需要一个作为服务器的远程仓库!当然搭建一个服务器是需要成本的,为什么不把项目托管到Github上呢?作为开源代码库以及版本控制系统,Github拥有140多万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法,不需要任何成本,为何不使用呢?本节就来学习如何把我们的代码托管到Github上!
231 0
|
应用服务中间件 开发工具 nginx
搭建自用git服务器
搭建自用git服务器
315 0
搭建自用git服务器
|
Linux 开发工具 数据安全/隐私保护
Linux搭建Git服务器
Linux搭建Git服务器
Linux搭建Git服务器
|
网络安全 开发工具 git
多个项目如何往不同的git网站提交代码
多个项目如何往不同的git网站提交代码
多个项目如何往不同的git网站提交代码
|
算法 安全 Shell
使用Gitolite搭建Git服务器
Git 服务的管理工具,主要有如下几种。 Gitosis- 轻量级, 开源项目,使用 SSH 公钥认证,只能做到库级的权限控制。目前项目已经停止开发,不再维护。 Gitolite - 轻量级,开源项目
483 0
使用Gitolite搭建Git服务器
|
Ubuntu 安全 Shell
搭建Git服务器
本文参考于廖雪峰老师的博客Git 教程。依照其博客进行学习和记录,感谢其无私分享,也欢迎各位查看原文。 新用户家(home)目录下.shh/authorized_keys存放管理连接到 Git 远程仓
305 0
搭建Git服务器
|
Java Linux 网络安全
如何搭建一台属于自己的Git服务器?
在日常生活中,有很多开发组织在开发的时候大部分都会将代码提交到自己的Git服务器上,即公司内部的Git代码仓库;那很多小伙伴会问如果自己也想要一台属于自己的Git服务器该怎么办呢?接下来就是解开谜题的时候…
191 0
如何搭建一台属于自己的Git服务器?
|
Shell 网络安全 开发工具
【GitHub】从0开始搭建GitHub环境系列之一——Git基础环境配置(用户名、邮件、密钥等)
【GitHub】从0开始搭建GitHub环境系列之一——Git基础环境配置(用户名、邮件、密钥等)
193 0
|
前端开发 开发工具 git
Typera+Node.js+Git搭建托管于远端的写作平台(GitBook)(下)
Typera+Node.js+Git搭建托管于远端的写作平台(GitBook)(下)
154 0
Typera+Node.js+Git搭建托管于远端的写作平台(GitBook)(下)