簡介:本課程介紹jenkins、docker、k8s以及使用一個實例講解如何實現持續集成、代碼的自動化編譯打包和部署。
第1章 課程介紹
本章主要介紹課程目標:1)讓大家基本了解docker、k8s、持續集成與Jenkins;2)讓大家掌握實際項目在測試環境中,如何通過Jenkins+k8s實現持續集成的;介紹學習內容:Docker、k8s、持續集成、Jenkins、實例 介紹使用案例:一個spring boot項目,使用Jenkins自動化編譯、打包、發布 以及效果展示。
1-1 課程整體介紹
課程目標
- 讓大家基本了解docker、k8s、持續集成、Jenkins。
- 讓大家掌握docker、k8s、Jenkins的基本使用。
- 讓大家掌握如何使用Jenkins+k8s實現持續集成與測試環境的自動化管理。
課程安排
- docker
- k8s
- 持續集成
- jenkins
- 實例綜合運用
課程使用案例
- 一個spring boot項目,使用Jenkins自動化編譯、打包、發布。
- 項目地址:https://github.com/solochen84/SpringBootDemo。
效果展示


課前技術儲備
- 初步了解java、maven、spring boot。
- 了解git。
- 熟悉Linux、了解shell。
演示
首先登錄jenkins

點擊左上角導航欄的Jenkins
選擇一個項目,比如ph然后點擊進去。

點擊左側菜單的Build with Parameters
選擇一個分支(如origin/master),然后點擊開始構建。
正在構建中
構建完成訪問項目
1-2 實驗環境規划
實驗環境規划
1-3 虛擬機安裝配置
虛擬機安裝配置
VirtualBox安裝

虛擬機安裝
點擊新建,新建一個虛擬機,后面一直點擊繼續,直到創建完成即可。
右鍵選擇啟動,正常啟動即可。
虛擬機安裝配置(一)
設置橋接模式
設置root密碼
設置ssh root連接
修改為yes
測試ssh連接
虛擬機安裝配置(二)
關閉防火牆
設置kexue上網(操作省略)
第2章 你應該掌握的Docker
本章重點介紹docker是什么、docker為什么出現、docker的特點、docker的基本使用如1. 基本概念:鏡像、容器、存儲卷、倉庫;2. 版本查看、鏡像拉取、容器運行、端口映射、數據持久化、進入容器、查看容器日志、查詢容器、查詢鏡像;3. 鏡像構建、Dockerfile語法等。
2-1 docker容器
Docker介紹
- Docker是一種容器技術
- 容器是什么-容器是一種輕量級、可移植、自包含的軟件打包技術,使應用程序可以在幾乎任何地方以相同的方式運行。
- 開發在自己筆記本上創建並測試好的容器,無需任何修改就能夠在生產系統的虛擬機、物理服務器或公有雲主機上運行。
Docker的由來
- 容器來源於集裝箱,二者的英文都是Container,集裝箱解決了運輸的難題。
- Docker的中文意思是碼頭工人。
- Docker的圖標是集裝箱。
容器 VS 虛擬機

Docker的特點
- Docker的特點:輕量級、可移植、資源占用少。
- 對於開發人員-Build Once,Run Anywhere。
- 對於運維人員-Configure Once,Run Anything。
2-2 docker安裝以及配置
Docker安裝
- apt-get update
- apt-get install -y docker.io
Docker配置
阿里雲加速器配置(https://cr.console.aliyun.com/)
PS:因為docker是需求去下載鏡像的,默認是會從docker hub上去下載鏡像,docker hub是國外的,下載速度比較慢,所以需要配置加速器。

2-3 docker基本使用
- docker pull mysql:5.6
- docker run -p 3306:3306 --name mymysql -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
Docker架構

- 鏡像(image)、容器(container)、倉庫(registry)。
- 倉庫分公有和私有兩種。Docker hub是默認的倉庫。
Docker基本使用
- 版本查看、鏡像拉取、鏡像查詢、鏡像刪除。

- 容器運行、端口映射、掛存儲卷、進入容器、查看容器日志、查詢容器、設置環境變量、容器停止、容器刪除。

以上容器運行命令中將主機的3306端口和容器的3306端口做了一個映射。
-v參數將宿主機的/home/mysql/data和容器里面的目錄/var/lib/mysql做一個映射,然后容器里面該目錄的數據就會全部放到宿主機對應的目錄下。以后容器重啟的話,數據就不會丟失了。
- 倉庫登錄
- 鏡像構建、鏡像打tag、鏡像推送
來源:慕課網