最近在學習CI/CD的一些方案,我的比較青睞容器化輕量級。CI方面一開始是想使用gitlab的,可是發現我本身買的服務器配置過低,內存根本不夠(大寫的尷尬)。因此採用更輕量級的Gogs,我真的很懶,只有在遇到挫折了纔會想着把它記下來,平時不少時候都是沒有作筆記的習慣的(吱吱)。此次之因此寫這篇筆記,是由於部署Gogs過程遇到了幾個小坑,浪費了我很多時間,因此但願能幫助到你們,不要走這樣的坑~~言歸正傳mysql
環境搭建過程git
1. 安裝部署gogs很簡單,網上一大堆帖子,這裏再也不贅述,簡單發下我啓動gogs的命令吧:sql
1 # !/bin/bash
2
3 docker run -d \ 4 -p 10080:3000 \ 5 -p 10022:22 \ 6 --net backend \ 7 --name gogs \ 8 -v /data/docker/container/gogs/data:/data/gogs/data \ 9 -v /data/docker/container/gogs/conf:/data/gogs/conf \ 10 -v /data/docker/container/gogs/log:/data/gogs/log \ 11 gogs/gogs
簡單說明下,端口映射我跟網上大部分帖子同樣,都是映射到10080和10022端口,和mysql的鏈接方式仍是使用docker的自定義網卡backend,其餘的數據卷本身根據須要映射下唄docker
2. 啓動gogs後接下來就是訪問ip+10080端口,首次訪問會跳到配置頁面緩存
圖片是我從網上覆制過來的,我使用的mysql是5.6版,因此mysql容器名我叫mysql56安全
3. 好了,正常狀況下是能夠了,接下來是我遇到的坑bash
1. HTTP端口號這裏的配置,我當時配置成10080,因此致使了每次容器重啓就會訪問不了,其實這裏填的是docker內部的端口號3000!服務器
2. window7用戶,git在使用過程當中,使用ssh方式拉取代碼,按照網上教程是將本地.ssh目錄的id_rsa.pub文件內容複製到gogs後臺的安全密鑰中,可是仍是提示沒有權限,後面發現咱們須要啓動ssh代理並將密鑰添加到代理緩存中才能夠:ssh
eval `ssh-agent -s` //window用戶才須要加eval
eval `ssh-add ~/id_rsa`
而後就能夠了,後續若是還有什麼問題我再補充吧,我就遇到這兩個問題gitlab