持續集成系列_gitlab安裝使用

寫在前面。因爲好多開源軟件的安裝會使用到epel yum源,雖然跟gitlab無關,但是作爲一個系列epel有必要作爲基礎軟甲安裝下。

 rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

gitlab功能比較多,適合想研究代碼託管服務器的同學研究。安裝內存建議在4G+,如果個人電腦配置太差可能不適合裝它(雖然現在大部分電腦應該都很好),其實我前面有介紹gitblit安裝windows 搭建Git服務器

gitlab安裝有兩種方式,yum在線安裝和rpm離線安裝。我是採用的後者,前者給出官網安裝步驟不做過多介紹,後者會稍微說下,主要還是自己的一些個人想法

yum在線安裝:

1. 安裝依賴

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http

sudo systemctl reload firewalld

2. 安裝郵件發送協議

sudo yum install postfix
sudo systemctl enable postfix

sudo systemctl start postfix

3. 添加yum倉庫,類似maven裏的遠程倉庫

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

4. 安裝gitlab並初始化訪問路徑

yum install -y gitlab-ee  (安裝指定版本gitlab:sudo yum -y install gitlab-ee-12.7.5-ee.0.el7.x86_64)

rpm離線安裝:

1. 下載rpm包並拷到虛擬linux上

    下載路徑gitlab rpm 下載地址

2. 依賴安裝同yum,不在贅述

3. 安裝gitlab,注意版本號

rpm -ivh gitlab-ee-12.7.5-ee.0.el7.x86_64.rpm

如果不出意外是可以裝成功的,這裏提一下,其實上面的依賴有的系統已經安裝並啓用的,裝之前檢查下如rpm -qa | grep sshd

4.  修改gitlab配置

vim /etc/gitlab/gitlab.rb

external_url 'http://192.168.56.100:9000'
git_data_dirs({
  "default" => {
    "path" => "/data/gitlab/git-data"
   }
})

如果真想用域名操作,在自己本地配置hosts文件。所有的gitlab配置務必在這個配置文件裏配置。

5. 使配置生效

gitlab-ctl reconfigure /etc/gitlab/gitlab.rb

6. 啓動gitlab

gitlab-ctl once 沒有執行reconfigure時的直接啓動,一般情況下不會用到,配置文件一點不動可能性不大

gitlab-ctl restart 修改完配置並生效後的重啓,會先停止在啓動,gitlab沒有運行的話會直接啓動

更多的管理命令可以通過gitlab-ctl --help查看

sudo gitlab-rake gitlab:check (檢查是否安裝成功)

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION(查看gitlab版本號)

7. 修改管理員密碼

gitlab-rails console production
user=User.where(id:1).first
user.password=12345678
user.save

8. 打開管理頁面

直接在瀏覽器中輸入http://192.168.56.100:9000  輸入用戶名密碼:root  12345678搞定,以後新建項目,普通用戶等其他工作就可以通過這個管理界面實現了,功能很多就不一一介紹了。簡單的介紹下多個ssh密鑰使用,這個和gitlab沒有必然的關係。如果你不通過ssh方式連接多個服務器,完全沒必要繼續往下看

 

9  多個ssh密鑰使用

9.1 通過git bush(mingw)生成rsa 密鑰對

 ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitlab -C "key for gitlab"

 ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "key for github"

~ :linxu環境對應/home/xxx;windows環境對應C:\Users\xxx

9.2 這裏只介紹gitlab使用ssh,github同理

配置私鑰引導,就是私鑰和服務器的映射,在~/.ssh目錄下新建config文件(沒有後綴)並填寫一下內容:

# 該文件用於配置私鑰對應的服務器
# 該文件用於配置私鑰對應的服務器
#對應github
  #github域名,也可以用ip
  Host github.com
  #前綴 如 [email protected]:summer/config-repo.git @前面的git
  User git
  #祕鑰文件
  IdentityFile C:/Users/Administrator/.ssh/id_rsa.github


# 對應gitlab
  #gitlab ip
  Host 192.168.56.100
  User git
  IdentityFile C:/Users/Administrator/.ssh/id_rsa.gitlab

使用公鑰,在~/.sh目錄下找到id_rsa.gitlab.pub(gitlab公鑰)把內容複製到上圖(按標記的內容從上向下點擊就可以看到上圖了)的key裏面保存。

9.3 測試 ssh -T 192.168.56.100 ,出現下圖說明成功了

9.4 需要注意通過ssh方式以後界面操作就不好用了,所以看喜好和需求選擇,還有第一次建立連接的時候會詢問(windows7系統會),直接yes就可以了。

最後推薦一款一體化服務器管理軟件finalshell,下載地址:finalshell

10. 完整卸載gitlab

    1、停止gitlab
        gitlab-ctl stop

    2、卸載gitlab(注意這裏寫的是gitlab-ee)
        rpm -e gitlab-ee

    3、查看gitlab進程
        ps aux | grep gitlab

    4、殺掉第一個進程(就是帶有好多.............的進程)
        kill -9 18777
        殺掉後,在ps aux | grep gitlab確認一遍,還有沒有gitlab的進程

    5、刪除所有包含gitlab文件
        find / -name gitlab | xargs rm -rf

11 卸載後重裝reconfigure 卡死問題解決方案

    執行sudo systemctl restart gitlab-runsvdir(如有報錯,重複執行)
    gitlab-ctl reconfigure /etc/gitlab/gitlab.rb(如有報錯,重複執行)

12 遇到問題及解決方案
    安裝完後訪問不了頁面,第一次訪問報無法連接錯誤,第二次訪問報連接被重置錯誤。
    排查過程:
        懷疑是網絡端口問題 ping telnet都ok
        懷疑是安裝的問題,yum remove 掉重新安裝問題依然存在
        懷疑是裝了jenkins問題(裏面有git相關插件) 卸載了。問題依然存在
        最無奈時抱着試一試的態度去找了下gitlab內嵌nginx目錄下日誌。還真有效
    問題發現及解決:
        ll /var/log/gitlab/nginx/
        如下圖2是gitlab當前運行日誌3是current日誌內容,4是current日誌備份。看文件大小就知道有多佔資源了。
        看文件內容不難發現是因爲端口衝突(8060是我配置的rabbitmq管理頁面端口)。
        修改rabbitmq管理頁面端口爲其它端口,然後重啓rabbitmq,測試ok後
        重啓gitlab,訪問gitlab,ok了
    問題總結:找到問題分分鐘解決的問題,愣是花了快一天的時間。方法不對,幹活白累。備註:gitlab默認用到的端口:80、8060、8080、9090、9100、9121、9168、9187 。80端口上面改掉了,其它的端口用的時候要注意。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章