1. 程式人生 > >上傳本地項目到docker運行的gitlab容器中

上傳本地項目到docker運行的gitlab容器中

令行 過大 客戶端 一行 環境 再次 tro 需要 windows

1 在gitlab上配置了客戶端的ssh-key還是需要輸入密碼

 gitlab默認是以http方式進行上傳的,但是文件過大,nginx與gitlab的默認配置限制了客戶端像服務器傳送文件的大小
  當前 環境當中gitlab是以docker來跑的一個容器,端口映射發現失敗,所以直接修改

2 解決問題

1 登錄到服務器上,修改配置文件

    docker exec –it gitlab /bin/bash
                    find / -name gitlab.rb
                    vim /etc/gitlab/gitlab.rb
                     /gitlab_shell_ssh_port                                    #在vim編輯器中找到此行
                     gitlab_rails[‘gitlab_shell_ssh_port‘] = 2222    #並且修改為這個樣子,將ssh端口改為2222
                     :wq!                                                               #保存並退出
                     exit                                                                #退出當前容器
            2 docker restart gitlab                                           #重新啟動該容器

3 回到Windows上,解壓要上傳的文件

    1 在解壓後的文件夾右擊選中”Git Bash Here”(前提是電腦安裝了Git Bash),如圖

技術分享圖片

    2 在命令行中使用ssh-keygen –t rsa –C “admin@example”(此處的admin@example為你要用哪個用戶上傳就寫哪個用戶的郵箱地址,本人用的root)生成密鑰文件,命令敲完以後默認回車即可,如圖

技術分享圖片

3 找到密鑰生成的位置,此處為C:/Users/Administrator/.ssh/id_rsa.pub,並將內容復制到gitlab上,按照以下步驟找到gitlab上配置ssh-key的地方

1
技術分享圖片

2
技術分享圖片

3
技術分享圖片

4 然後在命令行中依次執行如下命令

            1 cd test            #進入到要上傳的項目的文件夾中
            2 git init            #初始化此目錄,使git可以管理這個文件夾
            3 git config --global user.name "administrator"
            4 git config --global user.email "[email protected]"
            5 git remote add origin ssh://git@”gitlab地址”/“項目用戶”/”項目名稱” #後面的那些在gitlab上面新建項目的時候就會指定,並且可以看到
            6 git add .       #在Windows上這個命令剛開始會報錯,使用第五步解決
            7 git config core.autocrlf false
            8 git add .       #重新執行,等待,時間可能會比較長,因為文件較大
            9 git commit –m “test version” #提交並且指定提交後的信息
            10 git push –u origin master #將當前目錄下的分支推送到主分支
        5 為了保持安全性,再次登錄到運行的容器gitlab上將那一行刪掉,並且重啟容器                
            1 docker exec –it gitlab /bin/bash
            2 vim /etc/gitlab/gitlab.rb
                # gitlab_rails[‘gitlab_shell_ssh_port‘] = 2222 #註釋這一行
            3 docker restart gitlab            #重啟目標容器生效

上傳本地項目到docker運行的gitlab容器中