linux自建Git服務器(gogs)

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

什麼是Gogs

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

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

這裏須要安裝的依賴有git,MySQLweb

1.安裝gitsql

yum -y install git

2.安裝MySQL數據庫

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

4.進入MySQLcentos

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來完成線上環境的一鍵升級,回退版本。避免每次升級都要配合開發。

相關文章
相關標籤/搜索