欢迎您的光临,本博所发布之文章皆为作者亲测通过,如有错误,欢迎通过各种方式指正。

文摘  使用Gogs 搭建个人git仓库

开发工具 本站 1924 0评论

一、Gogs简介


Gogs(Go Git Service) 是一个由 Go语言编写的自助 Git托管服务。这是个和gitlab一样的东西,提供git的存储服务,说白了就是git服务器,就好像github提供git服务一样。

任何 Go 语言 支持的平台都可以运行 Gogs,包括 Windows、Mac、Linux 以及 ARM。这又一次体验了go的跨平台,说真的无依赖的,包不大的跨平台体验好棒。

官网:https://gogs.io/ 

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

111.jpg

安装完成

222.jpg

系统服务列表:

333.jpg


说明:

如果您将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地址、端口号、管理员账号

444.jpg

设置完成后点击完成,看到“恭喜你,安装完成”。


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

555.jpg


2)下载gogs的docker镜像

docker pull gogs/gogs

666.webp.jpg


3)创建gogs存储的目录

mkdir -p /var/gogs

777.webp.jpg


运行镜像, 产生容器

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

888.webp.jpg


4)配置

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

999.webp.jpg

按照图中内容填写参数

100.webp.jpg


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

101.webp.jpg

配置仓库信息

102.webp.jpg


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


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

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

103.webp.jpg


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

104.webp.jpg


验证提交成功

105.webp.jpg


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

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

106.webp.jpg


通过rsa算法产生一对秘钥

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

107.webp.jpg


将新的秘钥对添加到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

108.webp.jpg


7)将公钥zhaoolee_gmail.pub添加到仓库

109.webp.jpg


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

110.webp.jpg


通过ssh方式克隆仓库

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


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


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

1114.webp.jpg


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

1115.webp.jpg


管理员可以进行权限设置

1116.webp.jpg


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

赞 (6) or 分享 ()
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽