GitLab是項目管理和代碼托管平臺,可通過Web界面進行訪問公開的或者私人項目,常用于源代碼版本控制,但是也可以用于保存各類文件。GitLab能夠瀏覽源代碼,管理缺陷和注釋。GitLab可以管理團隊對倉庫的訪...
GitLab是項目管理和代碼托管平臺,可通過Web界面進行訪問公開的或者私人項目,常用于源代碼版本控制,但是也可以用于保存各類文件。GitLab能夠瀏覽源代碼,管理缺陷和注釋。GitLab可以管理團隊對倉庫的訪問,非常易于瀏覽提交過的版本并提供一個文件歷史庫。GitLab提供一個代碼片段收集功能,可以輕松實現代碼復用,便于日后有需要的時候進行查找。
當前使用的是私服GitLab,搭建在內部服務器上,只有管理員授予賬號才可以訪問。
環境要求:內存不低于2G
第一步,查看Linux版本信息。
# 查看Linux系統的版本信息
命令:cat /proc/version
# 查看Linux系統發行版信息
命令:cat /etc/redhat-release
第二步,安裝依賴包。
命令:yum install policycoreutils openssh-server openssh-clients postfix
systemctl enable sshd
systemctl start sshd
systemctl enable postfix
systemctl start postfix
第三步,下載并安裝rpm包。
方法一:通過rpm包進行安裝。(一般選擇這種方法)
不同版本的Linux對應不同的rpm包。
若Linux版本為Centos 7,則需要下載el7版本的GitLab。
下載el7版本的GitLab,登錄網址:
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
或
https://packages.gitlab.com/app/gitlab/gitlab-ce/search
# 下載el7版本rpm
命令:cd /usr/local/rpm
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.0.0-ce.0.el7.x86_64.rpm
chown -R git:git /usr/local/rpm
rpm -ivh gitlab-ce-15.0.0-ce.0.el7.x86_64.rpm
若結果顯示“policycoreutils-python is needed by gitlab-ce”,則說明運行出現錯誤。又因為Linux版本為Centos 7,GitLab版本為el7,所以可以使用命令“yum install policycoreutils-python”來解決這個問題。若使用上述命令無效,則說明Linux版本一定不是centos 7。然后重新安裝GitLab。
若Linux版本為Alibaba Cloud Linux 3,則需要下載el8版本的GitLab。
下載el8版本的GitLab,登錄網址:
https://packages.gitlab.com/app/gitlab/gitlab-ce/search,搜索下載gitlab-ce-15.0.0-ce.0.el8安裝包,然后使用WinSCP將下載的安裝包上傳到/usr/local/rpm文件夾中。
# 將/usr/local/rpm的所有者及所屬組改為git,然后安裝gitlab
命令:cd /usr/local/rpm
chown -R git:git /usr/local/rpm
rpm -ivh gitlab-ce-15.0.0-ce.0.el8.x86_64.rpm
若結果顯示“policycoreutils-python-utils is needed by gitlab-ce”,則說明運行出現錯誤。又因為Linux版本為Alibaba Cloud Linux 3,GitLab版本為el8,所以可以使用命令“yum install policycoreutils-python-utils”來解決這個問題。
方法二:通過yum源安裝。
新建/etc/yum.repos.d/gitlab-ce.repo文件,并在文件中寫入下面的代碼:
[gitlab-ce] name=gitlab-ce baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7 Repo_gpgcheck=0 Enabled=1 Gpgkey=https://packages.gitlab.com/gpg.key
# 更新本地yum緩存
命令:yum makecache
# 安裝GitLab社區版
命令:yum install gitlab-ce #自動安裝最新版
或 yum install gitlab-ce-x.x.x #安裝指定版本
第四步,修改配置文件。
1)修改配置文件/etc/gitlab/gitlab.rb,在文件中做如下修改:
# 把網址改為服務器公網IP(默認IP為8080,若8080已經使用,自定義其它端口),這個IP一定要在阿里云上進行授權配置。
external_url 'http://x.x.x.x'
2)確保防火墻啟動成功
命令:systemctl status firewalld
若結果顯示“Active: inactive (dead)”,則需要啟動防火墻。
systemctl start firewalld
若結果顯示“Active: active (running)”,則可以運行下面的命令:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld
若結果都顯示“success”,則說明防火墻啟動成功。
3)把GitLab的端口號放開
firewall-cmd --zone=public --add-port=80/tcp --permanent
若結果顯示“success”,則說明GitLab的端口號成功放開。
4)重新加載并啟動
命令:gitlab-ctl reconfigure
若結果顯示“ruby_block[supervise_redis_sleep] action run”,則會一直卡無法往下進行,這時需要按住“CTRL+C”強制結束,然后運行命令“sudo systemctl restart gitlab-runsvdir”,最后再次執行命令“sudo gitlab-ctl reconfigure”。
gitlab-ctl restart
若結果顯示“ok: run”,則說明配置文件修改完成。
gitlab-ctl start # 啟動所有GitLab組件
gitlab-ctl stop # 停止所有GitLab組件
gitlab-ctl restart # 重啟所有GitLab組件
gitlab-ctl status # 查看服務狀態
gitlab-ctl reconfigure # 啟動服務
gitlab-rake gitlab:check SANITIZE=true --trace # 檢查GitLab
gitlab-ctl tail # 查看日志
1)GitLab的守護進程關閉和重啟
# 備注:GitLab的守護進程會默認開啟nginx
命令:gitlab-ctl stop nginx
gitlab-ctl restart nginx
# 釋放資源,關閉GitLab
命令:gitlab-ctl stop
2)服務器重啟或者GitLab意外停止,執行命令“gitlab-ctl start”。
若結果顯示“fail: sidekiq: runsv not running”等,則說明GitLab不能啟動。可以使用下面命令來解決這個問題:
systemctl start gitlab-runsvdir
gitlab-ctl restart
在瀏覽器的地址欄中輸入ECS服務器的公網IP(GitLab的ip和端口號),無法訪問。
第一步,linux系統開放GitLab的端口號。
命令:cd /etc/sysconfig
ls -l
結果顯示“ip6tables-config”和“iptables-config”,但是沒有查看到iptables文件。
第二步,安裝iptables-services。
命令:yum install iptables-services
第三步,啟動iptables。
命令:systemctl enable iptables
systemctl start iptables
第四步,在iptables中配置開放GitLab的端口號。
命令:vim /etc/sysconfig/iptables
在文件中添加下面的代碼:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
第五步,重啟防火墻。
命令:service iptables restart
第六步,重新登錄GitLab。
在瀏覽器的地址欄中輸入ECS服務器的公網IP(GitLab的ip和端口號),登錄GitLab的界面,第一次登錄使用的用戶名為 root,而密碼在文件/etc/gitlab/initial_root_password中(密碼不會含空格),且會在 24 小時后自動被刪除。然后修改密碼即可。
第七步,登錄GitLab時界面顯示“502”。
這個一般是權限問題,可以給予GitLab權限。
命令:chmod -R 755 /var/log/gitlab
第一步,安裝Git工具。
在linux中安裝Git,使用自帶的源安裝。
命令:yum install git
第二步,生成密鑰文件。
使用ssh-keygen生成密鑰文件.ssh/id_rsa.pub。
命令:ssh-keygen #連續回車四下
cat .ssh/id_rsa.pub #結果顯示生成的秘鑰
第三步,在GitLab的主頁中新建一個Project。
點擊“新建Project”,在“Blank Project”欄目中,填寫“Project name”,“Project URL”和“Project slug”,其他默認,最后點擊“創建Project”。
第四步,添加ssh key導入第二步中生成的密鑰文件內容。
點擊“添加ssh key”,然后在“key”中復制粘貼剛剛生成的秘鑰,最后點擊“添加key”。
項目地址在進行clone操作時需要用到。
卸載
如果gitlab安裝失敗,那可以卸載gitlab并重裝。注意:gitlab一定要卸載干凈,否則會有不少麻煩。
第一步,停服務。
命令:sudo gitlab-ctl stop
第二步,卸載gitlab。(需確認gitlab是ce版本還是ee版本)
命令:sudo rpm -e gitlab-ce
第三步,殺掉gitlab守護進程。(帶有opt/gitlab/service log)
命令:ps -ef|grep gitlab
sudo kill -9 [PID]
第四步,刪除磁盤文件。
命令:sudo find / -name gitlab |xargs rm -rf
若結果提示“permission deny”,則手動逐層刪除即可。
第五步,下載的gitlab軟件包也刪除。
既然看到這里了,就向大家打個廣告。如果想要了解更多關于運維的知識,可以關注我的微信公眾號:人文歷史與科學技術,下面是二維碼,謝謝大家!
來源:https://zhuanlan.zhihu.com/p/534072989?utm_id=0&wd=&eqid=d8045075000020790000000364770dfe
來源:本文內容搜集或轉自各大網絡平臺,并已注明來源、出處,如果轉載侵犯您的版權或非授權發布,請聯系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點保持中立,對所包含內容的準確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負責,僅作分享之用,文章版權及插圖屬于原作者。
Copyright?2013-2024 JSedu114 All Rights Reserved. 江蘇教育信息綜合發布查詢平臺保留所有權利
蘇公網安備32010402000125
蘇ICP備14051488號-3技術支持:南京博盛藍睿網絡科技有限公司
南京思必達教育科技有限公司版權所有 百度統計