DevOps全流程筆記,參考視頻https://www.bilibili.com/video/BV17x4y1o75G
DevOps基本流程
DevOps:就是一整套的工具鏈和一整套的體系方法把這套工具鏈串起來讓開發(fā)工作和運行維護工作變得更加輕松
- PLAN:開發(fā)團隊根據(jù)客戶的目標(biāo)制定開發(fā)計劃
- CODE:根據(jù)PLAN開始編碼過程,需要將不同版本的代碼存儲在一個庫中,
- BUILD:編碼完成后,需要將代碼構(gòu)建并且運行
- TEST:成功構(gòu)建項目后,需要測試代碼是否存在BUG或錯誤。
- DEPLOY:代碼經(jīng)過手動測試和自動化測試后,認定代碼已經(jīng)準備好部署并且交給運維團隊.
- OPERATE:運維團隊將代碼部署到生產(chǎn)環(huán)境中。
- MONITOR:項目部署上線后,需要持續(xù)的監(jiān)控產(chǎn)品。
- INTEGRATE:然后將監(jiān)控階段收到的反饋發(fā)送回PLAN階段,整體反復(fù)的流就是DevOps的核心,即持續(xù)集成、持續(xù)部署。
Jenkins負責(zé)代碼什么時候構(gòu)建、測試(Jenkins內(nèi)部安裝構(gòu)建和測試工具)、發(fā)布以及如何部署
程序員把代碼push到gitlab以后,Jenkins把代碼pull下來,使用Maven或Gradle來build,然后測試,把可運行的軟件發(fā)布到服務(wù)器,再基于容器進行部署
Code階段工具(gitlab安裝)
這里的前提是安裝了git以及docker和docker-compose,若未安裝可以參考https://git-scm.com和本人文章微服務(wù)項目的部署
關(guān)閉防火墻
systemctl stop firewalld
查看docker hub提供的gitlab相關(guān)
cd docker
docker search gitlab
安裝最新gitlab
docker pull gitlab/gitlab-ce:latest
查看鏡像
docker images
創(chuàng)建docker-compose.yml文件(記得服務(wù)器IP要改)
啟動容器
docker-compose up -d
直接訪問external_url即可
進入到容器內(nèi)部
docker exec -it gitlab bash
cat /etc/gitlab/initial_root_password
會顯示出默認密碼
然后就可以登錄gitlab了,記得修改密碼
Build階段工具(Maven安裝)
克隆一個虛擬機鏡像,開始maven安裝
Integrate階段工具Jenkins
Jenkins介紹
Jenkins最主要的工作就是將GitLab上可以構(gòu)建的工程代碼拉取并且進行構(gòu)建,再根據(jù)流程可以選擇發(fā)布到測試環(huán)境或是生產(chǎn)環(huán)境。
一般是GitLab上的代碼經(jīng)過大量的測試后,確定發(fā)行版本,再發(fā)布到生產(chǎn)環(huán)境。
- Cl過程即是通過Jenkins將代碼拉取、構(gòu)建、制作鏡像交給測試人員測試。
- 持續(xù)集成:讓軟件代碼可以持續(xù)的集成到主干上,并自動構(gòu)建和測試。
- CD過程即是通過Jenkins將打好標(biāo)簽的發(fā)行版本代碼拉取、構(gòu)建、制作鏡像交給運維人員部署。
- 持續(xù)交付:讓經(jīng)過持續(xù)集成的代碼可以進行手動部署。
- 持續(xù)部署:讓可以持續(xù)交付的代碼隨時隨地的自動化部署。
Jenkins安裝
拉取Jenkins鏡像
docker pull jenkins/jenkins
編寫docker-compose.yml
version: "3.1"
services:
jenkins:
image: jenkins/jenkins
container_name: jenkins
ports:
- 8080:8080
- 50000:50000
volumes:
- ./data/:/var/jenkins_home/
首次啟動會因為數(shù)據(jù)卷data目錄沒有權(quán)限導(dǎo)致啟動失敗,設(shè)置data目錄寫權(quán)限
chmod -R a+w data/
修改鏡像源
# 修改數(shù)據(jù)卷中的hudson.model.UpdateCenter.xml文件
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://updates.jenkins.io/update-center.json</url>
</site>
</sites>
# 將下載地址替換為http://mirror.esuni.jp/jenkins/updates/update-center.json
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>http://mirror.esuni.jp/jenkins/updates/update-center.json</url>
</site>
</sites>
# 清華大學(xué)的插件源也可以
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
再次重啟Jenkins容器,訪問Jenkins(需要稍微等會)
查看密碼登錄Jenkins,并登錄下載插件
docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
選擇需要安裝的插件文章來源:http://www.zghlxwxcb.cn/news/detail-607833.html
下載完畢設(shè)置信息進入首頁(可能會出現(xiàn)下載失敗的插件)文章來源地址http://www.zghlxwxcb.cn/news/detail-607833.html
Jenkins入門配置
CI/CD操作
集成Sonar Qube
集成Harbor
Jenkins流水線
Kubernetes編排工具
到了這里,關(guān)于【運維】DevOps全流程筆記(未完成)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!