源碼管理服務器 gitea 的安裝

1、 git 服務器軟件的選型

我想在 docker 上部署一套個人實用的靶橱、安裝維護簡單寥袭、實用高效的 git 版本管理服務器系統(tǒng),比較流行且常用的 git 服務器很多关霸,比如說最常用的有: gitlab 传黄、 gitolite 、 gitea 等队寇。其中:
gitlab 比較重一些膘掰,適合企業(yè)客戶使用,但對于個人用戶英上、尤其是配置不高的云主機客戶來說炭序,主要問題還是 gitlab 鏡像大、占用系統(tǒng)資源多苍日,低配服務器容易卡頓等惭聂,不是最好的選擇;
gitolite 被認為是輕量級 git 版本管理工具相恃,但在 docker 市場里進行搜索辜纲,star 數(shù)很少,并且看朋友配置過 gitolite 拦耐,雖然已經(jīng)比較簡單了耕腾,但還是略顯啰嗦;
gitea 也是輕量級的 git 版本管理工具杀糯,在 docker 市場里看到有 172 顆星扫俺,算還不錯吧,鏡像也比較小固翰,看了 gitea 的說明(有中文網(wǎng)站)狼纬,覺得對個人用戶來說羹呵,應該是比較簡單、實用的疗琉。經(jīng)過簡單測試冈欢,發(fā)現(xiàn)確實和官網(wǎng)所說的一樣:Gitea - Git with a cup of tea,安裝配置都很簡單(喝一杯茶的功夫)盈简、效率也是沒有問題的(樹莓派上都可以安裝運行)凑耻。

2、關于gitea

Gitea 是一個開源社區(qū)驅動的 Gogs 克隆, 是一個輕量級的代碼托管解決方案柠贤,后端采用 Go 編寫香浩,采用 MIT 許可證。

開源化

易安裝

跨平臺

輕量級

中文官網(wǎng)地址:https://gitea.io/zh-cn/
中文文檔地址:https://docs.gitea.io/zh-cn/
docker 安裝文檔:https://docs.gitea.io/zh-cn/install-with-docker/

3种吸、最簡化的安裝模式

3.1弃衍、利用 docker-compose.yml 文件進行安裝

編制yml文件,該文件是從官網(wǎng)上扒下來后坚俗,做了一點簡單修改,內容如下:

version: "2"

networks:
    gitea:
        external: false

services:
    server:
        container_name: gitea_server
        image: gitea/gitea:latest
        environment:
            - USER_UID=1000
            - USER_GID=1000
        restart: always
        networks:
            - gitea
        volumes:
            - /dockers/gitea/data:/data
        ports:
            - "13000:3000"
            - "10022:22"
        depends_on:
            - db

    db:
        container_name: gitea_db
        image: mysql:5.7
        restart: always
        environment:
            - MYSQL_ROOT_PASSWORD=gitea
            - MYSQL_USER=gitea
            - MYSQL_PASSWORD=gitea
            - MYSQL_DATABASE=gitea
        networks:
            - gitea
        volumes:
            - /dockers/gitea/mysql:/var/lib/mysql

關于端口說明:
1)http端口
既然是最簡化的安裝岸裙,為了避免和其他站點沖突猖败,選用一個空閑的端口提供git服務器的站點服務,此處選用端口:13000降允;
2)ssh端口
由于屬主機的22端口一般由客戶端用來進行遠程管理恩闻,所以此處ssh端口選:10022
在shell里運行命令,啟動安裝:

# docker-compose up -d

在shell里運行命令:

# docker ps

可以看到新安裝的兩個容器啟動正常剧董。
為了便于顯示及截圖幢尚,給 docker ps 命令增加參數(shù),只顯示CONTAINER ID翅楼、NAMES和PORTS

# docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}"
容器信息

其中:CONTAINER ID 和 NAMES 都可以被用來進行容器調用尉剩,后面在服務器的web配置里會用到

3.2、利用網(wǎng)站進行git服務器安裝和參數(shù)配置

3.2.1毅臊、站點訪問

在瀏覽器里輸入gitea服務器的訪問地址:http://xxx.xxx.xxx.xxx:13000理茎,其中服務器的ip或域名根據(jù)主機實際情況填寫正確,如果出現(xiàn)訪問錯誤管嬉,可能是卸載引起docker服務器狀態(tài)出現(xiàn)問題皂林,運行下面命令,重啟docker服務器蚯撩,一般可以解決問題:

# systemctl restart docker

再重新訪問網(wǎng)站础倍,出現(xiàn)下面的界面:


docker安裝后,首次運行圖

說明docker部署成功胎挎,下面需要進行站點配置

3.2.2沟启、站點配置

點擊首頁右上角的“注冊”或“登錄”按鈕:

“注冊”和“登錄”按鈕

由于是首次運行忆家,會彈出安裝界面
1)數(shù)據(jù)庫設置:
數(shù)據(jù)庫設置

第 1 步:選擇 MySQL 數(shù)據(jù)庫
第 2 步:填入 MySQL 數(shù)據(jù)庫容器的名稱(container_name)
第 3 步:填入數(shù)據(jù)庫用戶密碼(此處設置密碼為:gitea,您可以根據(jù)自己需要設置)
2)一般設置:
一般設置

第 4 步:填入宿主機的域名或IP地址
第 5 步:填入Gitea網(wǎng)站的訪問地址和端口
3)點擊“立即安裝”按鈕
出現(xiàn)下面的登錄界面
登錄界面

4)注冊管理員
由于安裝時沒有設置用戶名美浦,所以目前還沒有用戶弦赖,點擊馬上注冊,第一個注冊的用戶默認為管理員浦辨,此處選擇管理員賬戶為:root(admin被系統(tǒng)保留蹬竖,無法使用)
管理員注冊

3.2.3、創(chuàng)建倉庫

image.png

3.3流酬、git bash 測試

3.3.1币厕、http 模式測試

1)克隆

$ cd ~
$ mkdir git
$ cd git
$ git clone http://192.168.150.128:13000/root/first.git

2)向遠程倉庫提交文件

$ cd ~/git/first
$ touch test1.txt
$ git add test1.txt
$ git commit -m 'test1'
$ git remote remove origin
$ git remote add origin  http://192.168.150.128:13000/root/first.git
$ git remote -v
origin  http://192.168.150.128:13000/root/first.git (fetch)
origin  http://192.168.150.128:13000/root/first.git (push)
$ git push origin master

當執(zhí)行 git push 時,有時可能會出現(xiàn)錯誤芽腾,如下:

$ git push origin master
remote: invalid credentials
fatal: Authentication failed for 'http://192.168.150.128:13000/root/first.git/'

此時旦装,順序執(zhí)行下面兩個命令后,一般會解決問題:

$ git credential-manager uninstall
$ git credential-manager install

此時再執(zhí)行 git push 命令摊滔,輸入用戶名:root阴绢;密碼:123456,就可以提交成功艰躺!
如果通過了上面兩項測試--“克隆” 和 “提交”呻袭,基本可以說明 http 模式測試成功!

3.3.2腺兴、 ssh 模式測試

1)生成 ssh key
在windows下查看[c盤->用戶->自己的用戶名->.ssh]下是否有id_rsa左电、id_rsa.pub文件,如果文件存在的話页响,就可以直接進入下一步篓足,如果沒有則需要手動生成。
打開git bash闰蚕,在控制臺中輸入以下命令栈拖。

$ ssh-keygen

一路回車,即使用默認名稱陪腌、不輸入密碼辱魁,生成:id_rsa、id_rsa.pub 兩個文件
2)使用 ssh key 文件
在 gitea 網(wǎng)站的倉庫管理界面诗鸭,如下圖:

倉庫管理界面

點擊“倉庫設置”染簇,進入下面界面:
倉庫設置

點擊“管理部署密鑰”
管理部署密鑰

點擊“添加部署密鑰”
把生成好的公鑰 id_rsa.pub 的內容復制到“密鑰文本”輸入框中:
添加公鑰

點擊底部“添加部署密鑰”按鈕完成添加。
3)克隆
在 git bash 里輸入:

$ git clone ssh://git@192.168.150.128:10022/root/first.git

如果出現(xiàn)包含:Offending ECDSA key in /c/Users/MyPC.000/.ssh/known_hosts:2 的信息强岸,刪除 ~/.ssh/known_hosts 文件锻弓,重新執(zhí)行

$ git clone ssh://git@192.168.150.128:10022/root/first.git

即可!
查看 origin 的信息如下:

$ cd ~/git/first
$ git remote -v
origin  ssh://git@192.168.150.128:10022/root/first.git (fetch)
origin  ssh://git@192.168.150.128:10022/root/first.git (push)

4)向遠程倉庫提交文件

$ touch test2.txt
$ git add .
$ git commit -m 'test2'
$ git push origin master

查看遠程倉庫


提交檢查

完成提交蝌箍!

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末青灼,一起剝皮案震驚了整個濱河市暴心,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌杂拨,老刑警劉巖专普,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異弹沽,居然都是意外死亡檀夹,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門策橘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來炸渡,“玉大人,你說我怎么就攤上這事丽已“龆拢” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵沛婴,是天一觀的道長吼畏。 經(jīng)常有香客問我,道長嘁灯,這世上最難降的妖魔是什么宫仗? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮旁仿,結果婚禮上,老公的妹妹穿的比我還像新娘孽糖。我一直安慰自己枯冈,他們只是感情好,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布办悟。 她就那樣靜靜地躺著尘奏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪病蛉。 梳的紋絲不亂的頭發(fā)上炫加,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機與錄音铺然,去河邊找鬼俗孝。 笑死,一個胖子當著我的面吹牛魄健,可吹牛的內容都是我干的赋铝。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼沽瘦,長吁一口氣:“原來是場噩夢啊……” “哼革骨!你這毒婦竟也來了农尖?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤良哲,失蹤者是張志新(化名)和其女友劉穎盛卡,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體筑凫,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡滑沧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了漏健。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嚎货。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蔫浆,靈堂內的尸體忽然破棺而出殖属,到底是詐尸還是另有隱情,我是刑警寧澤瓦盛,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布洗显,位于F島的核電站,受9級特大地震影響原环,放射性物質發(fā)生泄漏挠唆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一嘱吗、第九天 我趴在偏房一處隱蔽的房頂上張望玄组。 院中可真熱鬧,春花似錦谒麦、人聲如沸俄讹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽患膛。三九已至,卻和暖如春耻蛇,著一層夾襖步出監(jiān)牢的瞬間踪蹬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工臣咖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留跃捣,地道東北人。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓亡哄,卻偏偏與公主長得像枝缔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內容