從零開始搭建gitea程式碼管理平台
Gitea,一款極易搭建的Git自助服務。如其名,Git with a cup of tea。跨平台的開源服務,支援Linux、Windows、macOS和ARM平台。配置要求低,甚至可以運行在樹莓派上。
搭建之前,首先提示兩個坑:
1、gitea不支援Centos6和更早的版本內核。
2、gitea不能在root下運行,必須是普通用戶許可權。
一、選擇安裝環境
我這邊是物理主機伺服器,安裝的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
二、下載gitea
這個很簡單,直接去官網下載二進位或者去github上下載。
[xxx@localhost gitea]# wget -O gitea //dl.gitea.io/gitea/1.16.8/gitea-1.16.8-linux-amd64
[xxx@localhost gitea]# chmod +x gitea
這裡我用二進位方式運行的。也可以用docker方式運行。
三、安裝git
安裝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相關目錄
創建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
五、測試gitea服務
[xxx@localhost gitea]$ ./gitea web
從web打開 //伺服器IP:3000/ ,可進行配置更改和安裝。
六、安裝
下載服務配置文件
sudo wget //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: //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): //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]
點擊開始安裝,很快就搞定了。
七、可以愉快的玩耍了
由於更換了埠號,現在用瀏覽器打開新的地址
//server_ip:new_port/
接下來,創建組織,創建團隊,註冊用戶帳號。玩起來。