實驗室的現代化程序1——基於NAS架設並安裝gitLab的建立私有版本管理系統與windows配置實踐
碎碎唸的吐槽(前言背景):
作為一個非計算機專業的工科研究生,最近實驗室工程專案的越來越多,很多工作也轉向了程式開發與演算法實現,但課題組仍然沿用非常原始的管理與開發方法來應對專案,最近一段時間經歷了因為溝通不暢和管理不規範造成時間拖慢和重複開發,總是吃力不討好。事實上現在對於程式開發和專案的管理,本來就有很多現成且流行的工具和正規化,但是畢竟導師不是計算機相關從業人員對此並不瞭解,沒有意識到這些。但作為實驗室的一線開發人員的我(又要看文獻寫論文研究演算法還要寫程式碼程式碼實際開發線上系統),覺著為了提高效率,還是得把這些東西用起來。讓實驗室變得“現代化”一點,一方面提高開發效率,一方面也算是不要被時代所拉下。
網管的工作(配置實踐)
系統需求與方案設計
經過調研,本著減少維護時間和讓實驗室的其他人能夠快速使用入手的角度來看,決定用一套群暉NAS 系統連線實驗室內網來搭建伺服器端,貴是貴了點,比伺服器便宜多了。此外作為一臺小型檔案服務系統,能快速搭建不少服務,少折騰,對於實驗室或者一個小型公司來說完全夠用。
由於課題組的大多數人並非熟悉Linux系統與bash包打天下的程式設計師,程式開發是副業,通常習慣集中在window下用圖形化的操作介面進行互動操作和輕量級程式開發,易用性設計排在首位。讓大家用起來,tortoise git是必須的
群暉下實現git私有服務主要有git server套件和利用docker 安裝執行gitlab兩種方式。但Git Server有一個問題在於設定ssh登陸得時候,由於群暉的安全性設定只認管理員,相對來說,gitlab有漂亮的web訪問管理,方便易用,也好與tortoise 配合。
最後出來是這樣的
伺服器端 Synology DS918+ 搭建gitlab
NAS端的安裝與配置
群暉系統,傻瓜式的安裝操作啊。
安裝
管理員賬戶登陸DSM,直接在套件裡安裝Docker、MarinaDB、Ruby、gitlab,原則上安裝gitlab會提示並按指示自動去安裝這些東西
配置
按照操作提示配置好就可以了,Docker分配空間,支援遠端通過http或ssh進行訪問,分配好埠號
我的機子就用的是http訪問的預設埠為30000,ssh是30001
Windows系統下Git的安裝與配置
windows系統使用者安裝
1)git
2)tortoise git
3)putty(可選)
配置
正常來說,對於非特殊需求來說,一路預設就行。
可選操作
通過puttygen生成一組ssh用的公鑰和私鑰,RSA格式
開始幹活(使用指南)
面向普通使用者
1. 連線NAS與配置路由器
首先將NAS通過路由器連結到區域網中,方便起見分配一個固定的IP地址,如果不想讓他連結外網,在行為管理裡禁止掉WAN對該IP的訪問
2. 註冊使用者
用同樣接入到區域網的電腦開啟瀏覽器,通過IP加埠號進行web訪問,如http://192.168.8.11:30000
註冊新使用者。如果需要通過ssh進行拉取推送,需要用putty生成一組RSA金鑰,在gitlab的個人設定裡新增public_key
通過web在遠端新建一個工程,gitlab上有project地址,可以選擇複製
3. 首次使用,本地克隆
用tortoise git選擇克隆
輸入遠端地址,兩種訪問方式 http和ssh,直接copy 步驟2 中工程的地址,將localhost替換成伺服器ip即可
其中ssh需要載入金鑰(putty生成的私鑰),
http在首次登陸的時候需要輸入使用者名稱和密碼,如果輸錯了或者要修改,需要在window下通過 控制面板-使用者賬戶和密碼-管理我憑據-管理我的windows憑據中做出修改即可
總體來說,對於普通windows使用者來說,http訪問足夠了
開始使用!
總結:
版本控制系統架設,實驗室現代化的第一步。本配置方案對於維護人員和使用者來說,均不需要太多程式設計師知識和“碼力”,基本點滑鼠,傻瓜式操作。易用性放在首位,後續就是號召並教會實驗室的老師同學使用git的事情了
(懶癌犯了懶得截圖後續有空再改)