前言
我們都知道GitHub、oschina等等的存在,也是非常龐大的開源代碼社區。如果公司想要使用git來管理代碼,但不想所有人都來盪你的代碼就需要私服了。
而GitHub的私服是花錢的,我們常常使用gitlab來搭建私服。GitHub和gitlab是分別兩個公司提供的。下面記錄一下搭建gitlab私服的過程已經git的學習。
環境
首先要先安裝git在本地,我的是macOS,在安裝xcode的時候就已經安裝好git環境的,其他系統可以在官網下載git :https://www.git-scm.com/
公司的服務器是Ubuntu
git本身是一個版本控制軟件 git != github
github和gitlab是一個管理版本的服務端軟件,gitlab可以理解為企業內部管理的GitHub
為什么使用git
本地建立版本庫。
本地版本控制
多主機異地協同工作
重寫提交說明
有后悔葯可以吃
更好用的提交列表
更好的差異比較
更完備的分支系統
速度極快
Gitlab安裝
1.安裝依賴包
sudo apt-get install curl openssh-server ca-certificates postfix
注:執行完成后,出現郵件配置,選擇Internet那一項(不帶Smarthost的)
2.利用清華大學的鏡像(https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/)來進行主程序的安裝
首先信任 GitLab 的 GPG 公鑰
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
使用root用戶修改配置文件
vi /etc/apt/sources.list.d/gitlab-ce.list
#添加以下內容
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main
vi /etc/gitlab/gitlab.rb
external_url 'http://192.168.31.130/'
安裝 gitlab-ce
sudo apt-get update
sudo apt-get install gitlab-ce
3.啟動sshd和postfix服務
service sshd start
service postfix start
4.添加防火牆規則
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
5.啟動各項服務
sudo gitlab-ctl reconfigure
6..檢查GitLab是否安裝好並且已經正確運行
sudo gitlab-ctl status
#如果得到類似下面的結果,則說明GitLab運行正常
7.瀏覽web頁面並設置密碼
http://192.168.31.130/
8.創建組
9.添加ssh key
git倉庫之間的代碼傳輸協議主要使用ssh協議。而一般搭建gitlab的時候使用的git用戶是沒有密碼的,因此直接ssh是不能登錄的,就需要使用ssh-keygen上傳公鑰,使用非對稱加密傳輸。下面講述如何上傳你的ssh公鑰:
生成sshkey
在終端中敲下面的命令,第一步會生成一對私鑰和公鑰,分別存在
~/.ssh/id_rsa
和~/.ssh/id_rsa.pub
中。第二步查看公鑰字符串。ssh-keygen -t rsa -C "郵箱地址" cat ~/.ssh/id_rsa.pub
在面板上依次點擊Profile Settings –> SSH Keys –> Add SSH Keys。然后把上一步中的
id_rsa.pub
中的內容拷貝出來粘貼到輸入框中,保存。
完成上面兩步之后就成功的添加了sshkey了,然后就可以上傳代碼了。
10.創建項目
創建項目Test_Project
下一步,選擇組,輸入項目名
下一步,創建完成
在項目下面會有git的操作指南教你如何操作
完成創建項目!
獲取/修改超級管理員root的密碼
a、 切換目錄:cd /opt/gitlab/bin
b、執行 :sudo gitlab-rails console production 命令 開始初始化密碼 (如果報錯 試試 sudo gitlab-rails console)
c、在irb(main):001:0> 后面通過 u=User.where(id:1).first 來查找與切換賬號(User.all 可以查看所有用戶)
d、通過u.password='12345678'設置密碼為12345678(這里的密碼看自己喜歡):
e、通過u.password_confirmation='12345678' 再次確認密碼
f、通過 u.save!進行保存(切記切記 后面的 !)
g、如果看到上面截圖中的true ,恭喜你已經成功了,執行 exit 退出當前設置流程即可。
h、回到gitlab ,可以通過 root/12345678 這一超級管理員賬號登錄了