搜尋
首頁開發工具GitCentOS7 Gitlab 安裝指南

CentOS7 Gitlab 安裝指南

Mar 31, 2023 am 11:13 AM

CentOS7 Gitlab 安裝指南

概述

GitLab 是一款基於Git的Web介面的Git程式碼託管和程式碼審查的開源軟體。它具有版本控制、程式碼審查、協作等功能,被認為是 GitHub 的完美替代品。本文將介紹在 CentOS7 上安裝 GitLab 的過程。

系統需求

  • CentOS7 x64 系統,記憶體2GB 以上;
  • 安裝並啟動Nginx;
  • 安裝並啟動PostgreSQL;
  • 安裝並啟動Redis;
  • 開通TCP 連接埠22,80,443。

安裝必要軟體包

為了安裝 GitLab,您需要在系統上安裝一些必要軟體包。

sudo yum -y update
sudo yum -y install curl openssh-server openssh-clients postfix cronie wget

安裝GitLab

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum -y install gitlab-ce

GitLab 啟動

sudo gitlab-ctl reconfigure

在完成GitLab 的安裝過程之後,可以使用以下命令啟動GitLab:

sudo gitlab-ctl start

存取GitLab

預設情況下,GitLab 使用HTTP 協定的80 端口,因為在安裝GitLab 的過程中已經安裝了Nginx,所以可以透過存取伺服器的IP 位址或網域名稱來存取您的GitLab 實例。

http://<your-server-ip></your-server-ip>

第一次存取 Gitlab

當您第一次存取您的 GitLab 實例的時候,需要設定管理員密碼,以便在下一次存取時進行身份驗證。

在瀏覽器中存取 GitLab 實例時,會自動導向到密碼設定頁面。輸入密碼並點選 "設定密碼" 按鈕。密碼必須至少包含一個小寫字母、一個大寫字母、一個數字和一個非字母的字符,長度至少為 8 個字符。如下圖所示:

CentOS7 Gitlab 安裝指南

設定密碼後,會自動導向登入頁面,使用您剛剛設定的密碼登入即可。

Nginx 反代

Nginx 反代可以加速 GitLab 運作速度。

修改 GitLab 設定檔

sudo vim /etc/gitlab/gitlab.rb

找到下面這一行:

external_url 'http://gitlab.example.com'

將其中的 http://gitlab.example.com 變更為您的網域或 IP 位址。然後將組態寫入 GitLab。

sudo gitlab-ctl reconfigure

設定Nginx

建立一個新的Nginx 設定檔:

sudo touch /etc/nginx/conf.d/gitlab.conf
sudo vim /etc/nginx/conf.d/gitlab.conf

新增以下內容:

upstream gitlab-workhorse {
  server 127.0.0.1:8181 fail_timeout=0;
}

server {
  listen 80;

  # Replace with your domain name
  server_name gitlab.example.com;
  server_tokens off; ## Don't show the nginx version number, a security best practice

  location / {
    # Change this to the protocol you prefer/require.
    proxy_pass http://gitlab-workhorse;

    # Enable websocket support
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;

    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Ssl on;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_read_timeout 180;
    proxy_send_timeout 180;
  }
}

將裡面的gitlab.example.com 更改為您的Nginx 網域或IP。

重啟 Nginx。

sudo systemctl restart nginx.service

存取 GitLab 介面。

http://gitlab.example.com

總結

在 CentOS7 上建立 GitLab 不難,遵循上述步驟可以在短時間內完成基本安裝。如果您需要更高層級的配置,可以按照 GitLab 官方文件中提供的方式進行操作。

參考文獻

  • [1] GitLab.com
  • [2] GitLab Documentation
  • [3] How to Install Gitlab, Nginx and SSL on CentOS 7
  • [4] How To Install and Configure GitLab on CentOS 7
#

以上是CentOS7 Gitlab 安裝指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
行動中的github:示例和用例行動中的github:示例和用例Apr 12, 2025 am 12:16 AM

GitHub是提升軟件開發效率和質量的強大工具。 1)版本控制:通過Git管理代碼變更。 2)PullRequests:進行代碼審查,提高代碼質量。 3)Issues:跟踪bug和項目進度。 4)GitHubActions:自動化構建、測試和部署流程。

git vs. github:版本控制和代碼託管git vs. github:版本控制和代碼託管Apr 11, 2025 am 11:33 AM

Git是版本控制系統,GitHub是基於Git的代碼託管平台。 Git用於管理代碼版本,支持本地操作;GitHub提供在線協作工具,如Issue跟踪和PullRequest。

什麼是簡單的話?什麼是簡單的話?Apr 09, 2025 am 12:12 AM

Git是一個開源的分佈式版本控制系統,幫助開發者跟踪文件變化、協同工作和管理代碼版本。它的核心功能包括:1)記錄代碼修改,2)回退到之前版本,3)協同開發,4)創建和管理分支進行並行開發。

git和github相同嗎?git和github相同嗎?Apr 08, 2025 am 12:13 AM

Git和GitHub不是同一回事。 Git是版本控制系統,GitHub是基於Git的代碼託管平台。 Git用於管理代碼版本,GitHub提供在線協作環境。

如何將github用於HTML?如何將github用於HTML?Apr 07, 2025 am 12:13 AM

使用GitHub管理HTML項目的原因是它提供了版本控制、協作開發和展示作品的平台。具體步驟包括:1.創建並初始化Git倉庫,2.添加和提交HTML文件,3.推送到GitHub,4.使用GitHubPages部署網頁,5.利用GitHubActions自動化構建和部署。此外,GitHub還支持代碼審查、Issue和PullRequest功能,幫助優化和協作開發HTML項目。

我應該從git還是github開始?我應該從git還是github開始?Apr 06, 2025 am 12:09 AM

從Git開始更適合深入理解版本控制原理,從GitHub開始更適合關注協作和代碼託管。 1.Git是一個分佈式版本控制系統,幫助管理代碼版本歷史。 2.GitHub是一個基於Git的在線平台,提供代碼託管和協作功能。

Microsoft是否擁有Git或Github?Microsoft是否擁有Git或Github?Apr 05, 2025 am 12:20 AM

微軟不擁有Git,但擁有GitHub。 1.Git是林納斯·托瓦茲在2005年創建的分佈式版本控制系統。 2.GitHub是基於Git的在線代碼託管平台,成立於2008年,微軟於2018年收購。

我應該把git或github放在簡歷上嗎?我應該把git或github放在簡歷上嗎?Apr 04, 2025 am 12:04 AM

在簡歷上應根據職位要求和個人經驗選擇寫Git還是GitHub。 1.如果職位要求Git技能,突出Git。 2.如果職位看重社區參與,展示GitHub。 3.確保詳細描述使用經驗和項目案例,以完整句子結束。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境