日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

jenkins查询mysql_jenkins流水线使用mysql数据库

發布時間:2025/3/19 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jenkins查询mysql_jenkins流水线使用mysql数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在某些情況下, 我們可能需要通過jenkins連接數據庫做一些數據的持久化操作

環境準備

mysql數據庫

以往安裝mysql數據庫都是在網上先找的安裝教程,搗鼓半天才能安裝上。后來發現通過docker安裝mysql好簡單,所以本次通過docker來安裝mysql。

安裝

安裝docker

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

sudo yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

sudo yum-config-manager --enable docker-ce-test

sudo yum-config-manager --disable docker-ce-edge

sudo yum makecache fast

sudo yum install docker-ce-18.09.9

#開機啟動docker

sudo systemctl enable docker

#啟動docker

sudo systemctl start docker

#創建docker組

sudo groupadd docker

#將當前用戶加入docker組

sudo usermod -aG docker $USER

#如果安裝失敗了,想卸載重裝, 可通過下面命令來卸載

yum remove docker-ce

復制代碼

安裝docker compose

雖然通過Dockerfile就可以定義一個docker容器, 但是如果我們有多個容器需要配合使用時就不是很方便了,因此此處采用了docker compose。 docker compose 是一個像Dockerfile定義 docker 容器一樣能夠定義容器集群的編排和部署工具,可以很方便地幫助我們實現容器管理。

docker compse的安裝:

# 安裝 ---二進制包。 如果curl下載不了, 則去此地址手動下載:https://github.com/docker/compose/releases

curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

# 給下載的docker compose授予可執行權限

sudo chmod +x /usr/local/bin/docker-compose

#鏈接到usr/bin下,然后就可以通過docker-compsoe命令調用了

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

復制代碼

準備配置了myslq容器的docker-compose.yml 配置文件

version : '2'

services:

mysql:

container_name: mydb

image: docker.io/mysql:5.7

command:

--character-set-server=utf8mb4

--collation-server=utf8mb4_general_ci

--explicit_defaults_for_timestamp=true

--lower_case_table_names=1

--max_allowed_packet=128M

--sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"

ports:

- "3306:3306"

volumes:

- ./data:/var/lib/mysql

environment:

MYSQL_DATABASE: devops

MYSQL_ROOT_PASSWORD: root

MYSQL_ROOT_HOST: '%'

restart: always

復制代碼

啟動mysql容器

在有docker-compose.yml文件的路徑下執行下面命令即可啟動容器。

ps: 示例中將使用的docker-compose.yml 文件放在了 /home/docker/devops/compose下。可自行修改

cd /home/docker/devops/compose

#檢查yml文件是否配置正確, 如果docker-compose.yml有錯誤,則下面命令會報錯

docker-compose config

# 后臺方式啟動容器

docker-compose up -d

#查看運行中的容器

docker ps

#進入運行中的容器 進入容器后,即可通過 myslq -u root -p的方式登陸myslq數據庫了

# mysql的root密碼在docker-compose.yml里面的MYSQL_ROOT_PASSWORD項已經配置了

docker exec -ti mydb sh

復制代碼

使用

由于我們已經在docker-compse.yml里面暴露了3306端口,因此就可以通過 宿主機ip+端口方式訪問mysql 。 如: jdbc:mysql://ip:3306/數據庫名稱

jenkins方面

雖然jenkins流水線腳本通過groovy編寫而且groovy可以使用數據庫, 但是如果直接在流水線腳本中通過groovy使用數據庫時會面臨數據庫jdbc驅動加載不到的問題。 經過搜索,發現jenkins已經有了支持數據庫的插件: database和MySQL Database Plugin

安裝

在jenkins插件管理頁面安裝database和MySQL Database Plugin

在jenkins系統設置界面配置數據庫連接

使用

插件安裝好以后就可以通過getDatabaseConnection 和 sql 這兩個方法來連接數據庫進行操作了.

將sql語句和參數分開是為了避免sql注入,如果不介意這個, 那么就直接把參數寫到sql語句里面去吧

getDatabaseConnection(type: 'GLOBAL') {

def sqlString="select id from test_table where job_name= ? and build_number= ?"

def params=['test',11]

sql sql:sqlString,parameters:params

}復制代碼

總結

以上是生活随笔為你收集整理的jenkins查询mysql_jenkins流水线使用mysql数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。