主頁 >  其他 > 版本管理工具SCM-Manager介紹

版本管理工具SCM-Manager介紹

2021-09-13 06:48:15 其他

        如果你和你的團隊正在處理像Git或Subversion這樣的工具,你可能需要一個管理層,在那里你能夠以一種舒適的方式管理用戶訪問和倉庫,因為原始碼控制管理系統(SCM)并沒有帶來這種功能的開箱,

        也許你已經熟悉了流行的管理解決方案,如GitHub、GitBlit或GitLab,它們成功的主要原因是其巨大的功能,當然,如果你打算用Jenkins這樣的自動化服務器創建自己的構建和部署管道,你也需要托管自己的倉庫管理器,

       盡管GitLab和其他解決方案的使用很好,但也有一點苦澀的味道,

  1. 管理是非常復雜的,需要一定的經驗,
  2. 要使這些程式有良好的性能,對硬體資源的最低要求也不低,
    為了克服所有這些障礙,我將在工具制造商的天空上介紹一顆新星SCM-Manager,快速、緊湊、可擴展和簡單,是我用來描述它的主要屬性,

入門:安裝

       讓我們快速看一下安裝有多簡單,為了快速見效,你可以使用官方的Docker容器,只需要一個簡短的命令,

docker run --name scm –restart=always \

-p 8080 -p 2222 \

-v /home/<user>/scmManager:/var/lib/scm \

scmmanager/scm-manager:2.22.0

首先,我們在SCM-Manager影像2.22.0的基礎上創建一個名為scm的容器,然后,我們告訴這個容器在主機作業系統重啟時總是重新啟動,同時,我們打開2222和8080埠,使服務可以被訪問,最后一步是在容器內掛載一個目錄,所有的配置資料和資源庫都存盤在這里,之后,你可以打開瀏覽器,輸入localhost:8080,在這里你可以通過創建初始管理賬戶完成安裝,在這個表格中,你需要從命令列粘貼啟動令牌,如圖2所示,在你提交了初始化表格后,你會被重定向到登錄,這就是全部,不到5分鐘就完成了,
img-2-init-screen

對于完整的腳本化的未觸及的安裝,也有一種方法可以通過使用系統屬性scm.initalPassword繞過初始化表單,這將創建一個名為scmadmin的用戶,并給出密碼,

在舊版本的SCM-Manager中,默認的登錄賬戶是scmadmin,密碼是scmadmin,這種老方法相當有用,但如果管理員在安裝后沒有禁用這個賬戶,就會有很高的安全風險,這個安全改進是自2.21版本以來的新內容,

在我們一起發現更多關于管理的資訊之前,讓我們先來了解一下關于SCM-Manager的一些一般細節,SCM-Manager在MIT許可下是開源的,這允許商業使用,代碼可以在GitHub上找到,該專案開始于研究作業,從第二版開始,Cloudogu公司獲得了代碼庫的所有權并管理未來的發展,這種結構允許為公司提供專業的企業支持,另一個不錯的細節是,SCM-Manager是在德國開發的,

插件

使用SCM-Manager最令人興奮的細節之一是,有一個簡單的可能性,即用插件來擴展最小的安裝,以增加更多有用的功能,但是要小心,因為安裝的插件越多,SCM-Manager需要分配的資源就越多,每個開發團隊都有不同的優先級和必要性,為此,我總是喜歡根據自己的需要定制應用程式,
img-3-plugin-mngr

插件安裝部分可以通過管理選項卡到達,如果你不能看到這個條目,你就沒有管理權限,在右側的選單中,你可以找到插件這個條目,插件選單分為兩個部分:已安裝和可用,為了更好地了解情況,插件是按類別組織的,如管理、授權或作業流,每個插件的簡短描述都非常精確,讓人對它們的作用有一個好印象,

一些預裝的插件,如源代碼管理類別中支持的倉庫型別Git、Subversion和Mercurial,不能被卸載,

我最喜歡的一些插件位于授權部分:

  1. 路徑寫入保護,分支寫入保護
  2. Tag保護
    這些功能對Build-和Configuration Manager來說是最方便的,使用方法也和安裝一樣簡單,讓我們來看看它是如何作業的,有什么必要,

權限

想象一下,你的團隊正在處理一個Java/Maven專案,也許有一條規則,只允許選定的人修改pom.xml構建邏輯的內容,這可以通過路徑寫保護插件來實作,安裝完畢后,導航到代碼庫,選擇右側選單中的設定條目,然后點擊選項Path Permissions并激活該復選框,
img-3-path-permission

正如你在圖4中看到的,我創建了一個規則,只有用戶Elmar Dott能夠修改pom.xml,相反的權限是排除(拒絕)該用戶,如果檔案或路徑運算式不存在,規則就不能被創建,另一個重要的細節是,這個權限涵蓋所有現有的分支,為了便于管理,現有的用戶可以被組織成組,

以同樣的方式,你能夠保護分支不受不必要的改變,當你的團隊使用大規模分支或git-flow分支模型時,你可能需要這個選項,另外,個人開發者分支可能只有擁有該分支的開發者的寫入權限,或者運行CI/CD管道的發布分支只有配置管理團隊成員的權限,

讓我們繼續前進到另一個有趣的功能,即審查插件,這個插件可以為你的存盤庫實作拉動請求,安裝審查插件后,在你的倉庫的選單中會出現一個新的專案點,它被稱為pull requests,

Pull Requests

      另一方面,pull requests是一個非常強大的作業流程,在我的職業生涯中,我經常看到對拉動請求的誤用,這導致了生產力的急劇下降,出于這個原因,我想更深入地了解這個話題,

最初,拉動請求是為開放原始碼專案設計的,以確保代碼質量,這種范式的另一個名字是獨裁者作業流程[5],每個開發者都向倉庫提交他的修改,倉庫所有者決定哪個修訂版將被集成到代碼庫中,

如果你把你的專案源托管在GitHub上,陌生人就不能直接在你的專案中合作,他們首先要把倉庫分叉到自己的GitHub空間,在他們向這個分叉的倉庫提交一些修訂后,他們可以向原始倉庫創建一個拉動請求,作為版本庫的所有者,你現在可以決定是否接受拉動請求,

SCM工具IBM Synergy在20年前也有類似的策略,使用起來太復雜了,所以很多公司決定轉向其他解決方案,這些天來,看起來歷史正在重演,

我對使用pull requests持懷疑態度的原因是非常務實的,我經常在專案中觀察到,經理并不信任開發者,然后他決定實施pull requests的作業流程,讓首席開發者或架構師接受pull requests,這些人通常太忙了,無法真正檢查每個拉動請求的所有細節,因此,他們的解決方案是簡單地將每個拉動請求合并到代碼庫中,并檢查CI管道是否仍然有效,這樣一來,拉動請求就成了浪費時間的事情,

還有一種方法,即拉動請求可以真正提高專案的代碼質量:如果它們被用作代碼審查工具,

特點總結

SourceCode Management

SCM-Manager comes out of the box with support for Git, Mercurial and Subversion. All three types can be managed the same way over one interface.

Easy Installation

SCM-Manager can be easily installed on the platform of your choice. We are trying to make the installation on every platform as easy as possible.

Plugins

We provide a variety of useful plugins from a wide range of categories out of the box which can be expanded individually.

Extensible

SCM-Manager can be easily extended with its simple plugin api.

REST API

We provide you a rich Level 3 RESTful WebService for every function of SCM-Manager. This makes it easy to integrate with your internal processes.

Authentication

SCM-Manager comes with a very flexible authentication mechanism. You can configure the mechanism that fits your needs or use the embedded one.

Authorization

SCM-Manager provides a fine grained authorization model. Give users or groups of users exactly the permissions they need.

Simple Configuration

SCM-Manager is completely configurable from its Web-Interface. There is no need to hack configuration files.

No Dependencies

No web servers, databases or caches are required. SCM-Manager is very lightweight and does not force you to install a ton of infrastructure components.

User Interface

SCM-Manager comes with a nice looking rich user interface, which provides you with a smooth user experience.

OpenSource

SCM-Manager is free and licensed under the MIT OpenSource license.


Summary

      如果你敢于希望在DevOps世界中過上更簡單的生活,也許你的愿望成真了,SCM-Manager可能是你最好的朋友,這個應用程式提供了很多我在這里簡單描述的功能,但還有更多的高級功能,我甚至沒有在這個簡短的介紹中提到,有可能創建腳本并通過SCM-Manager的API執行它們,此外,還有一個用于Jenkins自動化服務器的插件,其他基礎設施工具,如Jira、Timescale或Prometheus指標收集,都與SCM-Manager集成,

我希望通過這篇小文章,我能夠吊起你對這個令人興奮的工具的胃口,我希望你喜歡嘗試它,

參考

[1] https://www.scm-manager.org
[2] https://hub.docker.com/r/scmmanager/scm-manager
[3] https://www.scm-manager.org/download/

[4] https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests
[5] https://git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows


今天先到這兒,希望對云原生,技術領導力, 企業管理,系統架構設計與評估,團隊管理, 專案管理, 產品管管,團隊建設 有參考作用 , 您可能感興趣的文章:
領匯入怎樣帶領好團隊
構建創業公司突擊小團隊
國際化環境下系統架構演化
微服務架構設計
視頻直播平臺的系統架構演化
微服務與Docker介紹
Docker與CI持續集成/CD
互聯網電商購物車架構演變案例
互聯網業務場景下訊息佇列架構
互聯網高效研發團隊管理演進之一
訊息系統架構設計演進
互聯網電商搜索架構演化之一
企業資訊化與軟體工程的迷思
企業專案化管理介紹
軟體專案成功之要素
人際溝通風格介紹一
精益IT組織與分享式領導
學習型組織與企業
企業創新文化與等級觀念
組織目標與個人目標
初創公司人才招聘與管理
人才公司環境與企業文化
企業文化、團隊文化與知識共享
高效能的團隊建設
專案管理溝通計劃
構建高效的研發與自動化運維
某大型電商云平臺實踐
互聯網資料庫架構設計思路
IT基礎架構規劃方案一(網路系統規劃)
餐飲行業解決方案之客戶分析流程
餐飲行業解決方案之采購戰略制定與實施流程
餐飲行業解決方案之業務設計流程
供應鏈需求調研CheckList
企業應用之性能實時度量系統演變

如有想了解更多軟體設計與架構, 系統IT,企業資訊化, 團隊管理 資訊,請關注我的微信訂閱號:

MegadotnetMicroMsg_thumb1_thumb1_thu[2]

作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文著作權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利, 該文章也同時發布在我的獨立博客中-Petter Liu Blog,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/299580.html

標籤:其他

上一篇:HO引擎近況20210912

下一篇:名言小抄(五)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more