吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Flexus X實例GitLab部署和構建流水線-私人一體化代碼倉庫

jf_94205927 ? 來源:jf_94205927 ? 作者:jf_94205927 ? 2025-01-18 11:09 ? 次閱讀

前言 Gitlab

828 B2B 企業節盛大啟幕,GitLab 賦能自動化流程,引領創新部署新時代!在這個瞬息萬變的數字時代,我們激動地推出整合 GitLab、Docker 的頂尖解決方案,為您的軟件開發項目注入前所未有的效率與靈活性。專為追求卓越的一體化開發流程設計,這一方案將徹底改變您從代碼提交到生產上線的全過程。

GitLab 是一個基于 Git 的開源分布式版本控制系統,也是一個用于倉庫管理系統的 Web 服務。它由 Dmitriy Zaporozhets 和 Valery Sizov 于 2011 年創建,旨在構建企業自托管 Git 平臺,減少對外部依賴。GitLab 提供了豐富的功能,包括代碼托管、版本控制、代碼審查、項目管理、持續集成/持續部署(CI/CD)等

本實踐指南將引領您深入體驗 GitLab CI/CD 與 GitLab Runner 的完美融合,以構建一套高效、自動化的.NET 控制臺應用程序部署流程。您將學習到如何通過 GitLab CI/CD 功能配置 Runner 來監聽 GitLab 的 Webhooks,從而實現在代碼提交后自動觸發構建和部署流程;如何利用 Docker 容器技術來快速打包和運行您的.NET 控制臺應用;以及如何通過編寫.gitlab-ci.yml 腳本來管理整個自動化部署流程。

環境準備

本實驗環境是 Flexus X 實例自定義模式,使用了 4vCPUs | 12GiB,鏡像是最高版本的 ubuntu,我已經提前在服務器中安裝了 docker 環境,在之前的實驗中使用 xshell 連接了服務器,隨后在服務器中安裝了 dokcer。可自行操作或參考下面實驗(完成購買服務器以及安裝 docker 步驟)!

GitLab 部署

拉取 GitLab 鏡像

GitLab 提供了免費的社區版(CE),適合中小型公司和個人開發者使用。同時,它也提供了收費的企業版(EE),為企業用戶提供更多的高級功能和支持。下面實驗中我們使用社區版。

首先,從 Docker Hub 上拉取 GitLab 的鏡像。使用以下命令拉取最新版本的 GitLab CE(社區版)鏡像:

docker pull gitlab/gitlab-ce

如果你需要特定版本的 GitLab,可以將 latest 替換為具體的版本號,例如 gitlab/gitlab-ce:14.10.0。

創建映射目錄

GitLab 在容器內部會生成配置文件、日志文件和數據文件。為了方便管理和持久化這些文件,你需要在宿主機上創建相應的目錄,并將它們映射到容器內部。通常,你會創建以下三個目錄:

·/srv/gitlab/config:用于存放 GitLab 的配置文件。

·/srv/gitlab/logs:用于存放 GitLab 的日志文件。

·/srv/gitlab/data:用于存放 GitLab 的數據文件。

可以使用以下命令創建這些目錄:

mkdir -p /srv/gitlab/config

mkdir -p /srv/gitlab/logs

mkdir -p /srv/gitlab/data

運行 GitLab 容器

接下來,使用 docker run 命令運行 GitLab 容器。你需要指定容器的一些運行參數,如主機名、端口映射、容器名稱、重啟策略以及數據卷映射等。以下是一個基本的運行命令示例:

docker run --detach --publish 443:443 --publish 80:80 --publish 2222:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume

/srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

--detach:在后臺運行容器。

--publish:將容器內部的端口映射到宿主機的端口上,便于外部訪問。

--name:為容器指定一個名稱。

--restart always:設置容器總是自動重啟。

--volume:將容器內的數據卷映射到宿主機的指定目錄上。

修改 gitlab.rb 配置

(因為文件內容比較多,不熟悉的話建議將服務器上的配置拉下來全局搜索修改)

執行命令 vim srv/gitlab/config/gitlab.rb 找到下面這個配置

# external_url 'GENERATED_EXTERNAL_URL'(大約在 32 行位置)

wKgZPGdtLJyADwGQAAA_re10ZwY475.png

去掉注釋,并修改為我們服務器的地址!!!

wKgZO2dtLJ2ALJBiAAAdyFjXoZA860.png

配置 ssh 使用的訪問地址和端口

# gitlab_rails['gitlab_ssh_host'] = 'ssh.host_example.com'(大約在 66 行位置)

wKgZPGdtLJ2ACM1rAAAYcmnmm1E133.png

修改 gitlab_rails['gitlab_shell_ssh_port'] 為 = 2222,因為上面 docker run 的時候,我們避免端口沖突,設置端口映射配置為--publish 2222:22(大約在 698 行位置)

wKgZO2dtLJ2AE-6cAAAZ37CqdK4817.png

主要修改的地方就上面三處,我們還可以修改如下配置設置 SMTP 服務器,配置 SMTP 的作用有:

如當新用戶注冊 GitLab 賬戶時,系統可以通過 SMTP 發送一封確認郵件給用戶,以確保用戶郵箱的有效性,并允許用戶完成注冊過程。

或是當項目中有新的合并請求(Merge Request)時,GitLab 可以自動通過 SMTP 向相關用戶發送通知郵件,提醒他們審查或處理合并請求等等等~~~

可根據需求自行選擇是否配置

修改代碼并提交

上面的部署流程已經走通,接下來我們在本地修改一下代碼,并通過 git 提交上去。

wKgZPGdtLJ2APFOFAAGoe5hySpc549.png

代碼提交后,gitlab 會自動觸發構建流水線!

wKgZO2dtLJ6ADkxlAAG3YBeoILs272.png

在作業的控制臺中看到成功輸出我們剛剛打印的內容!

wKgZPGdtLJ6Ab8oEAAPsqSk-i7A552.png

以上只是一個監聽 gitlab 代碼提交自動觸發構建和部署的簡單案例,在 GitLab CI/CD 的實際開發場景中,使用.gitlab-ci.yml 文件來定義構建、測試、部署等流程遠比上述簡單的示例復雜和多樣化。根據你的具體需求和項目規模,你可以通過調整 CI/CD 流程以適應你的工作流程和環境。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 云計算
    +關注

    關注

    39

    文章

    7859

    瀏覽量

    137856
  • 服務器
    +關注

    關注

    12

    文章

    9303

    瀏覽量

    86059
  • 流水線
    +關注

    關注

    0

    文章

    121

    瀏覽量

    25955
收藏 人收藏

    評論

    相關推薦

    什么是機電一體化

    機電一體化http://www.gooxian.com/article/show-1823.htm就是“利用電子、信息(包括傳感器、控制、計算機等)技術使機械柔性和智能”的技術1) 術語的來源
    發表于 08-29 09:06

     華為云ServiceStage完美支持多個主流源碼托管倉庫

    Gitee、GitHub、Gitlab、Bitbucket及DevCloud等主流源碼托管倉庫,開發者可根據實際需要,選擇合適的源碼倉庫對接ServiceStage的微服務流水線。  
    發表于 08-03 13:58

    什么是流水線技術

    什么是流水線技術 流水線技術
    發表于 02-04 10:21 ?3950次閱讀

    電鍍流水線的PLC控制

    電鍍流水線的PLC控制電鍍流水線的PLC控制電鍍流水線的PLC控制
    發表于 02-17 17:13 ?36次下載

    如何利用樂高積木制作成自動流水線

    自動流水線個統稱,包括組裝流水線、皮帶流水線、鏈板線、插件線等等,主要通過自動系統來操作
    的頭像 發表于 05-22 06:06 ?6872次閱讀

    FPGA之為什么要進行流水線的設計

    流水線又稱為裝配線,種工業上的生產方式,指每個生產單位只專注處理某個片段的工作。以提高工作效率及產量;按照流水線的輸送方式大體可以分為
    的頭像 發表于 11-28 07:04 ?3655次閱讀

    各種流水線特點及常見流水線設計方式

    按照流水線的輸送方式大體可以分為:皮帶流水裝配線、板鏈線、倍速鏈、插件線、網帶線、懸掛線及滾筒流水線這七類流水線
    的頭像 發表于 07-05 11:12 ?7477次閱讀
    各種<b class='flag-5'>流水線</b>特點及常見<b class='flag-5'>流水線</b>設計方式

    滾筒輸流水線故障排除方法

    在工程建造中,滾筒流水線演著重要的角色。在些工程建造過程中,經常看到滾筒流水線的身影。在工業不斷發展下的今天,滾筒流水線日益增長,走向多元
    發表于 07-08 09:32 ?1941次閱讀

    嵌入式_流水線

    流水線、定義流水線是指在程序執行時多條指令重疊進行操作的種準并行處理實現技術。各種部件同時處理是針對不同指令而言的,他們可同時為多條指令的不同部分進行工作。? 把
    發表于 10-20 20:51 ?6次下載
    嵌入式_<b class='flag-5'>流水線</b>

    基于非常簡單的Python代碼就能完成流水線開發

    Mara-pipelines 是個輕量級的數據轉換框架,具有透明和低復雜性的特點。其他特點如下: 基于非常簡單的Python代碼就能完成流水線開發。 使用 PostgreSQL 作為數據處理引擎
    的頭像 發表于 11-16 18:20 ?2985次閱讀

    什么是流水線 Jenkins的流水線詳解

    jenkins 有 2 種流水線分為聲明式流水線與腳本流水線,腳本流水線是 jenkins
    發表于 05-17 16:57 ?1117次閱讀

    華為云 Flexus X 實例:極速搭建個人代碼倉庫 GitLab 平臺

    ? 目錄 前言 1 Flexus 云服務器 X 介紹 1 1.1 Flexus 云服務器 X 實例
    的頭像 發表于 01-23 18:29 ?110次閱讀
    華為云 <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>實例</b>:極速搭建個人<b class='flag-5'>代碼</b><b class='flag-5'>倉庫</b> <b class='flag-5'>GitLab</b> 平臺

    華為云 Flexus X 實例 docker 部署最新 gitlab 社區版,搭建自己的私人代碼倉庫

    ·?華為云最近正在舉辦 828 B2B 企業節,Flexus X 實例的促銷力度非常大,特別適合那些對算力性能有高要求的小伙伴。如果你有自建 MySQL、Redis、Nginx 等服務的需求,
    的頭像 發表于 01-02 12:01 ?104次閱讀
    華為云 <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>實例</b> docker <b class='flag-5'>部署</b>最新 <b class='flag-5'>gitlab</b> 社區版,搭建自己的<b class='flag-5'>私人代碼</b><b class='flag-5'>倉庫</b>

    云服務器 Flexus X 實例部署 Gitea,擁有自己的 Git 倉庫,管理本地代碼

    、零售、金融、游戲等眾多領域的通用工作負載需求。本文旨在詳細闡述如何高效利用“云服務器 Flexus X 實例”,包括如何在其中從零開始,通過安裝相關依賴、安裝 Docker、安裝 Gitea 等步驟,實現自己的 Git
    的頭像 發表于 01-07 16:59 ?126次閱讀
    云服務器 <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>實例</b>:<b class='flag-5'>部署</b> Gitea,擁有自己的 Git <b class='flag-5'>倉庫</b>,管理本地<b class='flag-5'>代碼</b>

    云端代碼管理新體驗,華為云 Flexus X 實例GitLab 部署與使用的實戰指南云端代碼管理新體驗

    前言**** 華為云 Flexus X 云服務器攜手 GitLab,為開發者和企業帶來了云端部署的全新選擇。Flexus
    的頭像 發表于 01-07 17:05 ?208次閱讀
    云端<b class='flag-5'>代碼</b>管理新體驗,華為云 <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>實例</b>上 <b class='flag-5'>GitLab</b> <b class='flag-5'>部署</b>與使用的實戰指南云端<b class='flag-5'>代碼</b>管理新體驗
    百家乐官网群博爱彩| BB百家乐官网HD| 百家乐娱乐平台开户| 玩百家乐官网有何技巧| 送58百家乐的玩法技巧和规则| 百合百家乐官网的玩法技巧和规则| 博娱乐城| 百家乐桌子10人| 百家乐官网赌博合作| 方正县| 德州扑克单机| 大哥大百家乐的玩法技巧和规则| 微信百家乐官网群资源| 真钱棋牌| 澳门百家乐群代理| 百家乐游戏技巧| 百家乐官网网上真钱麻将 | 百家乐增值公式| 百家乐官网的巧门| 百家乐官网庄的概率| 优博娱乐在线| 百家乐百战百胜| 百家乐筹码币方形| 百家乐闲拉长龙| 查看百家乐官网赌博| 沈阳盛京棋牌官网| 大发888刮刮了下载| 百家乐太阳城小郭| 百家乐官网玩法最多的娱乐城| 百家乐官网最新套路| 明光市| 百家乐官网怎么玩呀| 贺兰县| 岑巩县| 百家乐官网有几种打法| 乐九百家乐官网游戏| 长城百家乐官网游戏| 打百家乐官网的技巧| 百家乐官网路单免费下载| 足球开户| 新利线上娱乐|