一、Gogs简介
Gogs(Go Git Service) 是一个由 Go语言编写的自助 Git托管服务。这是个和gitlab一样的东西,提供git的存储服务,说白了就是git服务器,就好像github提供git服务一样。
任何 Go 语言 支持的平台都可以运行 Gogs,包括 Windows、Mac、Linux 以及 ARM。这又一次体验了go的跨平台,说真的无依赖的,包不大的跨平台体验好棒。
Github:https://github.com/gogits/gogs
更多介绍请查看(https://gogs.io/docs/intro )。
二、安装环境要求
在安装Gogs前,我也尝试了Gitlab,但Gitlab直接把我的1g小内存给吃光了,所以便换了Gogs,后来发现只吃了100m的内存,效果很不错。
1.数据库(选择以下一项):
· MySQL:版本 >= 5.5.3
· PostgreSQL
· MSSQL
· TiDB(实验性支持,使用 MySQL 协议连接)
或者 什么都不安装 直接使用 SQLite3
注意事项:您可以使用 etc/mysql.sql 来自动创建名为 gogs 的数据库。如果您选择手动创建,请务必将编码设置为 utf8mb4。
2.git(bash):
· 服务端和客户端均需版本 >= 1.7.1
· Windows 系统建议使用最新版
3.SSH 服务器:
· 如果您只使用 HTTP/HTTPS 或者内置 SSH 服务器的话请忽略此项
· 推荐 Windows 系统使用 Cygwin OpenSSH 或 Copssh
4.安装其他要求
Mac OS X
假设您已经安装 Homebrew:
$ brew update
$ brew install git
Debian/Ubuntu
$ sudo apt-get update
$ sudo apt-get install git
Windows
下载并安装 Git(http://git-scm.com/downloads )
三、安装说明
1.windows安装
1)准备
下载:git for windows(https://gitforwindows.org/ )
下载:NSSM(一款开源的c++编写的windows服务管理软件,github地址:https://github.com/kirillkovalenko/nssm ),下载地址:http://www.nssm.cc/download
下载:gogs(https://github.com/gogits/gogs/releases )
2)安装git客户端
git for windows(https://gitforwindows.org/ )安装直接下一步下一步点完即可,注意安装成功后将git.exe的路径加到环境变量中。
3)安装NSSM:
NSSM是一款绿色软件,解压即可不用安装
解压安装包至D:\Git\NSSM
设置系统变量:
"控制面板" --> "系统和安全"--> "系统"--> "高级系统设置"--> "环境变量"--> "系统变量"-->"编辑系统变量"
在"变量值"项目添加NSSM文件路径"D:\Git\NSSM\win64"(记得在路径前添加半角";")
4)安装Gogs:
安装包解压至:D:\Git\Gogs
新建代码仓库目录:D:\Git\Gogs\data\repositories
编辑系统安装文件:D:\Git\Gogs\scripts\windows\install-as-service.bat,修改如下项目并保存:SET gogspath=D:\Git\Gogs (按实际安装目录修改)
以管理权限运行安装脚本install-as-service.bat:
安装完成
系统服务列表:
说明:
如果您将nssm.exe的路径已经添加到环境变量中,只需要双击”\gogs\scripts\windows\install-as-service.bat”即可完成安装。
否则,请在命令行中运行 nssm.exe install, 在弹出的对话框中填写服务名,服务运行路径,启动方式,描述等,点击install service即可完成安装。
测试:
进入命令行模式:cmd——cd gogs——gogs web 即可开启以控制台的方式运行git服务, 这时在浏览器中打开http://localhost:3000,如果看到安装页面说明gogs的安装环境ok,下面开始安装和配置gogs。。
(在这里特别说明下,启动后报出找不到“.\gogs\custom\conf\app.ini”,其他的教程中会要大家去新建,这个是没有必要的,因为大家启动$ gogs web后,再浏览器中输入http://localhost:3000,进入Gogs配置页面,配置完成后,会自动生成custom目录和log目录,So 大家不必要去自己新建文件夹。)
5)配置Gogs
在浏览器中输入:http://127.0.0.1:3000/
下面这些项目要特别设置一下:数据库、仓库根目录、URL地址、端口号、管理员账号
设置完成后点击完成,看到“恭喜你,安装完成”。
6)注册管理员用户
Gogs默认将系统第一个注册的用户认证为管理用户, 其他用户可以通过注册或管理员添加。
注册Windows服务:https://gogs.io/docs/installation/run_as_windows_service
配置与运行:https://gogs.io/docs/installation/configuration_and_run
2.Ubuntu1404安装
1)安装nginx
sudo apt-get install nginx
2)安装git
sudo apt-get install git
3)安装MySQL
sudo apt-get install mysql-server
进入数据库
mysql -u root -p
创建gogs数据库
SET GLOBAL storage_engine = 'InnoDB';
CREATE DATABASE gogs CHARACTER SET utf8 COLLATE utf8_bin;
GRANT ALL PRIVILEGES ON gogs.* TO ‘root’@‘localhost’ IDENTIFIED BY 'YourPassword';
FLUSH PRIVILEGES;
QUIT;
创建用户
sudo adduser git
...
su git
cd ~
4)下载最新版gogs
wget https://dl.gogs.io/0.11.4/linux_amd64.zip
unzip ./linux_amd64.zip
(最新版地址:https://gogs.io/docs/installation/install_from_binary )
5)运行gogs
./gogs web
然后打开浏览器,http://服务器IP:3000/,默认就进入安装配置界面,进行简单的配置。
6)配置和运行Gogs
后台运行
如果要在后台以service模式运行,先将/home/git/gogs/scripts/init/debian/gogs文件拷贝到/etc/init.d/目录下,切换回原来的用户Ctrl+d,并增加运行权限sudo chmod +x /etc/init.d/gogs,并将文件做对应修改如下:
vim /home/git/gogs/scripts/init/debian/gogs
PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="Go Git Service" NAME=gogs SERVICEVERBOSE=yes PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME WORKINGDIR=/home/git/gogs #这个根据自己的目录修改 DAEMON=$WORKINGDIR/$NAME DAEMON_ARGS="web" USER=git #如果运行gogs不是用的这个用户,修改对应用户
切会root账户然后复制到/etc/init.d/
sudo cp /home/git/gogs/scripts/init/debian/gogs /etc/init.d/
增加执行权限
sudo chmod +x /etc/init.d/gogs
复制service
cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/
启动Gogs
sudo service gogs start
(其他操作:/etc/init.d/gogs start|restart|stop|status)
在自己浏览器上配置Gogs, localhost替换成自己的ip地址
http://localhost:3000/install
提示:
有关Gogs的配置文件在/home/git/gogs/custom/conf/app.ini里面,相关配置在Gogs文档中有。
自定义配置
第一次打开应用可以进行web界面的配置,之后的修改要在/home/git/gogs/custom/conf/app.ini文件中进行修改,可以参考这里。我这里主要修改了
APP_NAME = 云铜代码管理平台-Git-Gogs RUN_USER = git RUN_MODE = prod [database] DB_TYPE = sqlite3 HOST = 127.0.0.1:3306 NAME = gogs USER = root PASSWD = SSL_MODE = disable PATH = data/gogs.db [repository] ROOT = /home/git/gogs-repositories [server] #修改了域名,说是生成git默认使用的ssh协议地址用的 DOMAIN = git.yncic.com HTTP_PORT = 3000 #修改了应用目录,这个是生成git库url连接用的 ROOT_URL = http://git.yncic.com/ DISABLE_SSH = false SSH_PORT = 22 OFFLINE_MODE = false [mailer] ENABLED = false [service] REGISTER_EMAIL_CONFIRM = false ENABLE_NOTIFY_MAIL = false DISABLE_REGISTRATION = false ENABLE_CAPTCHA = true REQUIRE_SIGNIN_VIEW = false #激活了AVATAR头像的本地缓存,AVATAR头像默认被墙 ENABLE_CACHE_AVATAR = true [picture] #修改了GRAVATAR从多说缓存取照片 GRAVATAR_SOURCE = duoshuo DISABLE_GRAVATAR = false [session] PROVIDER = file [log] MODE = file LEVEL = Info [security] INSTALL_LOCK = true SECRET_KEY = D6Lo2U0eDD4w2PL
nginx 反代理
现在访问Gogs都需要在域名后面加入3000的端口号,可以设置nginx反代理,通过二级域名跳转到指定端口
创建相应的配置文件
sudo vim /etc/nginx/sites-enabled/gogs.conf
添加
server { listen 80; server_name code.limchihi.cn; location / { proxy_pass http://127.0.0.1:3000/; } }
Done
3.腾讯云 centos 7安装
1)安装docker
# 通过yum源安装docker
yum -y install docker
# 启动docker
systemctl start docker
# 开机自启
sudo systemctl enable docker
2)下载gogs的docker镜像
docker pull gogs/gogs
3)创建gogs存储的目录
mkdir -p /var/gogs
运行镜像, 产生容器
docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs
4)配置
通过浏览器访问公网ip地址:10080
按照图中内容填写参数
在新搭建的站点上, 创建新仓库
配置仓库信息
如果配置过程中,你的gogs的docker环境挂掉了,可以使用docker start gogs 重新开启gogs
5)通过http方式获取仓库(简单易行)
复制http连接需要的相关参数
在命令行通过http方式获取新创建的仓库zhaoolee-test-gogs, 并完成一次push操作
验证提交成功
6)测试用ssh方式链接仓库(有点麻烦, 需要添加秘钥, 可以跳过)
用户设置->账户设置->ssh秘钥
通过rsa算法产生一对秘钥
ssh-keygen -t rsa -C "zhaoolee@gmail.com"
将新的秘钥对添加到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
7)将公钥zhaoolee_gmail.pub添加到仓库
8)复制ssh连接仓库需要的参数
通过ssh方式克隆仓库
git clone ssh://git@111.230.254.173:10022/zhaoolee/zhaoolee-test-gogs.git
至此git服务搭建完成, 你可以邀请你的小伙伴, 来你的网站注册一个账户, 然后, 你们就可以协同开发一些好玩的项目了~
让队友注册一个新账户为zhaozhao
管理员zhaoolee主动搜索添加新队友zhaozhao
管理员可以进行权限设置
4.其他安装方式
二进制安装:https://gogs.io/docs/installation/install_from_binary
源码安装:https://gogs.io/docs/installation/install_from_source
参考网址:
https://blog.csdn.net/hj7jay/article/details/83893185
https://blog.csdn.net/TianKongDeTangGuo/article/details/79736623
http://www.cnblogs.com/ddr888/archive/2016/01/14/5131028.html
https://www.jianshu.com/p/d946314bce2f
https://www.jianshu.com/p/86c385682ac8
转载请注明: ITTXX.CN--分享互联网 » 使用Gogs 搭建个人git仓库
最后更新:2018-12-18 15:22:45