從gitlab上拉代碼_從gitlab上拉取代碼并一鍵部署

一、gitlab安裝

GitLab是一個利用Ruby on Rails開發的開源應用程序,實現一個自托管的Git項目倉庫,可通過Web界面進行訪問公開的或者私人項目。

GitLab擁有與Github類似的功能,能夠瀏覽源代碼,管理缺陷和注釋。可以管理團隊對倉庫的訪問,它非常易于瀏覽提交過的版本并提供一個文件歷史庫。它還提供一個代碼片段收集功能可以輕松實現代碼復用,便于日后有需要的時候進行查找。

1、基礎環境準備

[root@linux-node2?~]#?yum?install?curl?policycoreutils?openssh-server?openssh-clients?postfix[root@linux-node2?~]#?systemctl?start?postfix

2、安裝gitlab-ce

首先配置yum源,使用國內的鏡像vi?/etc/yum.repos.d/gitlab-ce.repo[gitlab-ce]name=gitlab-cebaseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/repo_gpgcheck=0gpgcheck=0enabled=1gpgkey=https://packages.gitlab.com/gpg.key

通過yum安裝gitlab-ce[root@linux-node2?~]#?yum?makecache[root@linux-node2?~]#?yum?install?gitlab-ce

3、配置并啟動gitlab-ce

使用gitlab-ctl配置gitlab

[root@linux-node2?~]#?gitlab-ctl?reconfigure

查看gitlab狀態

[root@linux-node2?~]#?gitlab-ctl?statusrun:?gitlab-workhorse:?(pid?4824)?795s;?run:?log:?(pid?4800)?804srun:?logrotate:?(pid?4812)?796s;?down:?log:?0s,?normally?up,?want?uprun:?nginx:?(pid?4806)?798s;?run:?log:?(pid?4805)?798srun:?postgresql:?(pid?4679)?854s;?run:?log:?(pid?4678)?854srun:?redis:?(pid?4659)?860s;?run:?log:?(pid?4658)?860srun:?sidekiq:?(pid?4796)?806s;?run:?log:?(pid?4795)?806srun:?unicorn:?(pid?4770)?808s;?run:?log:?(pid?4769)?808s[root@linux-node2?~]#

二、gitlab管理與使用

第一次登錄gitlab,需要為root用戶修改密碼,root用戶也是gitlab的超級管理員。

0d3f3de45a1db8adefa1ab8b917f84d7.png

使用root用戶和剛才創建的密碼登錄后,你就可以探索gitlab的奧秘了,可以點擊圖中紅框的按鈕進入管理區域。

f2321b6b144229d8cbd4a8c9d5e954e8.png

d6f29b54446d35a9777ec653945bfd50.png

在內網搭建服務器,運維人員自己根據需求創建用戶,而不是用戶自己注冊;因此需要將注冊的功能取消掉。如圖,點擊Admin Area---》settings

2755f0af628f8262d85caacc120acf92.png

ec4ff15d1e0232ce1d10ee8c80186684.png

將Sign-up enabled功能取消掉

3f18dfaa20dbde538d6c3a93f21995af.png

在頁面左下角點擊save。

在gitlab中有項目和組的概念;一個組里面可以包含不同的人,因此可以先創建組。

ca81c03b76ca09997ac836ec76060a31.png

35ed861bf488bc97b0a8861e01be5753.png

搭建私有的代碼倉庫,因此需要選擇Private

155476f106a716b315b9255a39b2a220.png

頁面右下角,點擊create group

接下來在組里創建項目

49c33ff2ba1e7f07b42476e6c3fb3d54.png

4384aa6046461c50ce9f7caef3fa1365.png

創建項目后,需要添加認證,以便于拉取代碼

6b6f49a4b6bff54c35efa73a1f28f7ef.png

2b6ca1dad64782a59a79c8ef4b78f8b2.png

在README.md中隨便添加一些內容,便于測試。

58d37bf6d510b61f00d6e275bd1628cf.png

634450bc8879540367da353a3272270b.png

將linux-node1節點的www用戶的公鑰復制到SSHKeys內

9182c44f358e64176d6a94d15e1fe490.png

注意,添加title時,命名最好規范一些,比如linux-node1-www表示linux-node1下www用戶的公鑰

ef03d00b156b06304c0d07190f5270a0.png

拉取代碼的方式可以是通過http和SSH,這里我們選擇SSH方式

19ab43d9eadc3a96ced11efe0a4392cd.png

登陸到linux-node1,切換到www用戶,執行git clone,拉取代碼,如下

d87a341dd97594a710b9b915acff6734.png

可以看到在gitlab頁面上編輯的README.md里面的內容

140da86453487ce92ba3895abb7f1c52.png

997a1b226f30af9685dff13d692901ec.png

添加一個測試文件,里面隨意寫一些內容,進行測試。先git add *,將文件添加到索引庫中。接下來使用git commit命令將依據索引庫中的內容來進行文件的提交。第一次使用git commit –m “add index.html”時,會提示添加郵箱和姓名之類的提示,按照自己的情況添加即可。

e73e258a833a0aa664edd5363adb1f6d.png

使用git show查看commit后的版本號

d22b0494cf33d0aaa1dffa1d0104205f.png

0c99705a9e49ca0e49ad2e73705175d9.png

截取前六位,這樣我們就可以使用短的版本號,進行代碼的拉取

2dc4b56a9e2dfc0da161b4e9f035034c.png

將上一個博客中shell腳本進行改造,代碼版本獲取如圖所示:

2f7da2bb93974d94cb92a11112f45c2e.png

最后通過在gitlab上拉取代碼,使用deploy1.sh腳本進行自動化部署,如圖所示:

7853c648b6de4553cd0a1a68d3d3af16.png

部署成功后,在瀏覽器中進行驗證。Index.html中的內容確實為剛才所填寫的內容。

至此,在gitlab上拉取代碼后,自動化部署完畢。

c23ea6b99c63159bc97bff4183dd49df.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/258250.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/258250.shtml
英文地址,請注明出處:http://en.pswp.cn/news/258250.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LPWA技術:發展物聯網的最佳選擇

物聯網時代的物物相連將會使百億以上物體連入網絡,這對傳統上的兩種通信技術,即近距離無線接入和移動蜂窩網提出了更高的要求。事實上,目前,用于物聯網發展的通信技術正在全球范圍內開發,低功耗廣域網通信技術(Low Pow…

上傳文件大小限制,webconfig和IIS配置大文件上傳

IIS6下上傳大文件沒有問題&#xff0c;但是遷移到IIS7下面&#xff0c;上傳大文件時&#xff0c;出現HTTP 404錯誤。 IIS配置上傳大小&#xff0c;webconfig <!-- 配置允許上傳大小 --><httpRuntime maxRequestLength"1997151" useFullyQualifiedRedirectU…

產品管理流程

轉載于:https://www.cnblogs.com/candle806/p/4860841.html

如何根據灰度直方圖計算標準差_如何根據電器功率計算電線的粗細?

一般來說&#xff0c;測算電線的粗細&#xff0c;需要根據功率計算電流&#xff0c;根據電流選擇導線截面&#xff0c;根據導線的截面&#xff0c;導線或電纜的型號查廠家的該型號的導線電纜的直徑。這里就涉及了&#xff1a;電線粗細與功率之間的關系計算&#xff1b;導線截面…

解惑煙草行業工控系統如何風險評估

上周五下午&#xff0c;威努特工控安全聯合創始人 趙宇 先生&#xff0c;帶來了一場關于“工控系統的風險評估”的技術講座。此次近200注冊報名的朋友&#xff0c;來自各大高校、國企、外企、測評中心、安全廠商、大型集成商以及大型IT科技企業、安全實驗室等。 煙草企業調研參…

ORACLE union order by

select * from ( select a.id,a.oacode,a.custid,a.custname,a.xsz,a.salename,a.communicationtheme,a.communicationproperty,a.communicationtime,a.productmanager,a.creator,a.createdate from technology_flow a where a.oastate正常結束 union select b.id,b.oacode,b…

UVa 11806 Cheerleaders

題意&#xff1a;m行n列的矩形網格放k個相同的石子&#xff0c;要求第一行最后一行第一列最后一列都必須有石子&#xff0c;問有多少種放法 A為第一行沒有石子的方案數&#xff0c;BCD依此類推&#xff0c;全集為S 如果沒有任何要求的話&#xff0c;放法數應該是C(rc, k) 解法中…

為什么說一站式移動辦公SaaS平臺一定是未來!

摘要&#xff1a;移動辦公SaaS之間的核心競爭不在于比拼技術&#xff0c;而在于誰更好地與企業管理和文化相互融合&#xff0c;給企業帶來更加年輕、更加高效的工作方式&#xff0c;實現了企業組織的互聯網化。 沒有哪個企業愿意當諾基亞&#xff0c;“并沒有做錯什么&#xff…

server sql 將出生日期轉為年齡_在sql server表中有一個出生日期字段我怎么才能在當前年份改變時自動更新年齡字段...

先說明下identity(1,1)&#xff1a;自動1foreign key 外鍵語法create database ztxuse ztxCreate Table QAUser--baidu用戶資料(Id int Primary Key not null identity(1,1),--自動編號,也同時用于對用戶的標示符QA_name varchar(20),--用戶名Sex char(2),--或者使用bit類型,但…

MySQL關聯left join 條件on與where不同

以下的文章主要講述的是MySQL關聯left join 條件on與where 條件的不同之處&#xff0c;我們現在有兩個表&#xff0c;即商品表(products)與sales_detail(銷售記錄表)。我們主要是通過這兩個表來對MySQL關聯left join 條件on與where 條件的不同之處進行講述。 products: pid pna…

自動裁剪圖片

自動裁剪商品圖片View Code執行裁剪指定目錄商品圖片動作///<summary> ///執行指定目錄商品圖片動作 ///</summary> public static void FindPictureDoCutIt(object o) {string filePatho.ToString();try{DirectioryInfo fatherFolder new DirectioryInfo(filePat…

32位oracle_oracle 性能調優

pool&#xff0c;sga&#xff0c;pga的配置 物理內存16G在調整SGA前&#xff0c;先看下服務器操作系統是32位還是64位的&#xff0c;如果是32位的&#xff0c;則SGA最大不能超過1.7G&#xff0c;如果是64位的&#xff0c;則不能超過4G。基本分配原則&#xff0c;db_block_buffe…

看網絡電子圍欄如何做好周界安防

圍欄是為了保護一定范圍內的任何物遭到侵害而設立的一個屏障&#xff0c;在一定程度上有保護的作用&#xff0c;但是也不能完全阻止。傳統的圍欄以加高或者添加危險觸碰物來增加安全性&#xff0c;但是會影響美觀&#xff0c;不能進行主動擊退&#xff0c;也給圍欄內人物帶來不…

Objective-C語法之代碼塊(block)的使用

代碼塊本質上是和其它變量相似。不同的是&#xff0c;代碼塊存儲的數據是一個函數體。使用代碼塊是&#xff0c;你能夠像調用其它標準函數一樣&#xff0c;傳入參數數&#xff0c;并得到返回值。脫字符&#xff08;^&#xff09;是塊的語法標記。依照我們熟悉的參數語法規約所定…

C#委托和事件

http://www.cnblogs.com/leslies2/archive/2012/03/22/2389318.html 講解比較好 轉載于:https://www.cnblogs.com/sun-shadow/p/4872768.html

asp.net mvc使用mysql_ASP.NET開發實戰——(八)ASP.NET MVC 與數據庫之MySQL

之前介紹了My Blog如何使用http://ADO.NET來訪問SQL Server獲取數據。本章將介紹如何使用My SQL來完成數據管理。在使用My SQL之前需確保開發環境中安裝了My SQL數據庫和Connector/Net&#xff0c;后者是一個用C#編寫的http://ADO.NET數據提供器&#xff0c;換句話說無論使用SQ…

多元時代個人信息更需強有力保護

有網友反映&#xff0c;用多個搜索引擎搜索“手持身份證照片”&#xff0c;皆出現大量相關圖片&#xff0c;人臉清晰&#xff0c;身份證號碼等關鍵信息明白無誤。不少網友擔心“這么重要的信息就這么暴露&#xff0c;太危險”。記者發現&#xff0c;其中有弱勢群體求助信息&…

修改Eclipse自動換行長度

使用CtrlShiftF自動格式化代碼的時候&#xff0c;有時候折行太多反而讓代碼看起來更亂&#xff0c;不容易閱讀。 解決辦法&#xff1a; Window-->Preferences-->Java-->Code Style-->Formatter-->Edit-->Line Wrapping-->Maximum line width根據需要設置&…

卓越管理的實踐技巧(1)如何進行有效的指導 Guidelines for Effective Coaching

Guidelines for Effective Coaching 前文卓越管理的秘密&#xff08;Behind Closed Doors&#xff09;最后一部分提到了總結的13條卓越管理的實踐技巧并列出了所有實踐技巧名稱的索引&#xff0c;這篇文章主要寫卓越管理的實踐技巧的第&#xff08;1&#xff09;條&#xff1a;…

Java Web應用的生命周期

Java Web應用的生命周期。三個階段&#xff1a;啟動&#xff0c;運行&#xff0c;終止。  無論是web還是servlet他們的生命周期都是有容器來控制的。  啟動&#xff1a;  1. 把web.xm 加載到內存中  2. 為web應用創建一個ServletContext對象  3. 對所有的Filter進行初…