Linux(Ubuntu):搭建GitLab託管代碼

GitLab 簡介:html

GitLab 是利用 Ruby on Rails 一個開源的版本管理系統,實現一個自託管的 Git 項目倉庫,可經過 Web 界面進行訪問公開的或者私人項目。它擁有與 Github 相似的功能,可以瀏覽源代碼,管理缺陷和註釋。能夠管理團隊對倉庫的訪問,它很是易於瀏覽提交過的版本並提供一個文件歷史庫。團隊成員能夠利用內置的簡單聊天程序 (Wall) 進行交流。它還提供一個代碼片斷收集功能能夠輕鬆實現代碼複用,便於往後有須要的時候進行查找。(企業經常使用)java

1. GitLab 安裝

首先咱們經過https://hub.docker.com/進入到改網站進行查詢操做,查看相應的中文版的GitLabmysql

首先在這個目錄/usr/local/docker 下建立一個文件夾gitlab文件夾,而後建立一個docker-compose.yml文件,而後使用下面的命令進行編輯便可,  記得把tomcat  和mysql關掉nginx

咱們使用 Docker 來安裝和運行 GitLab 中文版,因爲新版本問題較多,這裏咱們使用目前相對穩定的 9.4 版本,docker-compose.yml 配置以下:git

version: '3' services: gitlab: image: 'twang2218/gitlab-ce-zh:9.4' restart: always hostname: '192.168.75.145' 記得修改ip environment: TZ: 'Asia/Shanghai' GITLAB_OMNIBUS_CONFIG: | external_url 'http://192.168.75.145:8080' gitlab的默認端口是80,這裏改爲了8080怕和nginx衝突 記得修改ip gitlab_rails['gitlab_shell_ssh_port'] = 2222 shh的端口號是22會和gitlab衝突,因此改爲2222 unicorn['port'] = 8888 nginx['listen_port'] = 8080 這裏說明是gitlab是基於nginx的反向代理訪問到的設置映射的端口8080 ports: - '8080:8080' - '8443:443' - '2222:22' volumes: - /usr/local/docker/gitlab/config:/etc/gitlab - /usr/local/docker/gitlab/data:/var/opt/gitlab - /usr/local/docker/gitlab/logs:/var/log/gitlab
安裝完成後使用命令docker logs -f 33d51883e5df   顯示gitlab的日誌進行查看
由於gitlab比較消耗內存官方解釋爲1GB內存,實際工做中爲8GB內存,咱們可使用命令進行查看內存及cup的消耗等操做,具體的以下所示:
free -h  表示查看當前內存佔用率,咱們第一次啓動的時候是很是慢的因此要等好長時間等git在自動的進行配置

安裝完成後的工做

  • 訪問地址:http://ip:8080
  • 端口 8080 是由於我在配置中設置的外部訪問地址爲 8080,默認是 80
  • 初始化安裝完成後效果以下:

 

  • 設置管理員初始密碼,這裏的密碼最好是 字母 + 數字 組合,而且 大於等於 8 位
  • 這個的gitlab的密碼爲12345678
  • 配置完成後登陸,管理員帳號是 root

 

注意: 若是服務器配置較低,啓動運行可能須要較長時間,請耐心等待spring

 

 

2. GitLab 設置


第一次使用時須要作一些初始化設置,點擊「管理區域(就是那個小扳手)」-->「設置(就是那個小齒輪)」sql

 

帳戶與限制設置

關閉頭像功能,因爲 Gravatar 頭像爲網絡頭像,在網絡狀況不理想時可能致使訪問時卡頓docker

 

註冊限制

因爲是內部代碼託管服務器,能夠直接關閉註冊功能,由管理員統一建立用戶便可shell

 

3. GitLab 帳戶


使用時請不要直接經過 root 用戶操做,須要先建立用戶,而後經過建立的用戶操做,若是你是管理員還須要爲其餘開發人員分配帳戶tomcat

建立用戶

點擊「管理區域」-->「新建用戶」

 

設置帳戶信息

同時你能夠將本身設置爲管理員

 

修改用戶密碼

因爲咱們建立時並無配置郵箱,因此還須要從新編輯用戶信息並手動設置密碼

 

 

 

退出並使用新帳戶登陸

   

注意:建立完帳戶,第一次登陸時還會提示你修改登陸密碼

 

 

4. GitLab 使用:

建立第一個託管項目

點擊 + 號 --> 新建項目(注意這裏是新建羣組選第二個)

 

輸入項目名稱及描述信息,設置可見等級爲私有,這樣別人就看不見你的項目

 

見到下面圖片表示羣組建立成功: 可是並無任何項目存在羣組中

 

而後進行回到首頁操做,而後點擊左側的菜單進入羣組選項進入某個羣組,而後點擊新建項目進行項目的建立操做

 

初始化項目(建立項目成功後就會顯現下面的圖片)

 

 

 

咱們選擇經過增長一個 README 的方式來初始化項目

點擊這裏的README進行初始化倉庫

直接提交修改便可

 

使推送項目

使用 TortoiseGit 克隆項目(推送項目1)

  • 新建一個存放代碼倉庫的本地文件夾
  • 在文件夾空白處按右鍵
  • 選擇「Git 克隆...」

 

  • 服務項目地址到 URL

 

  • 若是彈出鏈接信息請選擇是

 

  • 成功克隆項目到本地

 

使用 TortoiseGit 推送項目(提交代碼)

  • 建立或修改文件(這裏的文件爲全部文件,包括:代碼、圖片等)
  • 咱們以建立 .gitignore 過濾配置文件爲例,該文件的主要做用爲過濾不須要上傳的文件,好比:IDE 生成的工程文件、編譯後的 class 文件等
  • 在工程目錄下,新建 .gitignore 文件,並填入以下配置:
.gradle *.sw? .#* *# *~ /build /code .classpath .project .settings .metadata .factorypath .recommenders bin build target .factorypath .springBeans interpolated*.xml dependency-reduced-pom.xml build.log _site/ .*.md.html manifest.yml MANIFEST.MF settings.xml activemq-data overridedb.* *.iml *.ipr *.iws .idea .DS_Store .factorypath dump.rdb transaction-logs **/overlays/ **/logs/ **/temp/ **/classes/
  • 右鍵呼出菜單,選擇「提交 Master...」注意提交的時候還須要填寫用戶和郵箱

 

  • 點擊「所有」並填入「日誌信息」

 

  • 點擊「提交併推送」

 

  • 成功後的效果圖

 

查看 GitLab 確認提交成功

 

生成 SSH KEY(推送項目2)

通常狀況在在作持續集成的時候咱們會用SSH的方式進行交互的處理,由於咱們要讓服務器自動拉去gitHub或gitLab上面的代碼執行打包處理(不須要使用帳戶和密碼)---這個步驟必須掌握

使用 ssh-keygen 工具生成,位置在 Git 安裝目錄下,個人是 C:\Program Files\Git\usr\bin 

在windwos系統的cmd中切換到C:\Program Files\Git\usr\bin這個目錄下,而後輸入命令:

ssh-keygen -t rsa -C suchuanqi2008@163.com

執行成功後的效果:

Microsoft Windows [版本 10.0.14393] (c) 2016 Microsoft Corporation。保留全部權利。 C:\Program Files\Git\usr\bin>ssh-keygen -t rsa -C "topsale@vip.qq.com" Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/java/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/java/.ssh/id_rsa. Your public key has been saved in /c/Users/java/.ssh/id_rsa.pub. The key fingerprint is: SHA256:cVesJKa5VnQNihQOTotXUAIyphsqjb7Z9lqOji2704E topsale@vip.qq.com The key's randomart image is: +---[RSA 2048]----+ | + ..=o=. .+. | | o o + B .+.o.o | |o . + +=o+.. | |.= . oo... | |= o So | |oE . o | | .. .. . | | o*o+ | | *B*oo | +----[SHA256]-----+ C:\Program Files\Git\usr\bin>

複製 SSH-KEY 信息到 GitLab

祕鑰位置在:C:\Users\java\.ssh 目錄下,找到 id_rsa.pub 並使用編輯器打開,如:

而後複製該祕鑰

登陸 GitLab,點擊「用戶頭像」-->「設置」-->「SSH 密鑰」

 

成功增長密鑰後的效果

 

 

 

 

這個時候咱們上傳和下載就不須要再使用密碼了,密碼和用戶暴露給服務器是很是危險的

注意:

若是在烏龜的網絡上ssh客戶端是上面的地址的話就會出現問題,那麼咱們必須更改SSH客戶端的地址把他變爲下面的地址,以下圖所示:

這樣就能夠完成合並和下載的操做了

相關文章
相關標籤/搜索