【gitlab+jenkins+docker】第五節 docker信息明細表設計與實現(含收集腳本)

【gitlab+jenkins+docker】手把手教你搭建基於gitlab+jenkins+docker的項目的自動化部署流程

前言

在上一節交代,之所以需要維護一張docker容器信息表,是爲了做到ip和port等信息的統一分發與管理。

SQL語句

話不多說,直接貼創建語句:

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for dockers_detail
-- ----------------------------
CREATE DATABASE `devops`;
USE `devops`;
DROP TABLE IF EXISTS `dockers_detail`;
CREATE TABLE `dockers_detail`  (
  `UPDATE_TIME` datetime NOT NULL COMMENT '更新日期',
  `IMAGE` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'docker鏡像',
  `DOCKER_VERSION` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'docker版本',
  `HOST_NAME` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'docker容器主機名',
  `CONTAINER_NAME` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'docker容器名',
  `NETWORK_NAME` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'network名',
  `IP` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'docker ip',
  `C_PORT` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '容器端口號',
  `CPU` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '分配docker容器core數',
  `MEMORY` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '分配docker容器內存',
  `HOST` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '宿主機',
  `D_PORT` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '宿主機端口號',
  PRIMARY KEY (`CONTAINER_NAME`, `IP`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'docker容器信息明細表' ROW_FORMAT = Compact;

SET FOREIGN_KEY_CHECKS = 1;

將以上語句直接在命令行或其他遠程連接軟件(如navicat)中執行一遍即可。

佈置腳本

可以在我的資源頁面中找到“gitlab+jenkins+docker自動化部署腳本”,然後拖到opt目錄下解壓:
在這裏插入圖片描述
可以看到automation和jdk1.8.0_191兩個文件夾,我們先賦予jdk1.8.0_191權限(一定要做):

[root@JackRoy opt] chmod -R 777 jdk1.8.0_191

再將上節配置的mysql ip修改一下,執行:

[root@JackRoy ~]# vim /opt/automation/docker_job/docker_ssh.sh

修改IP爲宿主機IP,密碼修改爲自己設置的root密碼:
在這裏插入圖片描述
執行:

[root@JackRoy ~]# vim /opt/automation/docker_job/deploy/start.sh

修改IP爲宿主機IP,密碼修改爲自己設置的root密碼:
在這裏插入圖片描述
執行:

[root@JackRoy ~]# vim /opt/automation/deploy/cleanTable.sh

修改IP爲宿主機IP,密碼修改爲自己設置的root密碼:
在這裏插入圖片描述
可能你在觀察這個目錄結構和文件分佈會覺得很冗餘,筆者在這裏解釋一下,因爲這個自動化部署分了聯機版(多臺機器部署)和單機版,所以在一開始就有主從的設計在裏面,這裏只介紹單機版即主、從的代碼放在一起了。

信息收集

依次執行:

pip install mysql
sh /opt/automation/docker_job/docker_ssh.sh

去往navicat上查看:
在這裏插入圖片描述
docker容器信息收集成功,So你可以將“sh /opt/automation/docker_job/docker_ssh.sh”配置到crontable中,定時收集

後記

下一節將介紹項目自動化部署腳本邏輯。

跳轉

第一節 基礎環境介紹與準備
第二節 docker版gitlab安裝和配置
第三節 docker版jenkins安裝和配置
第四節 docker版mysql安裝和配置
第五節 docker信息明細表設計與實現(含收集腳本)
第六節 docker容器自動化生成腳本
第七節 自動生成docker容器並啓動項目

發佈了48 篇原創文章 · 獲贊 71 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章