項目開發人員要求用git作版本控制,以前使用的svn+ssh,發現gogs相對簡單好用,因此學習搭建Gogs。mysql
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/
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來完成線上環境的一鍵升級,回退版本。避免每次升級都要配合開發。