軟體配置管理和持續整合
編輯推薦: |
本文來自簡書,本文講的是軟體配置管理的應用以及如何配置搭建環境,希望對您的學習有幫助。 |
版本管理
1、檔案管理+歷史追蹤+衝突管理+版本釋出+團隊協作
2、維護+開發+研究3代
1.SVN集中式配置管理工具,一旦中央倉庫的伺服器宕掉,提交歷史則清空。
2.Git的產品:gitlab,github,Bitbucket
3.Git如果遠端倉庫目前不能連,那麼本地也可以進行版本管理(commit)
4.Git本地擁有伺服器映象,擁有全部的提交歷史,本地相當於一個倉庫。
5.介面顆粒度變小,職責分配清楚 => 方便分支管理與減少程式碼衝突,功能解耦
三種角色
1、 配置管理
建立倉庫
建立分支
建立基線
2、 資深程式員
Pull Request管理(預合併:在本地倉庫做一個當前feater分支到遠端develop分支的合併,pull request請求,但是遠端並未同意,接著在本地伺服器拉取develop分支與feacher分支,並做合併,稱為預合併,合併成功之後,pull request有相應的提示)
3、 小白程式設計師
配置並啟動虛擬機器的gitlab:
其中右側的框用於檢視本機的IP,命令:If config 檢視本機ip,本地ip :
相關配置資訊
http://192.168.100.XX:8080
使用者名稱:root
密碼:admin123456
sudo docker run --detach \ create與start兩個步驟
--hostname 192.168.153.128
--publish 8443:443 --publish 8080:80 --publish 2222:22
--name gitlab --restart always
--volume /srv/gitlab/config:/etc/gitlab
--volume /srv/gitlab/logs:/var/log/gitlab
--volume /srv/gitlab/data:/var/opt/gitlab
beginor/gitlab-ce:11.0.4-ce.0
圖中的紅色框中為containnerID
登入虛擬機器的gitlab網址:
1、在本地的瀏覽器中輸入虛擬機器網,輸入使用者名稱為root,密碼為:admin123456
2、為gitlab新增成員,並配置成員資訊,包括姓名、使用者名稱、電子郵箱
3、可以設定某些專案功能並選擇訪問許可權
4、為新建立的專案新增成員並設定成員的角色許可權
5、檢視某一專案現有的成員
vim /srv/gitlab/config/gitlab.rb
為Gitlab Server配置郵件通知的方法
開啟掛載的配置目錄
vi /srv/gitlab/config/gitlab.rb
新增外部請求的域名(如果不支援https, 可以改成http)
external_url 'https://gitlab.sun.cc'
修改gitlab對應的時區
gitlab_rails['time_zone'] = 'PRC'
開啟郵件支援
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '[email protected]'
gitlab_rails['gitlab_email_display_name'] = 'chinamobile GitLab'
配置郵件引數
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.chinamobile.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "xxxxxx"
gitlab_rails['smtp_domain'] = "chinamobile.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
配置Git客戶端引數的方法
1、直接修改.gitconfig檔案
C:\Users\XXX.gitconfig
2、使用Tortoise Git客戶端配置
右鍵選單,“設定”-->"Git"-->“編輯全域性.git/config”
配置檔案內容為:
[core]
autocrlf = true
excludesfile =
quotepath = false
[push]
default = matching //自動在遠端客戶端選擇與本地對應的分支,不用每次都手動選擇
[branch "master"]
rebase = true
[branch "develop"]
rebase = true
[branch "engine"]
rebase = true
[http]
sslVerify = false
打基線+查基線
Git remote –v 檢視
git tag -a "0.9_sprint10_2018-8-30" -m "第10個Sprint釋出版本"
git tag
git remote -v
git push origin --tags
Gitlab檢視Tag
改網址並提交tags:
也可在gitlab上面新增標籤,在gitlab服務端打的基線也可以在客戶端聽過git pull origin –tags 在本地通過git tag 可以檢視
操作步驟:
1、在Gitlab建立git倉庫
2、在客戶端提供專案程式碼
3、提交專案程式碼到Gitlab倉庫
4、在master分支上打Tag 0.1
5、以Tag 0.1為基礎建立develop分支
6、提交兩次到develop分支
擴充套件步驟:以Tag 0.1為基礎建立hotfix分支
提交兩次到hotfix分支
將hotfix分支合併到develop分支
將hotfix分支合併到master分支
打Tag(0.2)
7、以develop分支為基礎建立feature分支
8、提交兩次到feature分支
9、發起pull request
10、執行pull request確認,合併到develop分支
11、以develop分支為基礎,建立release分支(提測)
12、在release分支上提交兩次(模擬bug fix)
13、將release分支合併到develop分支
13、將release分支合併到master分支,並打Tag(1.0)
14、刪除feature分支
5、以Tag 0.1為基礎建立develop分支
6、提交兩次到develop分支
本地分支為develop,遠端分支輸入develop
拉取遠端新建的分支方法:
git fetch origin
git checkout –b feather origin/feather //即獲取服務端的feather分支,並在本地檢出到該分支