热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Jenkins接MySQL_jenkins流水线使用mysql数据库

jenkins流水线使用mysql数据库背景在某些情况下,我们可能需要通过jenkins连接数据库做一些数据的持久化操作环境准备mysql数据库以往安装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系统设置界面配置数据库连接

f083ba69583f83f773237ee081483f78.png

使用

插件安装好以后就可以通过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

}

b739ec46bb5c46d9c0aa4ce35ba1ea56.png

关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。

本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。

[jenkins流水线使用mysql数据库]http://www.zyiz.net/tech/detail-110049.html



推荐阅读
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
author-avatar
麦豪小仙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有