gitlab相關

来源:https://www.cnblogs.com/wadmwz/archive/2018/10/08/9757261.html
-Advertisement-
Play Games

1.gitlab的概述 1.gitlab是什麼 是一個用於倉庫管理系統的開源項目,使用Git作為代碼管理工具,併在此基礎上搭建起來的web服務。 基礎功能免費,高級功能收費 2.為什麼要使用gitlab 1.基礎功能開源,可自行搭建 2.可以進行許可權控制,使得代碼對部分人可見 3.gitlab使用方 ...


1.gitlab的概述

1.gitlab是什麼
    是一個用於倉庫管理系統的開源項目,使用Git作為代碼管理工具,併在此基礎上搭建起來的web服務。
    基礎功能免費,高級功能收費
2.為什麼要使用gitlab
    1.基礎功能開源,可自行搭建
    2.可以進行許可權控制,使得代碼對部分人可見
    3.gitlab使用方便,非常適合企業內部使用

2.gitlab的安裝

1. 在防火牆裡開放http跟ssh埠
    yum install lokkit
    yum install curl openssh-server openssh-clients postfix cronie -y (如果報ibmysqlclient.so.18,可以使用  wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm和rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm 來解決) 
    service postfix start
    chkconfig postfix on
    lokkit -s http -s ssh(如果出現防火牆問題.可以嘗試將防火牆關閉試試).
2. 添加gitlab倉庫,並安裝
    curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash(如果報錯,不需要管,下一步就好)
    sudo yum install gitlab-ce
3. 啟動gitlab
    gitlab-ctl reconfigure
    vim /etc/gitlab/gitlab.rb 
    修改external_url為gitlab機子的ip+要使用的埠 如:http://192.168.56.101:8888
    修改nginx['listen_port'] = 8888 (使用/listen_port來尋找該配置)
    重新配置gitlab並重啟       
    gitlab-ctl reconfigure
    gitlab-ctl restart
4. 配置防火牆
    第一種配置方式:
        vim /etc/sysconfig/iptables
        -A INPUT -m state --tate NEW -m tcp -p tcp --dport 8888 -j ACCEPT
        service iptables restart
    第二種配置方式(防火牆打開):
        firewall-cmd --zone=public --add-port=8888/tcp --permanent
        firewall-cmd --reload
5. 推送項目(gitlab上創建的項目會有提示)
6. 登錄的時候註意預設的賬戶是root

3.gitlab配置郵箱服務

1. 配置郵箱服務的用途
    * 有合併請求時,郵件通知
    * 賬號註冊時,郵件驗證
    * 修改密碼時,通過郵件修改
2. 配置步驟
    1. 開啟郵箱的smtp服務(推薦qq郵箱)(id為 anoxkzozvvcsdjfa)
    2. 修改gitlab配置(看下麵的3和4)
    3. 測試郵件服務是否正常(看下麵的5)
3. gitlab配置存在的位置: /etc/gitlab/gitlab.rb
    1. 修改gitlab如下:
        vim /etc/gitlab/gitlab.rb
        按/後輸入smtp_enable,找到下麵這一串文本,進行修改
        gitlab_rails['smtp_enable'] = true
        gitlab_rails['smtp_address'] = "smtp.qq.com"
        gitlab_rails['smtp_port'] = 465
        gitlab_rails['smtp_user_name'] = "[email protected]"
        gitlab_rails['smtp_password'] = "開通smtp時返回的字元"
        gitlab_rails['smtp_domain'] = "qq.com"
        gitlab_rails['smtp_authentication'] = "login"
        gitlab_rails['smtp_enable_starttls_auto'] = true
        gitlab_rails['smtp_tls'] = true

    2. 修改user['git_user_email'] = "[email protected]"
    3. 修改gitlab_rails['gitlab_email_from'] = '[email protected]'
4. 修改完成之後:gitlab-ctl reconfigure 重啟一下
5. 測試郵件服務是否正常:
    1. gitlab-rails console 進入控制台
    2. Notify.test_email('收件者郵箱','標題','正文').deliver_now 回車就可以發送了.

4.gitlab的賬號註冊及分組

1. 賬號註冊郵箱驗證功能(admin area --》setting--》Sign-up restrictions--》勾選Send confirmation email on sign-up):
    在gitlab界面中的setting中將Sign-up restrictions改為collapse,將Send confirmation email on sign-up選中就可以進行賬號註冊郵箱驗證了,前提是郵箱服務必須打開。
2. 創建組
    在Groups選項中,選擇創建組(http://192.168.29.24:8888/groups/new)。
    訪問級別:
        Private:只有組成員才能看到
        Internal:只要登錄的用戶就能看到
        Public:所有人都能看到
3. 邀請組員:
    在創建好的分組上面點擊Members,然後就可以邀請組員了。
    組員的許可權:
        Guest:可以創建issue、發表評論,不能讀寫版本庫
        Reporter:可以克隆代碼,不能提交
        Developer:可以克隆代碼、開發、提交、push
        Master:可以創建項目、添加tag、保護分支、添加項目成員、編輯項目
        Owner:可以設置項目訪問許可權 - Visibility Level、刪除項目、遷移項目、管理組成員
4. 組員邀請成功之後,就可以創建項目了,在overriew中選擇details,創建項目
5. 使用ssh進行管理(使用管理員身份打開git bash):
    1. 鍵入命令:ssh-keygen -t rsa
    2. 提醒你輸入key的名稱,輸入如id_rsa 
    3. 在C:\Users\Administrator\.ssh下產生兩個文件:id_rsa(私鑰)和id_rsa.pub(公鑰) 
    4. 用記事本打開id_rsa.pub文件,複製內容,在gitlab.com的網站上到ssh密鑰管理頁面,添加新公鑰,隨便取個名字,內容粘貼剛纔複製的內容。 
6. 創建文件夾進行測試
    1. 在文件夾下麵右鍵,點擊git bash
    2. 使用git init初始化倉庫
    3. 使用git fetch 項目的ssh路徑
    4. 創建文件echo "111" > file1
    5. git add *
    6. git commit -m "add file1"
    7. git remote add origin [email protected]:test1/group-test.git (這個東西是在創建的項目中的Existing folder)
    8. git push -u origin master

5. gitlab分支及標簽保護

1. 為什麼要保護分支
    保護特定的分支不被隨便合併,以免影響相應的分支
2. 進入項目--> repository-->branches-->project setting
3. 註意 能push 就能merge ,相應的許可權把握好(master分支設置只能masters可以合併)

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 原文地址:https://www.cnblogs.com/szlblog/p/9045209.html AspNetCore 使用Redis實現分散式緩存 上一篇講到了,Core的內置緩存:IMemoryCache,以及緩存的基礎概念。本篇會進行一些概念上的補充。 本篇我們記錄的內容是怎麼在Core ...
  • 美國封殺中興通訊確實令人措手不及。但是除了慷慨陳詞和向國家伸手要錢以外,更不能頭疼醫頭、腳疼醫腳,而應該有一個巨集觀的思考。中興事件絕不是一個缺芯的問題,而是基礎軟硬體的缺失,是生態的不健全。 作者:劉學習 中國缺少自己的中國芯,沒有自己的操作系統!倪光南院士在幾十年前就曾大聲疾呼,並因此與聯想的掌門 ...
  • 不使用Visual Studio等IDE,只使用csc.exe和記事本構建一個C#控制台應用程式。 ...
  • C#是微軟.NET平臺下最重要的編程語言,它與C、C++不同,C#編寫的源程式是托管在.NET平臺下的。C#源程式經C#編譯器編譯成中間語言(IL,Intermediate Language),再經CLR(Common Language Runtime,公共語言運行時(庫))編譯成CPU可執行的指令 ...
  • NAME getopt 解析命令行選項(加強版) SYNOPSIS (譯註: 1. 後面的譯文中將分別稱呼這3種語法格式為語法1、語法2、語法3 2. 請區分option、parameter、argument、option argument、non option parameter。如不清楚,請參考 ...
  • 設置vim自動縮進,行號,tab鍵寬度 如果是root超級用戶,他的主目錄是: /root ,打開文件vim的配置文件.vimrc 如果是tarena用戶,他的主目錄是:/home/tarena 打開文件vim的配置文件.vimrc set nu 設置行號 set autoindent 自動縮進 s ...
  • 目錄:(你將學習以下內容) 1.虛擬機是什麼? 2.虛擬機的功能 3.虛擬機的應用 4.虛擬機的種類: (1)VMware虛擬機 (2)VirtualBox虛擬機 1.虛擬機是什麼? 虛擬機的本質:虛擬機在本質上就是一個應用程式軟體。像在windows上運行的其他應用軟體一樣,只是他的作用功能不一樣 ...
  • 目錄(你將學到一下知識) 1.windows系統 2\. Mac OS系統 3.Linux系統 4.各系統的使用比例 1.windows系統 眾所周知,windows系統是目前最主流的系統,Microsoft Windows是美國微軟公司研發的一套操作系統,它問世於1985年,起初僅僅是Micros ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...