Docker 安裝 gitlab TortoiseGit 拉取程式碼

gc889900發表於2018-04-16

不囉嗦  直接幹Docker 的安裝就不講了  自己去搜 網上一堆


1, pull 一箇中文版
docker pull twang2218/gitlab-ce-zh


2.啟動容器初始化,這裡用的是docker 分配的ip  不知道外網 好不好用 可以試一下
 docker run --name='gb3' -d \
   -e 'GITLAB_HOST=172.18.0.2' \
   -e 'GITLAB_PORT=10080' \
   -e 'GITLAB_SSH_PORT=10022' \
   -e 'GITLAB_BACKUPS=weekly' \
   -p 10022:22 -p 10080:80 \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/data:/var/opt/gitlab \
    twang2218/gitlab-ce-zh:latest

3,編輯配置檔案 ,這裡用的是 容器卷  所以本地也可以編輯 
    docker exec -t -i gitlab vim /etc/gitlab/gitlab.rb

4,新增 郵件 (用於傳送郵件通知,這裡需要注意 password 不是 郵箱密碼 是授權碼)
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "email@163.com"
gitlab_rails['smtp_password'] = "授權碼"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_openssl_verify_mode'] = "peer"

gitlab_rails['gitlab_email_from'] = "email@163.com"
user["git_user_email"] = "email@163.com"

gitlab_rails['gitlab_ssh_host'] = '外網ip'
##ssh埠
gitlab_rails['gitlab_shell_ssh_port'] = 10022

gitlab_rails['gitlab_email_from'] = "email@163.com"
user["git_user_email"] = "email@163.com"
external_url "http://外網ip"

儲存 退出  重啟 服務

docker restart gb3


5 測試 (剛啟動可能有點慢 我這臺 得30秒左右)

第一次登入會讓你 改密碼 記住就好,然後用root 和剛剛的密碼登入  進來這個樣子


付:   在shell 中 進入 git容器命令
docker exec -it gb3 bash


6,建立專案 什麼的 我就省了,那個 就是些複製操作,注意一點,所有帶 ip 的操作 後面都要接對應的埠號就行(包括在郵箱裡的確認郵件地址)

注意: 建立完 專案之後 這一步 估計會 報錯,需要現在 docker容器中把 key生成 新增到ssh裡(位置下文有)

新增完Key  就可以 了



7,windows 下 專案的操作

首先 要下載一個軟體 puttygen  這個就300多K,用來生成 ssh-key,點開的頁面大概這個樣

然後  點Generate,會出來 一個進度條,然後你需要使勁晃滑鼠 ,他就是靠記錄滑鼠軌跡 來 生成key的

然後儲存 private key得到我們要的 pkk檔案 (頁面 別關了)

然後我們要複製生成的key 就是上面那一大長串,新增到 我們使用者的 個人設定->ssh金鑰裡,這個十分重要 我們能拉取程式碼就靠這個了.



接下來 設定 我們的 "小烏龜",這圖 是我在網上拔的,很多 都千篇一律,這裡不在贅述 TortoiseGit (就叫這個名自己搜把)


然後右鍵要clone的 資料夾 ,這裡也比較重要,URL 因為我們用的是docker 所以不是22埠,所以 要加ssh://的字首 和埠號;putty金鑰就是我們剛剛用軟體生成的.



最後 確了個定 就行了



如果哪一步不會 軟體 沒有什麼的 加我QQ 吧 48564021

相關文章