安装gitlab遇到的大坑!!!
最近DevOps非常火, 而GitLab作為其中重要一環(huán), 也越來(lái)越受重視, 與SVN相比, GitLab同樣提供完美的用戶權(quán)限管理, 與Git相比, 除了涵蓋Git所有功能, 同時(shí)又提供方便的后臺(tái)管理, 非常適合企業(yè)使用, 下面簡(jiǎn)單介紹下GitLab的搭建, 當(dāng)然, 官方文檔有提供相應(yīng)的方法, 但實(shí)際操作過(guò)程中, 并沒(méi)有那么順利.
1. 安裝相關(guān)依賴
yum install curl policycoreutils openssh-server openssh-clients -y # 確保sshd啟動(dòng)(正常情況下, sshd是啟動(dòng)的) systemctl enable sshd systemctl start sshd另外如果開(kāi)啟了防火墻, 注意設(shè)置防火墻的規(guī)則
2. 引入yum源, 并安裝gitlab
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash yum install gitlab-ce -y # 配置并啟動(dòng) gitlab-ctl reconfigure如果設(shè)備配置比較低, 會(huì)在啟動(dòng)過(guò)程中卡死, 建議最低雙核2G內(nèi)存
如果當(dāng)前服務(wù)器的80和8080端口均未被占用, 則直接可以通過(guò)服務(wù)器的ip或域名訪問(wèn)到后臺(tái)
http://ip或域名3. 使用主機(jī)的nginx
一般情況下, 我們希望通過(guò)自己nginx統(tǒng)一管理站點(diǎn), 而不需要使用gitlab附帶的, 這個(gè)時(shí)候我們要停用gitlab的nginx, 并配置我們自己的反向代理, 配置文件大致是這樣
server {listen 80;server_name gitlab.yinnote.com;location / {proxy_pass http://127.0.0.1:18080;} }之后, 我們?cè)谛薷膅itlab的配置文件
vi /etc/gitlab/gitlab.rb# 依次找到修改 # 指定host地址 external_url 'http://gitlab.yinnote.com' # 修改時(shí)區(qū) gitlab_rails['time_zone'] = 'PRC' # 關(guān)閉附帶的nginx nginx['enable'] = false如果我們的8080端口也被其他程序占用了, 比如說(shuō)我們有啟動(dòng)著的tomcat, 那么, 我們還需要修改unicorn的端口
# 同樣找到并修改 unicorn['port'] = 18080之后就可以重新加載配置文件并重啟服務(wù)了
gitlab-ctl reconfigure gitlab-ctl restart正常情況下, 我們應(yīng)該可以通過(guò) http://gitlab.yinnote.com 訪問(wèn)到后臺(tái), 但實(shí)際情況會(huì)出現(xiàn)錯(cuò)誤
坑 1
這種情況, 我們只要重新執(zhí)行一下npm安裝依賴包即可
cd /opt/gitlab/embedded/service/gitlab-rails npm install # 重啟服務(wù) gitlab-ctl restart注意, npm一定要配置國(guó)內(nèi)鏡像倉(cāng)庫(kù), 否則會(huì)執(zhí)行很慢, 另外, 執(zhí)行過(guò)程中, 可能會(huì)報(bào)一些錯(cuò), 這個(gè)可以暫不理會(huì), 是由于nodejs版本造成的
坑 2
完成上述情況, 我們的確可以正常訪問(wèn), 但當(dāng)我們打開(kāi)chrome的控制臺(tái), 去查看頁(yè)面資源加載情況, 會(huì)出現(xiàn)
我們看到很多422的錯(cuò)誤, 這里主要是/assets/webpack文件夾下的內(nèi)容加載不了, 這個(gè)是由于rails里面的CSP安全策略, 不加載 js, 不過(guò)我們可以通過(guò)配置nginx, 讓/assets為靜態(tài)站點(diǎn)目錄, 即在nginx配置文件中加上
location /assets {root /opt/gitlab/embedded/service/gitlab-rails/public;index index.html; }這個(gè)時(shí)候, 我們的靜態(tài)資源文件通過(guò)nginx去訪問(wèn), rails仍然可以保留自己的安全策略
作者:殷臨風(fēng)
鏈接:https://www.jianshu.com/p/808fbf9d972f
來(lái)源:簡(jiǎn)書(shū)
簡(jiǎn)書(shū)著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。
總結(jié)
以上是生活随笔為你收集整理的安装gitlab遇到的大坑!!!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php实现ffmpeg处理视频
- 下一篇: 天翼云对象存储android实现,使用天