linux自建Git服務器(gogs)

項目開發人員要求用git做版本控制,之前使用的svn+ssh,發現gogs相對簡單好用,所以學習搭建Gogs。

什麼是Gogs

gogs
Gogs 是一款極易搭建的自助 Git 服務。
Gogs 的目標是打造一個最簡單、最快速和最輕鬆的方式搭建自助 Git 服務。使用 Go 語言開發使得 Gogs 能夠通過獨立的二進制分發,並且支持 Go 語言支持的 所有平臺,包括 Linux、Mac OS X、Windows 以及 ARM 平臺。
服務器環境

IDC機房dell服務器,系統爲centos6.8
安裝Gogs所需的其他環境

這裏需要安裝的依賴有git,MySQL

1.安裝git

yum -y install git

2.安裝MySQL

使用lnmp包安裝數據庫或手動安裝(mysql5.7二進制安裝教程

4.進入MySQL

mysql -u root -p

這裏如果已經安裝過MySQL,用之前的密碼登錄就好。

5.創建gogs數據庫

//登錄 MySQL 創建一個新用戶 gogs,並將數據庫 gogs的所有權限都賦予該用戶。這裏gogs@1234是密碼

SET GLOBAL storage_engine = 'InnoDB';CREATE DATABASE gogs CHARACTER SET utf8 COLLATE utf8_bin;GRANT ALL PRIVILEGES ON gogs.* TO ‘gogs’@‘localhost’ IDENTIFIED BY 'gogs@1234'; FLUSH PRIVILEGES;exit;

爲Gogs創建單獨的用戶

sudo adduser git

下載安裝Gogs

首先安裝解壓的工具

su git //這裏是切換git用戶
cd ~ //返回根目錄
wget   //下載安裝包 
tar -zxvf gogs_0.11.86_linux_amd64.tar.gz  //解壓安裝包

1.修改Gogs service配置文件

vim /home/git/gogs/scripts/init/centos/gogs

NAME=gogs
GOGS_HOME=/home/git/gogs  ##根據自己的路徑配置
GOGS_PATH=${GOGS_HOME}/$NAME
GOGS_USER=git  ##根據自己的賬戶配置
SERVICENAME="Gogs"
LOCKFILE=/var/lock/subsys/gogs
LOGPATH=${GOGS_HOME}/log
LOGFILE=${LOGPATH}/gogs.log
RETVAL=0

//說明:
//1.如果是創建的git用戶 則目錄修改爲/home/git/gogs.對應的USER修改爲git

2.切換回root用戶

su root

3.複製到/etc/init.d/

cp /home/git/gogs/scripts/init/centos/gogs /etc/init.d/

4.賦予權限

chmod +x /etc/init.d/gogs

5.複製service(centos 7系統可以使用這種方式)

cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/

手動啓動Gogs

cd /home/git/gogs/./gogs web

這個時候就是見證奇蹟的時刻了
打開瀏覽器配置Gogs
http://ip:3000/install
這裏ip就是服務器的ip地址
首次配置結束,訪問 http://ip:3000 就能看到Gogs了。
首次配置後,會產生配置文件,在 /home/git/gogs/coustom/conf/app.ini
需要修改配置在裏面可以修改(官網配置文件介紹)

vi /home/git/gogs/custom/conf/app.ini

APP_NAME = 公司名稱或項目名稱
RUN_USER = git
RUN_MODE = prod

[database]
DB_TYPE = mysql
HOST = 127.0.0.1:3306
NAME = gogs   ##數據庫名稱
USER = gogs  ##數據庫用戶
PASSWD = gogs@1234   ##數據庫密碼
SSL_MODE = disable
PATH = data/gogs.db

[repository]
ROOT = /data/gogs-repositories  ##配置git庫存儲位置
FORCE_PRIVATE = true
MAX_CREATION_LIMIT = 1

[server]
DOMAIN = x.x.x.x  ##域名或服務器IP
HTTP_PORT = 55633  ##服務監聽端口
ROOT_URL = http://x.x.x.x:55633
DISABLE_SSH = false
SSH_PORT = 52345  ##ssh端口
START_SSH_SERVER = true  ##是否開始ssh服務
OFFLINE_MODE = true

[mailer]
ENABLED = true
HOST = 郵箱服務器地址
FROM = 郵箱賬號
USER = 郵箱賬號
PASSWD = 郵箱密碼

[service]
REGISTER_EMAIL_CONFIRM = true
ENABLE_NOTIFY_MAIL = true  
#顯示註冊按鈕
#SHOW_REGISTRATION_BUTTON = true 
#關閉禁止註冊
#DISABLE_REGISTRATION = false
#開啓禁止註冊
DISABLE_REGISTRATION = true
ENABLE_CAPTCHA = false
#登錄纔可以隨意瀏覽
REQUIRE_SIGNIN_VIEW = true

[picture]
DISABLE_GRAVATAR = false
ENABLE_FEDERATED_AVATAR = false

[session]
PROVIDER = file

[log]
MODE = console, file
LEVEL = Info
ROOT_PATH = /home/git/gogs/log

[admin]
DISABLE_REGULAR_ORG_CREATION = true

[security]
INSTALL_LOCK = true
SECRET_KEY = Qsy28JI7fZTyO8N

[repository.upload]
ENABLED = true
TEMP_PATH = /home/git/gogs/files
MAX_FILES = 10
FILE_MAX_SIZE= 50


安裝一切順利,打開瀏覽器輸入 ip:3000/install 打不開

原因:
1.可能3000端口被佔用,gogs未啓動,解決方法查看端口,看看能不能殺掉進程,方法自行百度, gogs安裝默認3000端口,安裝完成後可以在配置文件內更改,這裏我的端口改爲55633了。
2.服務器防火牆,解決方法:關閉防火牆。

搭建完成gogs後,即私有git庫,可以考慮搭建jenkins來完成線上環境的一鍵升級,回退版本。避免每次升級都要配合開發。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章