Gitea,一款極易搭建的Git自助服務。如其名,Git with a cup of tea。跨平臺的開源服務,支援Linux、Windows、macOS和ARM平臺。設定要求低,甚至可以執行在樹莓派上。
搭建之前,首先提示兩個坑:
1、gitea不支援Centos6和更早的版本核心。
2、gitea不能在root下執行,必須是普通使用者許可權。
不確定是否使用gitea服務的,可以看一下官網功能對比。
https://docs.gitea.io/zh-cn/comparison/
我這邊是物理主機伺服器,安裝的Centos7。
[xxx@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[xxx@localhost ~]# uname -sr
Linux 3.10.0-1160.62.1.el7.x86_64
這個很簡單,直接去官網下載二進位制或者去github上下載。
[xxx@localhost gitea]# wget -O gitea https://dl.gitea.io/gitea/1.16.8/gitea-1.16.8-linux-amd64
[xxx@localhost gitea]# chmod +x gitea
這裡我用二進位制方式執行的。也可以用docker方式執行。
安裝git,並設定環境變數,否則失敗。
[xxx@localhost data]# yum install git
建立一個git使用者,專門用來管理git相關服務。
sudo useradd \
--system \
--shell /bin/bash \
--comment 'Git Version Control' \
--create-home \
--home /home/git \
git
[xxx@localhost data]# passwd git
Changing password for user git.
New password:
建立gitea工作目錄:
[xxx@localhost data]# pwd
/data
[xxx@localhost data]# mkdir gitea
[xxx@localhost data]# chown -R git:git gitea/
[xxx@localhost data]# ls -lth
total 0
drwxr-xr-x 2 git git 6 Jun 1 16:02 gitea
建立gitea 可執行檔案存放目錄
[xxx@localhost opt]# chown -R git:git gitea/
[xxx@localhost opt]# ls -lth
total 0
drwxr-xr-x 2 git git 19 May 31 16:34 gitea
[xxx@localhost gitea]$ ./gitea web
從web開啟 http://伺服器IP:3000/ ,可進行設定更改和安裝。
下載服務組態檔
sudo wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service -P /etc/systemd/system/
更改gitea組態檔
[xxx@localhost system]# vim /etc/systemd/system/gitea.service
# 更改路徑如下:
WorkingDirectory=/data/gitea/
# If using Unix socket: tells systemd to create the /run/gitea folder, which will contain the gitea.sock file
# (manually creating /run/gitea doesn't work, because it would not persist across reboots)
#RuntimeDirectory=gitea
ExecStart=/opt/gitea/gitea web --config /data/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/data/gitea
啟動gitea服務
[xxx@localhost opt]# systemctl daemon-reload
[xxx@localhost opt]# systemctl enable --now gitea
[xxx@localhost opt]#
[xxx@localhost opt]# systemctl status gitea
● gitea.service - Gitea (Git with a cup of tea)
Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2022-06-01 17:19:01 CST; 3s ago
Main PID: 10567 (gitea)
Tasks: 29
Memory: 153.5M
CGroup: /system.slice/gitea.service
└─10567 /opt/gitea/gitea web --config /data/gitea/app.ini
Jun 01 17:19:01 localhost.localdomain gitea[10567]: 2022/06/01 17:19:01 ...s/install/setting.go:21:PreloadSettings() [I] AppPa.../giteaJun 01 17:19:01 localhost.localdomain gitea[10567]: 2022/06/01 17:19:01 ...s/install/setting.go:22:PreloadSettings() [I] AppWo.../giteaJun 01 17:19:01 localhost.localdomain gitea[10567]: 2022/06/01 17:19:01 ...s/install/setting.go:23:PreloadSettings() [I] Custo...customJun 01 17:19:01 localhost.localdomain gitea[10567]: 2022/06/01 17:19:01 ...s/install/setting.go:24:PreloadSettings() [I] Log p...ea/logJun 01 17:19:01 localhost.localdomain gitea[10567]: 2022/06/01 17:19:01 ...s/install/setting.go:25:PreloadSettings() [I] Confi...pp.iniJun 01 17:19:01 localhost.localdomain gitea[10567]: 2022/06/01 17:19:01 ...s/install/setting.go:26:PreloadSettings() [I] Prepa...l pageJun 01 17:19:01 localhost.localdomain gitea[10567]: 2022/06/01 17:19:01 ...s/install/setting.go:29:PreloadSettings() [I] SQLit...portedJun 01 17:19:02 localhost.localdomain gitea[10567]: 2022/06/01 17:19:02 cmd/web.go:208:listen() [I] Listen: http://0.0.0.0:3000
Jun 01 17:19:02 localhost.localdomain gitea[10567]: 2022/06/01 17:19:02 cmd/web.go:212:listen() [I] AppURL(ROOT_URL): http://l...:3000/Jun 01 17:19:02 localhost.localdomain gitea[10567]: 2022/06/01 17:19:02 ...s/graceful/server.go:61:NewServer() [I] Starting ne... 10567Hint: Some lines were ellipsized, use -l to show in full.
其他的更改:
倉庫根目錄 /data/gitea/gitea-repositories
LFS根目錄 /data/gitea/lfs
然後新增一個新增管理員賬號:
使用者名稱 youname
密碼 youcode
Email: [email protected]
點選開始安裝,很快就搞定了。
由於更換了埠號,現在用瀏覽器開啟新的地址
http://server_ip:new_port/
接下來,建立組織,建立團隊,註冊使用者賬號。玩起來。