導航:首頁 > 操作系統 > linux搭建gitlab

linux搭建gitlab

發布時間:2023-05-27 11:42:02

① 如何在一台伺服器上同時搭建禪道和gitlab

如果使用的是linux一鍵安裝包,按照安裝文檔啟動服務即可,如果要自己搭建環境,需要先把 apache mysql php環境搭建好,如何搭建可以網上搜索資料,介紹的資料很多。

② gitlab 怎麼在linux上建目錄

GitLab是由Ruby語言開發的基於Linux的Git伺服器,是我見過的最強大的Git伺服器。發現它之後,立即決定將Git伺服器換成GitLab。 但安裝好GitLab之後面臨一個問題,如何將伺服器上的git項目直接導入到GitLab,之前的Git伺服器是由是git+apache搭建的(詳見在Linux上用Apache搭建Git伺服器)。 在網上發現了這篇文檔——Import bare repositories into your GitLab instance,並按之進行了操作。 1)設置存放代碼庫的主目錄 vi /etc/gitlab/gitlab.rb 比如這里設置為:git_data_dir "/gitlab/repos" 2)訪問剛搭建的GitLab站點,創建一個group,比如cnblogs。 這時會在 /gitlab/repos 下創建 /gitlab/repos/repositories/cnblogs 文件夾。 然後在/gitlab/repos/repositories/創建一個文件夾,比如cnblogs 3)將現有的所有git項目文件復制到這個文件夾 cp -r /data/git/* /gitlab/repos/repositories/cnblogs 4)修改一下復制過來的文件夾的所有者: chown -R git:git /gitlab/repos/repositories/cnblogs 5)運行GitLab導入命令 cd /var/opt/gitlab gitlab-rake gitlab:import:repos 等了一段時間之後,顯示done,卻一個項目也沒導入進來。

③ Gitlab+Jenkins通過鉤子實現自動部署web項目,圖文詳細教程

擴展參考:Jenkins+Gitlab通過腳本自動部署回滾web項目至集群

1):Gitlab伺服器:ubuntu 192.168.152.131 ---參考搭建:Linux安裝gitlab,docker安裝gitlab教程

2):Jenkins伺服器:ubunu 192.168.152.130 ---參考搭建:linux安裝Jenkins,或docker安裝Jenkins教程

在伺服器上生成ssh-keygen,用於配置web伺服器和Gitlab伺服器。

3):web伺服器:centos 192.168.152.150 ---已搭建好LNMP環境

4):開發者電腦:Windows+key密鑰 (用於提交代碼)

1:在gitlab創建項目Test Project

2.1): 配置一個開發者電腦的ssh公鑰到gitlab

配置一個開發者電腦的ssh公鑰到gitlab,這樣才能模擬開發上傳代碼到gitlab。

windows生成key過程及git安裝,可參考:Windows下git和github的使用圖文詳細教程_the丶only的博客-CSDN博客_github win

在windows測試clone,和提交代碼。


註:最新版git 已經將默認分支master改為main了。所以看到main,而不是master不要太奇怪

測試成功,在gitlab也顯示有index.html文件。

2.2): 配置jenkins公鑰到gitlab

同理,同樣需要jenkins公鑰,因為jenkins也需要拉去gitlab的代碼。

jenkins伺服器 上查看公鑰並復制添加到gitlab,並命名為jekins。

1:插件管理,安裝插件

jenkins本身沒什麼功能,主要是依靠插件來實現各種強大的功能。

基本需要添加的插件:Gitlab Hook、Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、Gitlab、Git Parameter

可以在 Manage Jenkins >> Manage Plugins 查看管理插件。在Available 選項搜索安裝插件即可。

安裝完成後,重啟Jenkins。

2:添加需要部署的web主機

在 Manage Jenkins >> Configure System 中往下翻,找到 Publish over SSH 選項,點擊add ssh server。

在Jenkins伺服器上,查看私鑰,注,是私鑰,不是公鑰。

將私鑰填寫在key位置,還有添加web伺服器相關信息。

註:如果測試報錯如下

Failed to connect or change directory
jenkins.plugins.publish_over.BapPublisherException: Failed to add SSH key. Message [invalid privatekey: [B@2e54414f]

是因為默認用ssh-keygen命令,默認生成了OPENSSH 格式密鑰。而Jenkins暫時不支持這種私鑰,私鑰開頭結尾如下:

所以,需要生成rsa密鑰格式的。用開頭說的ssh-keygen加其他參數生成即可。

私鑰開頭結尾如下:

再次測試,顯示success,則成功。然後點擊save保存即可。

3:構建任務項目

首頁創建任務或者一個項目

命名為web-project,選擇為freestyle project 自由項目。然後ok確認。

3.1):源碼管理 Source Code Management

選擇源碼管理,添加gitlab的項目clone地址。

註:最後路徑選擇分支,我gitlab主分支名字為main,如果是master,則寫master,或者合並的其他分支。

在add添加用戶

添加完成後,選擇git用戶,這時沒有紅色提醒,說明已成功連接

3.2):構建觸發器 Build Triggers

現在Build Triggers,勾選build when....,其他默認,並記下鏈接 http://192.168.152.130:8080/project/web-project

點擊高級 advance 選項。

勾選filter branches regex選擇,填寫分支,生產token。其他默認

3.3):構建 Build

選擇Build 選項。選擇ssh

添加web伺服器

添加完畢,最後save保存。

1:添加鉤子webhooks.

選擇自己的項目Test Project,在設置setting里,選擇鉤子webhooks.

填寫剛才記下的http://192.168.152.130:8080/project/web-project和token值。

最後Add webhook完成:

2:如添加失敗,報錯,更改Network

註:如填寫失敗提示Url is blocked: Requests to the local network are not allowed

還需更改Network選項。

3:測試鉤子

添加完成後,下面會出現鉤子選擇。點擊test中的,push event。

出現successful,即添加成功。

在Jenkins也可以看到剛才的測試時間信息。

在開發電腦上測試提交,我這里為Windows電腦測試。

打開Git Bash,輸入以下命令:

提交成功,回到Jenkins,查看是否構建成功:

綠色顯示構建成功,無錯誤顯示。回到gitlab查看項目。

時間顯示剛才也提交成功,無錯誤。最後在瀏覽器輸入web地址測試,本人配置了web訪問埠8082。所以輸入IP加埠訪問。

內容也已經自動更新成功。

完結撒花!!!

④ GitLab搭建個人(或公司)版本控制系統

說明:Git,Github,GitLab三者關系。

Git - 是一款自由和開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的項目。是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟體。(svn是集中化的版本控制系統)。

GitHub - 是一個面向開源及私有軟體項目的託管平台(也就一個網站),提供給用戶空間創建git倉儲,保存用戶的一些數據文檔或者代碼等。它可以託管各種git庫,並提供一個web界面。被戲稱為「全世界最大的同性交流社區」。

GitLab - 基於Git的項目管理軟體。使用Git作為代碼管理工具,並在此基礎上搭建起來的web服務。

當然啦國內開源中國出的「碼雲」,第一次聽得人還以為是「馬雲」。我醬紫。它跟Github功能差不多,都能建立公有和私有的倉庫。不過嘛感覺有點封閉,社區沒有Github熱鬧。

有的人就說啦,我完全可以在Github或者GitLab上做遠端代碼倉庫,為啥還要倒騰GitLab自建代碼託管系統?就一個字: 「代碼安全性」(公司保密規定)。 對於公司來說,GitLab讓開發團隊對他們的代碼倉庫擁有更多的控制,相比於GitHub,它有不少的特色:

一、自建代碼託管系統都需要做些什麼工作?

1. 選擇開源軟體

Git 大家族的 GitLab ,它提供了完善的用戶許可權管理,除了涵蓋 Git 所有的功能,同時又提供方便的後台管理。分別有CE(社區版)、EE(企業版)、OM(RPM 包完整版)三個版本,目前市面上開發者們的普遍選擇是使用 CE 版的源碼,成本較低且相對方便。

2. 硬體設施方面

如果是對於中小型企業來講,自建機房一般成本較高,所以除非是大型集團企業。現在市面上存在太多的雲伺服器廠商,平均價格多在 5000元/年以上,都是不錯的選擇。

可能遇到的坑:

3.由於個人眼界以及信息不對稱,目前大部分公司都是在公司區域網內自行用GitLab搭建代碼託管系統。部署Gitlab 是對伺服器有配置要求的建議是CPU兩核,內存4G以上。個人經驗,勿噴啦。

二、搭建過程(這里僅是作者接觸的,其實還有很多更高級的盤法)

Gitlab的服務構成

1.搭建方法分為:傳統方式安裝GitLab和Docker安裝(推薦)。

2.傳統安裝過程(平台使用centos7安裝)

安裝和配置必要的依賴項:

安裝Postfix以發送通知郵件:

在安裝Postfix期間,可能會出現配置屏幕。選擇「Internet Site」並按enter鍵。使用您的伺服器的外部DNS以「mail name」並按enter。如果出現額外的屏幕,繼續按enter鍵接受默認值。

添加GitLab鏡像源並安裝gitlab伺服器:

注意這里設置的埠不能被佔用,默認是8080埠,如果8080已經使用,請自定義其它埠,並在防火牆設置開放相對應得埠。

重置並啟動GitLab:

訪問 GitLab頁面:如果沒有域名,直接輸入伺服器ip和指定埠進行訪問

獲取/修改超級管理員root的密碼:

最後我們使用默認的賬號:root 和剛剛設置好的密碼12345678進行登錄。

後面的步驟配置SSH key,git Bash的global config等初始化設置跟GitHub一樣。可是還有一點就是「漢化」。(英文不好的小夥伴)但是有一定風險,後面我打開報502錯誤。有兩種方法:用git比對出英文與中文的補丁,將英文打補丁。第二是直接下載中文版,替換英文。

3.Docker安裝(推薦)

(1)配置docker鏡像

直接從 docker hub 獲取的話速度非常慢,所以需要配置一個鏡像。我使用的是 cloud.io提供的加速器,速度很快。

(2)獲取 GitLab 鏡像

下載完成後,查看鏡像列表

(3)啟動容器

3個--publish指定容器與主機的埠映射,分別是 http、https、ssh

3個--volume指定數據卷的映射,分別是 gitlab 的 配置、日誌、數據

(4)配置外部訪問 URL

修改 gitlab 配置文件:

找到 external_url 這一項修改為自己伺服器的訪問地址:

保存後,重啟容器

(5)訪問

初次訪問時,gitlab 要求我們重置管理員密碼,修改完成後登錄。默認用戶root。

當然以上為個人實驗,公司裡面大部分為CTO等大佬已經搭建完畢,我們主要是折騰。

最後推薦個人用很順手的工具: SourceTree (可視化界面的Git),當然啦要想成為大牛或者裝13也好,還是從Git Bash里敲命令行。

⑤ 個人Gitlab搭建及配置

訪問http:// ip地址

設置密碼,然後通過 root + password 登錄,當然也可以自己新建用戶。

之後,將要訪問此GitLab的伺服器上的公鑰添加進來就可以進行愉快的玩耍了 (Linux 系統一般在 /root/.ssh 目錄下,Windows一般在 C:\Users\用戶名.ssh 目錄下)

當你完成以上操作之後,你會發現你倉庫中的SSH和HTTP地址是下圖這樣的,所以我們要對GitLab進行IP顯示的配置及埠配置。

修改如下項

修改 gitlab.rb

當你完成以上配置後,還是不能通過 http:// ip location : prot 來訪問你的GitLab倉庫。

修改GitLab ngnix 監聽埠

完成以上設置之後,就可以通過 IP + PORT 來訪問你的GitLab庫了,同時倉庫的HTTP地址顯示也正常

修改SSH埠首先要修改伺服器的SSH埠,這會影響到 Xshell 對伺服器的連接。

完成以上操作之後,一切就都正常了

⑥ 為什麼都是使用linux系統去搭建Gitlab而不是使用現成的網頁版Gitlab呢

  1. 自己搭建方便可控

  2. 直接用網頁版的,數據始終是放在別人那裡,萬一別人哪天要收費了 或者停止服務了,有諸多不便

  3. 使用linux系統,符合主流,佔用資源少

  4. 希望可以幫助你,請採納,謝謝!

閱讀全文

與linux搭建gitlab相關的資料

熱點內容
手機淘寶登錄怎麼加密碼 瀏覽:481
linux快捷方式圖標 瀏覽:33
陽光車險的app叫什麼名字 瀏覽:461
購買單片機的器件時需要給商家啥 瀏覽:534
並行編譯技術的發展 瀏覽:549
阿里雲伺服器安裝管理 瀏覽:550
java手機開發教程 瀏覽:673
我的世界怎麼刪除伺服器數據 瀏覽:671
linux內存子系統 瀏覽:972
加密思維幣 瀏覽:690
魅族訪客文件夾 瀏覽:52
添加的文件夾怎麼找 瀏覽:617
程序員涉黃 瀏覽:700
maven編譯resources下的js 瀏覽:521
ubuntu文件移動命令 瀏覽:229
安卓i怎麼查找蘋果手機 瀏覽:951
雲伺服器宕機概率 瀏覽:232
在線買葯用什麼app知乎 瀏覽:815
ubuntu解壓xz文件 瀏覽:676
宏傑加密時電腦關機 瀏覽:390