CI/CD筆記-Gitlab安裝部署

GitLab安裝部署管理筆記
參考
1、安裝部署html

  1. 最小系統:centos7 x64,cpu4,4g,10gb
  2. 依賴包安裝
  3. gitlab基礎信息
  4. 下載gitlab及安裝
  5. 修改gitlab訪問地址配置
  6. 輸入配置的地址訪問gitlab,第一次須要重設密碼,用戶名爲root
    2、gitlab的配置與管理
    1.配置發信功能即註冊等其餘事件,經過郵件通知
    2.取消gitlab註冊功能
  7. 建立項目
  8. 將某個用戶添加到建立的組裏,一個組能夠有多個項目,能夠配置每一個項目的成員等等
  9. 將經過管理員建立的項目添加到組裏,那麼組成員就能夠看到該項目了
  10. git客戶端克隆項目到本地
  11. 本地操做完提交到倉庫
    備註

參考
https://blog.csdn.net/qq_37143673/article/details/85044258node

http://www.javashuo.com/article/p-qmkjiqgj-t.htmlpython

https://www.cnblogs.com/wangrongwen/p/13709196.htmllinux

1、安裝部署
1. 最小系統:centos7 x64,cpu4,4g,10gb
環境要求:https://docs.gitlab.com/ce/install/requirements.html 【社區版】nginx

2. 依賴包安裝c++

# 安裝經常使用工具
yum install vim gcc gcc-c++ wget net-tools lrzsz iotop lsof iotop bash-completion -y

# 安裝網絡及發送郵件工具
yum install curl wget policycoreutils openssh-server openssh-clients postfix -y

# 更換yum源爲阿里雲
mv /etc/yum.repos.d/CentOS-Base.repo   /etc/yum.repos.d/CentOS-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 刷新倉庫
yum clean all && yum makecache

# 配置epel倉庫
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

# 關閉防火牆
systemctl disable firewalld

# 關閉selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config && sync && reboot

# 修改主機hostname
hostnamectl set-hostname gitlab.example.com

# 設置postfix開機啓動及重啓,gitlab默認以postfix發送郵件
systemctl enable postfix && systemctl restart postfix

# 重啓主機
reboot
  1. gitlab基礎信息
    • 3.0 gitlab依賴的中間件
1. 開發語言:主ruby,部分go
2. 版本:CE社區辦,EE企業版
3. Linux
4. Git代碼管理【擁有wiki和issue跟蹤功能】
5. Node.js
6. Redis
7. PostgreSQL
8. nginx
9. Unicorn 是一個爲運行 Rack 應用的HTTP服務器
  • 3.1 gitlab相關的目錄
/etc/gitlab   # 配置文件目錄
/run/gitlab   # 運行pid目錄
/opt/gitlab   # 安裝目錄
/var/opt/gitlab  # 數據目錄
/var/log/gitlab  # 日誌目錄
  • 3.2 gitlab經常使用命令
gitlab-rails # 用於啓動控制檯進行特殊操做,如修改管理員密碼,打開數據庫控制檯(gitlab-rails debconsole)等
gitlab-psql  # 數據庫命令行
gitlab-rake  # 數據備份恢復等數據操做

gitlab-ctl  # 客戶端命令行操做行
gitlab-ctl stop/start/restar/status/  # 操做gitlab及查看組件運行狀態
gitlab-ctl tail nginx  # 查看某個組件的日誌

4. 下載gitlab及安裝git

#centos 6系統的下載地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
#centos 7系統的下載地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
# 選擇本身合適的版本
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.8.9-ce.0.el7.x86_64.rpm && rpm -i gitlab-ce-11.8.9-ce.0.el7.x86_64.rpm

5. 修改gitlab訪問地址配置sql

vim /etc/gitlab/gitlab.rb
# 修改此行
external_url  'http://localhost'  
# 變動爲,服務器ip及自定義的端口號,默認8080
external_url  'http://192.168.0.152:8888'

# 保存退出,並將gitlab配置刷新及重啓
gitlab-ctl reconfigure && gitlab-ctl restart

6. 輸入配置的地址訪問gitlab,第一次須要重設密碼,用戶名爲root數據庫

# 常見問題解決
-出現502界面,查看組件狀態 `gitlab-ctl status`
1. 端口被佔,修改gitlab.rb中的配置便可,通常是gitlab端口被佔或者Unicorn端口被佔
external_url  'http://192.168.0.152:8888'
或者
unicorn['port'] = 9090

2、gitlab的配置與管理
1.配置發信功能即註冊等其餘事件,經過郵件通知vim

# 默認postfix發信,也能夠用stmp發,默認stmp是開啓的,二者只能開啓一個,否則報錯
# 官網參考 https://doc.gitlab.cc/omnibus/settings/smtp.html

vim /etc/gitlab/gitlab.rb
### Email Settings

# 方式一使用stmp,前提須要到對應的郵箱上配置開發第三方訪問,如qq,163
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "414534337@qq.com"
gitlab_rails['smtp_password'] = "iotgzskuiqbtcbch"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '414534337@qq.com'

# 保存重啓
gitlab-ctl reconfigure && gitlab-ctl restart

# 方式二使用postfix,關閉stmp,具體配置待研究
gitlab_rails['smtp_enable'] = true 改成 false


2.取消gitlab註冊功能

CI/CD筆記-Gitlab安裝部署

3. 建立項目

能夠直接建立項目,而後爲項目添加成員

也能夠建立組,而後向組裏添加成員,而後將項目添加到組裏,那麼組成員就均可以根據本身的角色操做該項目文件了

CI/CD筆記-Gitlab安裝部署

4. 將某個用戶添加到建立的組裏,一個組能夠有多個項目,能夠配置每一個項目的成員等等
CI/CD筆記-Gitlab安裝部署

5. 將經過管理員建立的項目添加到組裏,那麼組成員就能夠看到該項目了
CI/CD筆記-Gitlab安裝部署

CI/CD筆記-Gitlab安裝部署

6. git客戶端克隆項目到本地
各成員通常都是經過git拉取代碼的,能夠直接經過http的方式,這種須要輸入用戶名和密碼

也能夠在本地ssh生成密鑰,上傳到gitlab用戶配置裏,那麼拉取代碼就不須要輸入帳戶信息了

CI/CD筆記-Gitlab安裝部署

CI/CD筆記-Gitlab安裝部署

7. 本地操做完提交到倉庫

# 進入項目目錄
[root@python-node01 gitlab-project-dir]# cd testproject01/
# 添加一個測試文件
[root@python-node01 testproject01]# echo "just test push something to gitlab" > first-test.txt
# 將在本地工做區的修改提交到到緩存區
[root@python-node01 testproject01]# git add .
# 將修改從緩存區提交到本地倉庫
[root@python-node01 testproject01]# git commit -m "push init code"
# 報以下錯誤,須要提交配置全局的用戶email和用戶名
*** Please tell me who you are.

Run

 git config --global user.email "you@example.com"
 git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'root@python-node01.(none)')
# 配置郵箱和用戶名
[root@python-node01 testproject01]# git config --global user.email 111112@qq.com
[root@python-node01 testproject01]# git config --global user.name test01
[root@python-node01 testproject01]# cat ~/.gitconfig
[user]
email = 111112@qq.com
name = test01
# 再次commit就ok了
[root@python-node01 testproject01]# git commit -m "push init code"
[master 48a1e0a] push init code
1 file changed, 1 insertion(+)
create mode 100644 first-test.txt
# 注意!!若是你是開發者身份,默認是不容許直接推送代碼到master分支的
[root@python-node01 testproject01]# git push

備註
關於gitlab用戶角色的介紹參考:https://www.cnblogs.com/sunxiuwen/p/11155348.html

相關文章
相關標籤/搜索