欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Rainbond云原生快捷部署生產(chǎn)可用的Gitlab步驟詳解

 更新時(shí)間:2022年04月21日 12:56:21   作者:Rainbond 作者  
這篇文章主要為大家介紹了Rainbond云原生快捷部署生產(chǎn)可用的Gitlab步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

Gitlab簡(jiǎn)介

GitLab是利用 Ruby on Rails 一個(gè)開源的版本管理系統(tǒng),實(shí)現(xiàn)一個(gè)自托管的Git項(xiàng)目倉(cāng)庫(kù),可通過Web界面進(jìn)行訪問公開的或者私人項(xiàng)目。它擁有與Github類似的功能,能夠?yàn)g覽源代碼,管理缺陷和注釋。同時(shí)Gitlab集成了一系列的CI功能。不得不說,Gitlab在企業(yè)中是的使用率非常高。

Rainbond非常推薦用戶使用Git代碼倉(cāng)庫(kù)管理代碼,從而獲取更好的源代碼管理和自動(dòng)化CI體驗(yàn)。話不多說,接下來我們用10分鐘的時(shí)間完成Gitlab服務(wù)在Rainbond的完整部署。

準(zhǔn)備工作

  • 準(zhǔn)備一個(gè)可用的域名(如果你可以準(zhǔn)備),比如 git.example.com
  • 準(zhǔn)備域名對(duì)應(yīng)的證書(如果你可以準(zhǔn)備)
  • Rainbond平臺(tái)已安裝完成,參考文檔Rainbond快速安裝
  • Rainbond平臺(tái)處在能夠連接互聯(lián)網(wǎng)的環(huán)境下。

部署步驟

本教程我們將采用基于已制作完成的Docker鏡像安裝的方式部署Gitlab。部署完成后在Rainbond的運(yùn)行效果如下:

我們?cè)赗ainbond部署一個(gè)開源的項(xiàng)目,基于Docker鏡像的方式是最快,最簡(jiǎn)單的方式,特別是一些根據(jù)云原生的建議制作的鏡像在Rainbond運(yùn)行兼容性和體驗(yàn)都非常優(yōu)越。

我們今天部署的Gitlab服務(wù)包括Postgresql組件、Redis組件和Gitlab-Server組件,它們的網(wǎng)絡(luò)依賴關(guān)系如上圖你看到一樣,我們根據(jù)依賴關(guān)系從小到上依次部署。

首先創(chuàng)建應(yīng)用 GItlab然后從應(yīng)用管理頁面開始添加服務(wù)組件:

我們采用基于DockerRun命令的方式創(chuàng)建服務(wù),參考文檔 基于鏡像創(chuàng)建服務(wù) ,

此次部署的Gitlab鏡像由社區(qū)提供,是目前使用最廣的鏡像。

部署Postgresql組件

添加服務(wù)組件,基于以下DockerRun命令,Rainbond將從下面的命令中獲取鏡像名稱和持久化存儲(chǔ)目錄。

docker run --name gitlab-postgresql -d \
    --volume /srv/docker/gitlab/postgresql:/var/lib/postgresql \
    sameersbn/postgresql:10

服務(wù)構(gòu)建源識(shí)別完成后,通常的過程是直接創(chuàng)建并啟動(dòng),但是我們這里還需要設(shè)置服務(wù)的運(yùn)行類型為有狀態(tài)服務(wù),并且還需要設(shè)置一下連接信息。因此我們需要選擇創(chuàng)建不啟動(dòng)。方式如下:

強(qiáng)調(diào)一下,取消圖中紅色框框中的單選框,這一步非常重要

確認(rèn)后頁面直接跳轉(zhuǎn)到服務(wù)管理頁面,我們做以下幾步設(shè)置:

1.更改端口別名,設(shè)置連接信息

進(jìn)入服務(wù)端口管理頁面,服務(wù)已默認(rèn)添加了5432端口,更改端口協(xié)議為TCP, 打開端口的對(duì)內(nèi)服務(wù)按鈕,同時(shí)單擊"使用別名"后方的端口別名信息,在彈出窗中設(shè)置端口別名為 “DB”。確認(rèn)后將自動(dòng)生成DB_HOST和DB_POST兩個(gè)連接信息,在服務(wù)"依賴"頁面可以查詢連接信息, 同時(shí)我們繼續(xù)添加以下連接信息:

變量名說明
DB_EXTENSIONpg_trgm 
DB_NAMEgitlabhq_production數(shù)據(jù)庫(kù)名稱
DB_PASSpassword密碼,你自己可以隨便定義值
DB_USERgitlab連接數(shù)據(jù)庫(kù)用戶名

添加這些連接信息有兩個(gè)作用:

Postgresql將讀取這些變量自動(dòng)創(chuàng)建用戶和數(shù)據(jù)庫(kù)

Postgresql服務(wù)被Gitlab-Server依賴后將注入到Gitlab-Server環(huán)境中,Gitlab-Server將根據(jù)這些變量信息連接數(shù)據(jù)庫(kù)。

更多信息參考文檔服務(wù)端口管理 服務(wù)連接信息管理

2.更改服務(wù)部署類型

由于Postgresql屬于數(shù)據(jù)庫(kù)類,我們需要將服務(wù)部署類型設(shè)置為有狀態(tài)服務(wù),進(jìn)入服務(wù)"其他設(shè)置"頁面,在"基礎(chǔ)信息"信息中將服務(wù)的部署類型切換為有狀態(tài)服務(wù)。

3.創(chuàng)建服務(wù)

設(shè)置完成,點(diǎn)擊構(gòu)建開始構(gòu)建并啟動(dòng)服務(wù),這時(shí)候我們可以開始下一個(gè)組件的部署了。

部署Redis組件

部署Redis組件的過程與Postgresql一致,唯一的不同是不需要添加過多的連接信息。

1.基于下述DockerRun命令添加服務(wù)

docker run --name gitlab-redis -d \
    --volume /srv/docker/gitlab/redis:/var/lib/redis \
    sameersbn/redis:4.0.9-1

2.完成檢查后設(shè)置創(chuàng)建不啟動(dòng),進(jìn)入服務(wù)管理頁面

3.設(shè)置6379端口別名為REDIS,并開啟端口對(duì)內(nèi)服務(wù)。完成后在服務(wù)依賴頁面可以查看到REDIS_HOST和REDIS_PORT兩個(gè)連接信息變量,此變量將被注入到Gitlab服務(wù)中。

4.更改服務(wù)的部署類型為有狀態(tài)服務(wù)。

5.創(chuàng)建服務(wù),現(xiàn)在可以進(jìn)入下一個(gè)環(huán)節(jié)了。

部署Gitlab-Server組件

1.使用下述的DockerRun命令創(chuàng)建組件,選擇創(chuàng)建不啟動(dòng)。

docker run --name gitlab -d \
    --publish 10022:22 --publish 10080:80 \
    -e GITLAB_PORT=80 \
    -e GITLAB_HOST=git.example.com \
    -e GITLAB_SSH_PORT=10022 \
    -e GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string \
    -e GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string \
    -e GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string \
    --volume /srv/docker/gitlab/gitlab:/home/git/data \
    sameersbn/gitlab:11.8.2

這里需要說明的是其中的幾個(gè)變量信息:

變量說明
GITLAB_PORT80 
GITLAB_HOSTgit.example.com之前準(zhǔn)備的域名,如果沒有準(zhǔn)備后續(xù)設(shè)置Rainbond默認(rèn)分配的域名即可(創(chuàng)建后可更改)
GITLAB_SSH_PORT20222Gitlab server 22端口開啟外網(wǎng)訪問后分配的端口(創(chuàng)建后可更改)
GITLAB_SSH_HOST10.10.10.10Gitlab server 22端口開啟外網(wǎng)訪問后的IP(創(chuàng)建后可更改)

2.創(chuàng)建服務(wù)后依賴上面建立的兩個(gè)服務(wù)。直接進(jìn)入拓?fù)鋱D編輯模式,將Gitlab Server與redis和postgresql服務(wù)連線即可。參考文檔 建立服務(wù)依賴

3.構(gòu)建服務(wù),等待服務(wù)啟動(dòng)完成。

注意,Gitlab服務(wù)第一次啟動(dòng)過程比較緩慢,等待服務(wù)啟動(dòng)完成。

配置網(wǎng)關(guān)訪問策略

gitlab服務(wù)提供80端口的HTTP訪問和22端口的SSH代碼訪問,分別為其添加訪問策略。

80端口,配置HTTP訪問策略,使用預(yù)先準(zhǔn)備的域名比如(git.example.com),這與GITLAB_HOST配置的必須一致。綁定域名對(duì)應(yīng)的證書。

添加完成后進(jìn)入訪問策略列表,選擇剛剛添加的策略,進(jìn)入?yún)?shù)配置,將"上傳限制"調(diào)整為10000 Mb,基本就是不限制了。

參考文檔 添加HTTP訪問策略

為22端口添加TCP策略,生成的IP和端口需要與GITLAB_SSH_HOST GITLAB_SSH_PORT 兩個(gè)變量一致。

到此,Gitlab服務(wù)部署完成,你可以直接訪問服務(wù)了。第一次進(jìn)入時(shí)將設(shè)置root賬號(hào)的密碼。

FAQ

  • 安裝完成,訪問返回Gitlab的502頁面

這個(gè)時(shí)候Gitlab正在進(jìn)行初始化和啟動(dòng)過程,內(nèi)部的某些進(jìn)程還未啟動(dòng)完成。這個(gè)時(shí)候只需要等待服務(wù)啟動(dòng)完成即可,第一次啟動(dòng)大概5-10分鐘。

  • 上述過程還是有點(diǎn)復(fù)雜,能不能直接一鍵部署。

那當(dāng)然是可以的,我已將Gitlab服務(wù)分享到Rainbond公有應(yīng)用市場(chǎng),供給Rainbond用戶一鍵安裝,應(yīng)用市場(chǎng)搜索"Gitlab代碼倉(cāng)庫(kù)服務(wù)" 選擇版本v11.8.2,同步后直接安裝即可。需要注意的是,安裝完成后需要根據(jù)你的網(wǎng)關(guān)訪問策略重新配置Gitlab的GITLAB_HOST、GITLAB_SSH_HOST等信息。

以上就是Rainbond云原生快捷部署生產(chǎn)可用的Gitlab步驟詳解的詳細(xì)內(nèi)容,更多關(guān)于Rainbond部署生產(chǎn)可用Gitlab的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • k8s?Ingress使用詳解(云原生kubernetes)

    k8s?Ingress使用詳解(云原生kubernetes)

    k8s提供了Ingress這種資源對(duì)象,Ingress只需要一個(gè)NodePort或者一個(gè)LB就可以滿足暴露多個(gè)Service的需求,接下來通過本文講解下k8s?Ingress使用詳解(云原生kubernetes),需要的朋友可以參考下
    2023-02-02
  • K8s解決主機(jī)重啟后kubelet無法自動(dòng)啟動(dòng)問題(推薦)

    K8s解決主機(jī)重啟后kubelet無法自動(dòng)啟動(dòng)問題(推薦)

    在安裝配置好Kubernetes后,正常情況下服務(wù)器關(guān)機(jī)重啟,kubelet也會(huì)自動(dòng)啟動(dòng)的,如何解決這個(gè)問題呢,下面小編給大家?guī)砹薑8s解決主機(jī)重啟后kubelet無法自動(dòng)啟動(dòng)問題,感興趣的朋友一起看看吧
    2022-08-08
  • Kubernetes教程之Windows?HostProcess?運(yùn)行容器化負(fù)載

    Kubernetes教程之Windows?HostProcess?運(yùn)行容器化負(fù)載

    這篇文章主要介紹了Kubernetes?Windows?HostProcess?運(yùn)行容器化負(fù)載,本篇內(nèi)容還是比較多的,總共包含了?Windows?HostProcess的創(chuàng)建、為?Windows?Pod?和容器配置?GMSA?和?Windows?的?Pod?和容器配置?RunAsUserName三大功能模塊,需要的朋友可以參考下
    2022-07-07
  • Rancher通過界面管理K8s平臺(tái)的圖文步驟詳解

    Rancher通過界面管理K8s平臺(tái)的圖文步驟詳解

    這篇文章主要為大家介紹了Rancher通過界面管理K8s平臺(tái)通過詳細(xì)的圖文進(jìn)行步驟講解,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • KubeSphere分級(jí)管理實(shí)踐及解析

    KubeSphere分級(jí)管理實(shí)踐及解析

    這篇文章主要為大家介紹了KubeSphere分級(jí)管理實(shí)踐及解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Kubernetes調(diào)度管理優(yōu)先級(jí)和搶占機(jī)制詳解

    Kubernetes調(diào)度管理優(yōu)先級(jí)和搶占機(jī)制詳解

    這篇文章主要為大家介紹了Kubernetes調(diào)度管理優(yōu)先級(jí)和搶占機(jī)制詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Kubernetes控制器中DaemonSet與Job的使用教程

    Kubernetes控制器中DaemonSet與Job的使用教程

    這篇文章主要介紹了Kubernetes控制器中DaemonSet與Job的使用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • podman容器工具的具體使用

    podman容器工具的具體使用

    本文主要介紹了podman容器工具的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • kubernetes認(rèn)證鑒權(quán)內(nèi)容淺析

    kubernetes認(rèn)證鑒權(quán)內(nèi)容淺析

    這篇文章主要為大家介紹了kubernetes認(rèn)證鑒權(quán)內(nèi)容淺析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Kubernetes集群環(huán)境初始化

    Kubernetes集群環(huán)境初始化

    這篇文章介紹了Kubernetes集群環(huán)境初始化的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04

最新評(píng)論