DevOps(二十)

1、DevOps
DevOps是Development和Operations兩個詞的縮寫,它涵蓋開發、測試、運維的整個過程,簡言爲自動化部署。

在這裏插入圖片描述
2、Git/GitLab
Git是一個版本控制系統,GitLab是一個遠程的Git倉庫,GitLab與GitHub及國內的碼雲類似,用戶在GitLab上注 冊賬號,上傳項目到GitLab,通過GitLab對項目進行版本控制。通常企業使用GitLab在局域網搭建自己的Git代碼 管理倉庫,不過隨着雲計算的發展,很多企業也開始使用提供Git倉庫管理公共服務的平臺,比如:碼雲、GitHub 等。
Git在IDEA中的配置;
從GitLab檢出項目;
提交代碼到GitLab;

3、Docker
基於微服務架構的軟件在 生產部署時遇到了這樣的挑戰:
1、微服務的開發語言、操作系統、依賴庫等環境配置不同,如何快速安裝、遷移、配置軟件?
2、一個軟件由若干微服務組成,如何快速批量部署微服務?
3、如何有效的利於計算機資源?
設想:在一臺計算機安裝多個微服務,使用一種技術將微服務打包、複製部署,並且微服務之間隔離互不影響。
Docker可以運行MAC、Windows、Centos、DEBIAN、UBUNTU等操作系統上,提供社區版和企業版。
部署流程:
1、在pom文件中添加maven的打包插件代碼:

<build>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
		</plugin>
	</plugins>
</build>

2、在IDEA執行clear package打包命令進行打包
3、創建鏡像
將上一步的jar包拷貝到Linux服務器,準備創建鏡像。
測試jar包是否可以運行,執行:java -jar xc-govern-center-1.0-SNAPSHOT.jar
在xc-govern-center-1.0-SNAPSHOT.jar 位置編寫Dockerfile文件

FROM java:8 
ENV ARTIFACTID xc‐govern‐center 
ENV ARTIFACTVERSION 1.0‐SNAPSHOT 
ENV HOME_PATH /home 
WORKDIR $HOME_PATH 
ADD /$ARTIFACTID‐$ARTIFACTVERSION.jar $HOME_PATH/$ARTIFACTID.jar 
ENTRYPOINT ["java", "‐jar", "xc‐govern‐center.jar"]

在Dockerfile文件所在目錄執行:docker build -t xc-govern-center:1.0-SNAPSHOT .
鏡像創建成功,查詢鏡像
創建容器
基於xc-govern-center:1.0-SNAPSHOT鏡像創建容器,容器名稱爲xc-govern-center-test

docker create ‐‐name xc‐govern‐center‐test ‐t ‐p 50101:50101 ‐e 
PORT=50101 ‐e EUREKA_SERVER=http://192.168.101.64:50101/eureka/,http://192.168.101.64:50102/eureka/ xc‐ govern‐center:1.0‐SNAPSHOT

容器創建成功,可通過docker ps -a命令查看
啓動容器
docker start xc-govern-center-test 容器啓動完成可以通過docker ps 查詢正在運行中的容器。
停止與刪除
1、停止正在運行的容器
docker stop 容器名
例如:docker stop xc-govern-center-test
2、刪除容器
docker rm 容器名
例如:docker rm xc-govern-center-test
3、刪除鏡像
docker rmi 鏡像名或鏡像Id
例如:docker rmi xc-govern-center:1.0-SNAPSHOT
maven構建鏡像
上邊構建的過程是通過手工一步一步完成,maven提供docker-maven-plugin插件可完成從打包到構建鏡像、構建 容器等過程。
1、編寫pom_docker.xml
2、將Dockerfile文件拷貝到src/main/resource下
3、刪除之前創建的xc-govern-center鏡像
4、進入工程根目錄(pom_docker.xml所在目錄)執行

mvn ‐f pom_docker.xml clean package ‐DskipTests docker:build

創建鏡像成功,結果如下:
在這裏插入圖片描述
持續集成
持續集成的思想是每天要多次將代碼合併到主幹,並進行集成、測 試,這樣就可以提早發現錯誤,進行修正。持續集成也屬於DevOps。
持續集成的好處:
1、自動化集成部署,提高了集成效率。
2、更快的修復問題。
3、更快的進行交付。
4、提高了產品質量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章