GitLab安裝部署管理筆記
參考
1、安裝部署html
參考
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. 開發語言:主ruby,部分go 2. 版本:CE社區辦,EE企業版 3. Linux 4. Git代碼管理【擁有wiki和issue跟蹤功能】 5. Node.js 6. Redis 7. PostgreSQL 8. nginx 9. Unicorn 是一個爲運行 Rack 應用的HTTP服務器
/etc/gitlab # 配置文件目錄 /run/gitlab # 運行pid目錄 /opt/gitlab # 安裝目錄 /var/opt/gitlab # 數據目錄 /var/log/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註冊功能
3. 建立項目
能夠直接建立項目,而後爲項目添加成員
也能夠建立組,而後向組裏添加成員,而後將項目添加到組裏,那麼組成員就均可以根據本身的角色操做該項目文件了
4. 將某個用戶添加到建立的組裏,一個組能夠有多個項目,能夠配置每一個項目的成員等等
5. 將經過管理員建立的項目添加到組裏,那麼組成員就能夠看到該項目了
6. git客戶端克隆項目到本地
各成員通常都是經過git拉取代碼的,能夠直接經過http的方式,這種須要輸入用戶名和密碼
也能夠在本地ssh生成密鑰,上傳到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