知識儲備:
- 用過MySQL等
- 了解Linux最基本的操作
- git常用操作
- 關於ssh
本文參考:linux上安裝gogs搭建個人倉庫
下載
https://github.com/gogs/gogs/releases
准備環境1
提前准備好MySQL、Nginx
==輸入密碼等信息 # adduser git ==如果需要為git添加sudo權限—>添加到sudo組【當然建議不要】 # usermod -a -G sudo git 【建議不要】 ==切換用戶git su git cd ~ mkdir .ssh chmod 0755 .ssh ==提前准備好nginx mysql 【nginx用於反向代理之類的,mysql儲存數據庫】 ==再切換回root用戶【golang-go是go運行環境】 # apt-get install golang-go ==測試 #go env
准備環境2
解壓
tar zxf /home/用戶名/Downloads/gogs-0-11-86-linux_amd64.tar.gz -C /home/git/
初始化Gogs數據庫
(/home/git/gogs/scripts/mysql.sql 用於gogs的數據庫初始化,默認使用MySQL默認引擎InnoDB)
su git cd ~/gogs mysql -uroot -p < scripts/mysql.sql
創建一個MySQL用戶’gogs‘,並將數據庫 gogs 的所有權限都賦予該用戶
mysql -u root -p
grant all privileges on gogs.* to 'gogs'@'localhost' identified by '密碼';
flush privileges; exit;
以上內容借鑒自:
安裝成功后測試
啟動
su git ~/gogs/gogs web
作為服務運行
# copy /home/git/gogs/scripts/init/debian/gogs /etc/init.d
# service gogs start
測試
在頁面localhost:3000 新建一個倉庫,然后寫README.md,然后再用git命令試試
$ cd 到存放倉庫的目錄 $ git clone http://localhost:3000/<你的倉庫>.git $ cd <倉庫名> $ echo " #good yes, all right A Gogs. " > test.md $ git add test.md $ git commit -m "test" $ git remote add origin http://localhost:3000/<你的倉庫>.git $ git push -u origin master
刷新頁面看看結果 PS.右下角可以切換英文
改為SSH方式同步代碼
git remote set-url origin ssh://git@localhost:10022/adminer/TEST1.git
關於SSH連接方式
給自己的賬戶管理里添加SSH KEY到Github/Gogs[原標題:SSH KEY生成方法]

通過ssh連接到Gogs ssh服務器
$ ssh git@localhost -p 10022
提示:git@localhost: Permission denied (publickey).
這種情況是你的SSH KEY沒有在目標ssh服務器(Gogs ssh服務器)的授權名單里
下次再更
HTTPS證書
https://github.com/FiloSottile/mkcert
關於Nginx轉發部分
下次再鴿
轉移已有倉庫到Gogs
Gogs界面:點加號,遷移外部倉庫
關於團隊管理部分
如果你有/加入了團隊,那么Gogs的團隊管理面板也可以滿足你


另外還可以使用微信推送如PushBear
內網 多個路由器下多台設備訪問Gogs
路由器里設置靜態路由表
持續集成CI/CD
可以安裝Drone或Jenkins 前者Go輕快,后者JAVA穩重
如果還不夠,可以試試用API:https://github.com/gogs/docs-api
