1. 程式人生 > >【專案管理】Jenkins+Maven+Git專案持續構建之搭建git伺服器

【專案管理】Jenkins+Maven+Git專案持續構建之搭建git伺服器

gitlab和github兩者都是基於web的Git repositories(倉庫),擁有流水線型的web開發流程,它們為開發團隊儲存、分享、釋出、測試和合作web開發專案提供了中心化的、雲端儲存的場所。Git版本控制——對於多人共同開發一個project來說非常重要——它提供了分享開源專案的平臺。但github是一個開原始碼互動溝通平臺,是2008年由Ruby on Rails編寫而成。GitHub同時提供付費賬戶和免費賬戶。這兩種賬戶都可以建立公開的程式碼倉庫,但是付費賬戶才可以建立私有的程式碼倉庫。所以在github上想要將程式碼設定為私有是需要收費的。而且將程式碼儲存在別人的伺服器上畢竟具有一定的風險性,尤其對於保密級別較高的程式碼。所以搭建公司私有的程式碼伺服器是十分必要的。不過幸好,github的缺陷gitlab解決了。
下面開始具體介紹一下搭建Git伺服器,主要分為以下幾個部分:
- 1、安裝bitnami


- 2、修改gitlab預設埠號
- 3、生成金鑰,將公鑰新增到gitlab中
- 4、配置gitlab:建立使用者
- 5、配置gitlab:建立專案
- 6、gitlab啟動

1、安裝bitnami

git伺服器比較有名的是gitosis和gitolite,這兩個管理和使用起來稍微有些複雜,沒有web頁面,而gitlab則是類似於github的一個工具,並且gitlab解決了github無法免費建立私有倉庫的問題。gitlab有很多依賴,一一安裝這些依賴不僅對伺服器現有的環境造成干擾,而且非常不方便,而bitnami製作了一鍵安裝的包,下載地址為:https://bitnami.com/redirect/to/37478/bitnami-gitlab-7.0.0-0-linux-installer.run

,會下載當前最新版本的bitnami,當前最新版本應該為10.0.3,下面介紹一下bitnami的具體安裝。
這裡以bitnami的7.8.1版本為例
1) 將下載後的bitnami拷貝到適當的位置,切換到對應的目錄下
2) 賦許可權:

chmod +x  bitnami-gitlab-7.8.1-0-linux-x64-installer.run

3) 安裝.run檔案

./ bitnami-gitlab-7.8.1-0-linux-x64-installer.run

這裡寫圖片描述

以下為bitnami的安裝細節,供參考

[[email protected] ~]# ls
anaconda-ks.cfg  gitlab  learngit.git
[
[email protected]
~]# cd gitlab [[email protected] gitlab]# chmod +x bitnami-gitlab-7.8.1-0-linux-x64-installer.run [[email protected] gitlab]# ./bitnami-gitlab-7.8.1-0-linux-x64-installer.run The installer detects that exists a 'git' user in the system. This installer will change the configuration for this user. Do you want to continue the installation? [y/N]: y The installer detects that exists a 'gitlab_ci' user in the system. This installer will change the configuration for this user. Do you want to continue the installation? [y/N]: y ---------------------------------------------------------------------------- Welcome to the Bitnami Gitlab Stack Setup Wizard. ---------------------------------------------------------------------------- Select the components you want to install; clear the components you do not want to install. Click Next when you are ready to continue. GitLab : Y (Cannot be edited) GitLab CI [Y/n] :y Is the selection above correct? [Y/n]: y ---------------------------------------------------------------------------- Installation folder Please, choose a folder to install Bitnami Gitlab Stack Select a folder [/opt/gitlab-7.8.1-0]: ---------------------------------------------------------------------------- Create Admin account Bitnami Gitlab Stack admin user creation Email Address [user@example.com]: 輸入Email地址 Login [user]: 輸入使用者名稱 Password : 輸入密碼 Please confirm your password : 確認密碼 ---------------------------------------------------------------------------- Hostname that will be used to create internal URLs. If this value is incorrect, you may be unable to access your Gitlab installation from other computers. It is advisable to use a Domain instead of an IP address for compatibility with different browsers. Domain [127.0.0.1]: IP地址 Do you want to configure mail support? [y/N]: y ---------------------------------------------------------------------------- Configure SMTP Settings This is required so your application can send notifications via email. Default email provider: [1] GMail [2] Custom Please choose an option [1] : 2 ---------------------------------------------------------------------------- Configure SMTP Settings This data is stored in the application configuration files and may be visible to others. For this reason, it is recommended that you do not use your personal account credentials. Username []: Email地址 Password : Re-enter : SMTP Host []: smtp.qq.com SMTP Port []: 25 Secure connection [1] None [2] SSL [3] TLS Please choose an option [3] : 3 ---------------------------------------------------------------------------- Setup is now ready to begin installing Bitnami Gitlab Stack on your computer. Do you want to continue? [Y/n]: y ---------------------------------------------------------------------------- Please wait while Setup installs Bitnami Gitlab Stack on your computer. Installing 0% ______________ 50% ______________ 100% ######################################## ---------------------------------------------------------------------------- Setup has finished installing Bitnami Gitlab Stack on your computer. Info: To access the Bitnami Gitlab Stack, go to http://IP地址:80 from your browser. Press [Enter] to continue:

2、修改gitlab預設埠號

gitlab預設的埠號為80,如果該埠被佔用,可以修改埠號,具體操作如下:
1) 找到gitlab的安裝目錄,一般在opt檔案下,我的在../**/gitlab/gitlab-7.8.1-0
2) 修改../**/gitlab/gitlab-7.8.1-0/apache2/conf/httpd.conf,修改Listen 80為新的埠號,例如Listen 9001
3) 修改../**/gitlab/gitlab-7.8.1-0/apache2/conf/bitnami/bitnami.conf,修改埠號為新埠號
4) 修改../**/gitlab/gitlab-7.8.1-0/apps/gitlab/gitlab-shell/config.yml下的埠號
5) 修改../**/gitlab/gitlab-7.8.1-0/apps/gitlab/htdocs/config/gitlab.yml下的埠號

3、生成金鑰,將公鑰新增到gitlab中

在終端輸入ssh-keygen -t rsa -C “Email地址”,生成的金鑰儲存在/root/.ssh下,將金鑰新增到gitlab的ssh key中。
1) 進入到ssh資料夾中:cd /root/.ssh
2) 將公鑰儲存在gitlab中,在gitlab面板中依次點選ProfileSSH KeysAdd SSH Keys,然後把.ssh檔案下的id_rsa.pub公鑰的內容貼上到輸入框中儲存起來。

注:git倉庫之間的程式碼傳輸協議主要使用ssh協議,而一般搭建gitlab時使用的git使用者是沒有密碼的,因此直接ssh是不能登入的,就需要使用ssh-keygen上傳公鑰,使用非對稱加密傳輸。

4、配置gitlab:建立使用者

1)點選Admin area,選擇Users
這裡寫圖片描述

2)輸入相應的使用者名稱、密碼、郵箱等資訊
這裡寫圖片描述

3)建立使用者成功後,新增git公鑰到Gitlab,點選Profile settings,選擇SSH Keys
這裡寫圖片描述

4)在Key欄中輸入生成的公鑰,以獲得使用者的使用許可權
這裡寫圖片描述

5、配置gitlab:建立專案

1)建立專案,點選右上側的New project,輸入專案的相關資訊
這裡寫圖片描述

2)輸入相應的專案名稱及許可權
這裡寫圖片描述
專案Namespance及許可權的簡單介紹:
【1】Namespace:這個選擇是用來決定這個工程所屬的,可以選User為你自己。或者選擇組,這個會影響到後面工程的url。
【2】Visibility Level:許可權等級分三種
 Private:私有的,只有你自己或者組內的成員能訪問
 Internal:所有登入的使用者
 Public:公開的,所有人都可以訪問
專案建立成功後,會生成對應的url,根據url就可以進行程式碼的上傳和下載了。

3)建立完成後,根據頁面提示,可上傳專案程式碼
這裡寫圖片描述

6、gitlab啟動

gitlab安裝目錄下,有一個ctlscript.sh檔案,啟動該檔案即可完成gitlab的啟動,具體操作為:
切換到root使用者下,輸入命令gitlab-7.8.1-0/ctlscript.sh start命令,則gitlab啟動
這裡寫圖片描述

相關推薦

專案管理Jenkins+Maven+Git專案持續構建前言

         接下來的幾篇部落格,想系統的整理一下基於Jenkins+Maven+Git的專案持續構建自動部署系列。其實Jenkins、Nexus早在好幾年前就已經在使用了,這一次是想作為系統性的

專案管理Jenkins+Maven+Git專案持續構建搭建git伺服器

gitlab和github兩者都是基於web的Git repositories(倉庫),擁有流水線型的web開發流程,它們為開發團隊儲存、分享、釋出、測試和合作web開發專案提供了中心化的、雲端儲存的場所。Git版本控制——對於多人共同開發一個project來說

新手操作虛擬機器的Ubuntu下連線vps搭建shadowsocks伺服器

作為一個新手中的新手,由於知識的空白,完成這些操作花了三天的時間,期間出現了許多問題。在各個網站上搜到的教程大部分都是隻有核心步驟,省去了基礎步驟,讓我這種初學者看得雲裡霧裡。為了幫助像我一樣從什麼都不會開始的萌新們,我打算把我操作的每一個步驟和遇到的問題記錄下

JenkinsJenkins+maven+git / SVN 搭建專案自動化部署整合環境

目錄 一、完成jdk的安裝  參考我的另一博文: (1)Jenkins部署在Windows系統,jdk安裝在Windows系統:【jdk】window10:jdk 8下載和安裝步驟 二、完成git/svn的安裝 (一)根據公司使用

Git專案管理git新手入門——基礎教程

一、Git工作流程   直接上手看圖,瞭解Git工具的工作流程:   以上包括一些簡單而常用的命令,但是先不關心這些,先來了解下面這4個專有名詞。 Workspace:工作區 Index / Stage:暫存區 Repository:

Git專案管理分支 - 遠端分支

遠端分支 遠端引用是對遠端倉庫的引用(指標),包括分支、標籤等等。 你可以通過 git ls-remote (remote) 來顯式地獲得遠端引用的完整列表,或者通過 git remote show (remote) 獲得遠端分支的更多資訊。 然而,一個更常見的

Git專案管理分散式 Git - 向一個專案貢獻

分散式 Git - 向一個專案貢獻 向一個專案貢獻 描述如何向一個專案貢獻的主要困難在於完成貢獻有很多不同的方式。 因為 Git 非常靈活,人們可以通過不同的方式來一起工作,所以描述應該如何貢獻並不是非常準確 - 每一個專案都有一點兒不同。 影響因素包括活躍貢獻者的數量、選擇的工作流程、提

專案管理git和碼雲的使用

緣起 說了那麼多關於git和碼雲相關的事,一直都沒給大夥講解這個碼雲究竟是個啥玩意兒。 今天就給大夥說說如何通過git和碼雲搭建屬於自己的程式碼庫。 碼雲 碼雲([email protected])是開源中國社群團隊推出的基於Git的快速的、免費的、穩定

軟體專案管理知識點整理

需求管理的過程:需求獲取、需求分析、需求規格編寫、需求驗證、需求變更 風險的三個屬性:風險事件、概率、影響 當專案進行到某一階段,專案經理髮現專案組的一些人(包括關鍵人)要離開公司,這是專案經理首先

專案管理Mybatis-Generator最完美配置詳解

 小夥伴們注意了,全哥花了一些時間,重新整理了一個最完美的Mybatis Generator(簡稱MBG)配置檔案詳細說明,老闆再也不用擔心我的學習!!! 不用多說,直接上程式碼: <?xml

專案管理GitHub使用操作指南

$ git config --global alias.co checkout $ git config --global alias.ci commit $ git config --global alias.br branch $ git config --global ali

專案管理使用SVN客戶端搭建可以在區域網中訪問的SVN本地庫,類似區域網的SVN伺服器

參考: TortoiseSVN 取消日誌最小長度限制  http://blog.csdn.net/templar1000/article/details/39345057 svn 要求強制寫日誌 http://www.makaidong.com/%E5%8D%9A%E5%A

Intellij Idea 部署Maven專案到Tomcat的方式

用maven管理的web專案,使用idea部署到tomcat中,有如下方式: (1)Artifact: war (2)Artifact: war exploded (3)external sourc

專案管理專案開發管理

結合實際工作中,專案管理大致分為: 1、需求評審 產品、技術(包括前段、後端、APP、UI、UE)、測試相關人員以及相關專案負責人一起進行詳細的需求評審, 作為程式設計師會首先從產品的角度分析設計的合理性,邏輯是否有問題, 然後從技術的角度分析實現的可行性和難度,這個環節如

idea 14新建 maven 專案時 ,一直loading archetype list 解決

1. 產生原因                未知 2.解決方法                將 idea 檔案中的 Maven 目錄刪除,重啟idea 即可               目錄位置一般為  :   C:\Users\當前使用者名稱\.IntelliJ

軟體測試測試才是專案的主導,憑什麼聽開發的?

很多時候很多公司都是產品說了算,在之後就是開發,測試的地位比較低,但是事實真的是這樣嗎,成熟的專案進行中應該是測試人員作為主導的,測試是唯一一個最早進入專案、最後確認專案完工的職位,所以本文就是幫助大家糾正這個錯誤 那麼各位測試大大準備好“挾天產品以令開發”了嗎? 一、反應真實需求 這裡存在先寫測試和後

軟體工程Ⅱ作業四 |個人專案-小學四則運算 “軟體”初版(C語言)

本次作業的要求來自於:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2186 本次作業程式碼的github地址:https://github.com/Molly134/lianxi.git 一、題目要求 像《構建之法》的人物阿超那樣,寫一

IDEA配置使用IEDA建立專案的一些配置問題(附入門級問題解決方案)

IDEA是一款不錯的軟體,但是有些配置不同於Eclipse的傻瓜級,需要手動設定 本人僅僅按照自己的理解寫部落格,如果出現錯誤,歡迎評論指出 _________________________________________________________________

阿里雲node.js部署專案到阿里雲ECS(CentOS 7),並實現nginx域名繫結

一、購買阿里雲伺服器 >方法一 1.1、如果你是學生的話,就可以買阿里雲的學生優惠套餐,才9.5元一個月,挺划算的 1.2、搭建伺服器的系統的話,我選用的是 Centos 7.3系統映象 CentOS(Community Ent

備忘p2p網貸專案

專案特色:1、專案整體採用Maven分模組構建、SVN版本控制、PowerDesigner資料建模,基於約定標準的專案工程結構,同時講解了很多主流Maven外掛的使用配置。2、前端頁面採用流行的bootstrap、 angularjs 等流行的前端技術,通過本專案可以掌握 angularjs 的前端的MVC