Docker—jenkins + Docker持续集成

Docker+Jenkins一键自动化部署、超简单~ Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成 阅读详情

框架

1,Jenkins 服务和执行项目的Agent为同一台服务器,当然实际中也可以分开
2,Docker搭建Jenkins服务
3,登录Jenkins安装需要的插件并配置基本信息
4,创建构建项目基本信息和执行命令脚本
5,创建节点,节点机器为搭建Jenkins服务的服务器
6,执行构建
7,调试代码以展示美观的报告,调试邮件模板

搭建Jenkins服务

1,登录远程服务器
2,搭建Docker,配置镜像源
3,pull jenkins 镜像(注意:参数-d后台运行必加 | -p端口映射,–restart=always | -e 时区 ,-v | 下边步骤4中的参数都是非常关键的参数)

1. docker search jenkins
2. docker pull  imageName:版本  (image名字用冒号连接版本号)
3. docker inspect imagename    查看image详细信息
4. 创建容器      docker run -d -p 80:8080 -p 50000:50000 --restart=always -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai -v /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.1.al7.x86_64:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.1.al7.x86_64  -v /etc/localtime:/etc/localtime -v /var/jenkins_home:/var/jenkins_home --name myjenkins docker.io/jenkins/jenkins:lts

4,创建的时候可以为Jenkins分配一个静态ip也可以不分配,如果不分配,在外网用服务器的ip登录也是可以的
5,浏览器输入服务器的ip地址进入到Jenkins登录初始化界面

Jenkins 基础配置

全局工具配置

jdk选自动安装
在这里插入图片描述
git默认
在这里插入图片描述

Allure Commandline (需要安装allure插件)
  1. 配置别名,也就是你Allure Report生成的目录名字
  2. 安装目录配置,不建议自动安装(构建时没成功过)——去官网下载allure commandline,上传到服务器上并解压,放到jenkins_home 下面
  3. 构建项目里构建后的操作继续allure的相关配置

在这里插入图片描述

系统配置
  1. jenkins URL (jenkins服务的ip地址)
  2. 管理员邮件,这个是邮件发送人,发送构建结果的邮件,在构建里设置邮件部分时,发送者必须和管理员邮件地址一致

在这里插入图片描述
登录邮箱查询 server和port
在这里插入图片描述
在这里插入图片描述

全局安全配置

在这里插入图片描述
重要:创建容器时,写入的端口映射,-p参数
在这里插入图片描述

节点配置

远程代理机是你构建执行项目的机器,要安装配置跑项目需要的所有环境,比如java环境,python等等

节点就是要连接上你这个agent,在构建时关联这个节点就可以连接上agent并在agent上执行项目代码

配置Linux slave
     1,名字自取
     2,远程工作目录必填,远程agent上创建项目执行时的工作目录,会存放jenkins构建过程中的数据,git拉下来的代码,最后的结果报告等,也可放置你需要的插件,比如allure commandline插件
     3,登录服务器ssh方式,ip地址加上用户名密码,跳过验证
     4,工具位置,可能用到的插件最好集中管理,可以在你的工作目录下建一个文件专门放置会用到的插件

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

windows 代理机slave
     1,名字自取
     2,远程工作目录必填,远程agent上创建项目执行时的工作目录,会存放jenkins构建过程中的数据,git拉下来的代码,最后的结果报告等,也可放置你需要的插件,比如allure commandline插件
     3,java web代理方式
     4,工具位置,可能用到的插件最好集中管理,可以在你的工作目录下建一个文件专门放置会用到的插件
     5,点击节点,下载agent.jar 并放置在远程agent工作目录中,在agent电脑上命令行进入agent.jar 放置目录,执行slave给的命令启动agent就可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

构建项目配置

关联linux agent节点的构建项目配置

在这里插入图片描述
在这里插入图片描述
check out sub 检出子目录方便管理
在这里插入图片描述

(五颗星,中间用空格隔开)
第一颗表示分钟,取值0~59
第二颗
表示小时,取值0~23
第三颗表示一个月的第几天,取值1~31
第四颗
表示第几月,取值1~12
第五颗*表示一周中的第几天,取值0~7,其中0和7代表的都是周日

H/5 * * * *    每5 min 自动构建一次
   
H H/1 * * *   每一小时自动构建一次
   
0 9,17 * * *   每天 9点和下午5点构建一次
    
30 19 * * 4       每周四,19点30分

0 8 * * *     每天早晨8点
 
H 8,12,18 * * 6,7      每周六日的8点12点18点构建

H 8-23 * * 1-5        每周1到周5,8点到23点,每小时构建一次

H 8-23/2 * * 1-5     每周1到周5,8点到23点,每两小时构建一次

H/30 8-23 * * 1-5     每周1到周5,8点到23点,每30分钟构建一次

在这里插入图片描述
在这里插入图片描述
linux系统执行shell脚本
1.写上pip , python 的绝对路径(不方便,下边再写一个读取配置环境变量的)

cd InterTest
/usr/bin/pip3 install -r requirements.txt
/usr/bin/python3 run.py
/usr/bin/allure generate report/allure-results -o allure-reports/ --clean
/usr/bin/rm -f allure-reports.zip
/usr/bin/zip -r allure-reports.zip allure-reports

在这里插入图片描述

从配置文件/.bash_profile里读取python的环境变量,当然需要自己安装好并添加路径到配置文件里

1,登录slave的代理机后就执行配置文件
2,切换到从git检出的子目录
3,执行项目
4,生成allure报告
5,移除旧的报告并重新打包

4和5的目的是为了打包发送邮件用,在邮件扩展配置中加上路径和文件(InterTest/allure-report.zip)
在这里插入图片描述

重要:results path

1,results path 是执行pytest产生的result,用于生成allure报告
2,在程序中pytest.main() 你定义过–alluredir 地址,就是这个地址,下面填写需要与你项目里的地址保持一致
在这里插入图片描述

邮件模板根据自己需求设置

在这里插入图片描述

关联windows agent节点的构建项目配置

这里只贴与linux不同的地方
在这里插入图片描述
写上绝对路径,或者配置好环境变量就不用写绝对路径了

cd InterTest
C:\python\Scripts\pip install -r requirements.txt
C:\python\python run.py
C:\jenkins_workspace\allure2\allure-2.13.9\bin\allure generate   report/allure-results -o allure-reports/ --clean
del /s allure-reports.zip
C:\zip\zip -r allure-reports.zip allure-reports

在这里插入图片描述

父子job

起到一个触发作用,用job关联

在构建触发器里设置,比如Job1执行完立即触发job2
eg: 执行完接口自动化测试,如果是success和unstable 就触发功能自动化测试项目。
场景:实际中,项目有更新build就会触发自动化测试项目进行regression
在这里插入图片描述

执行构建并生成Allure报告

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基于Docker环境下的Jenkins搭建及使用 Jenkins作为目前持续集成中使用较为广泛的工具,在实际生产过程中通过结合众多的插件,从而实现工程的持续构建、持续部署。而传统构建的应用场景大多数运行在虚拟机或者独立的服务器上,在资源开销和管理维护较为复杂。相比于独立的服务器/虚拟机而言,容器不仅部署方便,且占用资源较少。Docker作为目前作为业内最火的一个容器解决方案之一,通过将两者结合,从而实现服务的轻量化,并通过Docker管理Jenkins的资源。 阅读详情

相关推荐

自动化测试使用jenkins做CICD持续集成(docker)

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。

m0_46811353的博客 2308

Docker搭建Jenkins持续集成

-target指定的是之前创建Python环境的目录,我们需要将库安装在此目录下。因为我们的Python环境使用的是该路径,如果只是执行pip3 install的话,会将库装在全局环境,但我们的Python环境又使用的不是全局环境,执行Python代码时会报错,找不到库。点击添加后,这个报错是因为我是局域网,百度搜索IP查询,将上面的IP重新换为百度查询的公网IP,再次点击添加就好了。但是要注意换地方后这个IP会变的,可能需要重新在这里配置。我在容器内查看系统是debian的,所以使用apt命令。

LJT_1314520的博客 3341

Jenkins—— Jenkins+Docker+SpringCloud微服务持续集成

Jenkins+Docker+SpringCloud微服务持续集成Jenkins+Docker+SpringCloud持续集成流程说明SpringCloud微服务源码概述本地部署SpringCloud微服务部署前端静态web网站 Jenkins+Docker+SpringCloud持续集成流程说明 开发人员每天把代码提交到Gitlab代码仓库 Jenkins从Gitlab中拉取项目源码,编译并打成jar包,然后构建成Docker镜像,将镜像上传到Harbor私有仓库 Jenkins发送SSH远程命令,让

Cantevenl的博客 3774

docker-jenkins 持续集成

docker-jenkins 持续集成 1.1Docker 1.1.1安装 1.1.1.1安装 Docker 查看是否已经安装docker,执行命令 docker 查看系统名称、节点名称、版本号等,执行命令 uname -a 更新yum,安装依赖包 yum update yum install -y yum-utils device-mapper-persistent-data lvm2 设置阿里云镜像源 yum-config-manager \ --add-repo \ http://mirror

架构师的成长之路的博客 1014

Docker搭建持续集成平台Jenkins最简教程

持续集成(Continuous Integration,CI)是软件开发中的一种实践,它旨在通过频繁地集成代码变更并自动运行测试,以确保代码的质量和稳定性。Jenkins 是一个广泛使用的开源持续集成工具,它能够自动化构建、测试和部署软件项目。在本文中,我们将使用 Docker 搭建一个基于 Jenkins 的持续集成平台。

weixin_47648853的博客 625

使用Docker搭建Jenkins+Docker持续集成环境

本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建、发布到仓库\并部署上线。 0. 前置条件# 服务器安装docker,并启动docker swarm 注意docker启动时,需要开启tcp端口 1.Jenkins 安装# 1.1 命令行启动:# 安装比较简单,直接运行 Copy docker run -p 8080:8080 -p 50000:50000 -d -v /home/jenkins-home-docker:

HB8888888的博客 1504

Jenkins+Docker持续集成

本节内容: Jenkins介绍 安装部署Jenkins Jenkins构建maven风格的job Jenkins邮件通知设置 Sonar Jenkins与Docker结合 一、Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。 二、安装部署Jen...

artaganan8的博客 4万+

【云原生之Docker实战】使用Docker部署jenkins持续集成工具

【云原生之Docker实战】使用Docker部署jenkins持续集成工具

jks212454的博客 2194

Docker部署Jenkins并持续集成Vue

在Docker环境中部署Jenkins,配置Jenkins自动化Vue项目的构建和部署,包括前置准备、Jenkins部署与初始化、插件安装、凭据配置、任务配置、项目环境准备以及权限问题解决等步骤。

明的博客 936

酒店前台pms管理系统

对于酒店经营者来说,选择一款优秀的管理系统,是提升运营效率、优化客人体验的关键。PMS酒店管理系统凭借其强大的房态管理、实时数据监控、OTA直联、无人值守等功能,已经成为许多酒店提升管理水平的得力助手。无论是大中型酒店,还是小型民宿,PMS系统都能根据不同需求提供量身定制的解决方案,帮助酒店实现精细化管理、提高运营效率。如果你也在为酒店管理中的繁琐琐事而困扰,不妨尝试一下PMS酒店管理系统,感受科技带来的便利与高效,让你的酒店运营更上一层楼!

2409_89897808的博客 2482

基于STM32设计的校园智慧路灯系统(华为云IOT)(212)

当前设计并研发了基于STM32的智慧路灯系统,本系统的目的是打造一个高效节能、智能化管理的校园照明环境。通过集成STM32F103RCT6高性能微控制器为核心,结合多种传感器模块如BH1750光敏传感器、热释电人体感应模块以及中科微电子GPS模块等,实现了对校园路灯的精准控制与实时监控。

5136

Docker 部署 Jenkins持续集成(CI)工具

Jenkins 是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中。通过 Docker 部署 Jenkins,可以简化安装和配置过程,并让你方便地管理 Jenkins 容器。本文将介绍如何使用 Docker 部署 Jenkins,并对比两种端口配置方式:使用host 网络模式和使用port 映射来设置 Jenkins 容器的访问端口。通过 Docker 部署 Jenkins 容器并设置端口映射或共享主机网络堆栈,都是部署 Jenkins 的有效方式。

weixin_44876263的博客 1318

【Python办公】剪贴板记录工具(记录文本 + 图片防重复)

本文介绍了一个用Python开发的剪贴板记录工具,能够自动记录复制过的文本和图片内容。该工具使用tkinter构建GUI界面,通过后台线程实时监控剪贴板变化,具有文本记录、图片保存(自动去重)功能。核心代码采用pyperclip访问剪贴板,PIL处理图片,hashlib计算图片哈希值实现去重。运行程序后,文本内容直接显示在界面,图片保存为PNG文件并记录路径。工具还提供清空历史记录功能,适合日常办公中需要追踪剪贴板历史的使用场景。

weixin_42636075的博客 238

Jenkins+docker插件实现持续集成

简介 Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。前身是Hudson是一个可扩展的持续集成引擎。 LINUX环境Jenkins下载安装 进入Jenkins官网的下载地址 选择稳定版,能避免不少奇奇怪怪的问题 下载好rpm包,传至服务器, 由于Jenkins基于java,所以安装J...

BUG猿的博客 9309

QT6实现USB摄像头接入显示与抓拍功能实现

QT实现USB摄像头接入显示 一、UVC协议简介 UVC全称是USB Video Class(USB视频类),是一种标准化的USB视频设备通信协议,它定义了摄像头与主机之间的数据传输协议和格式。 UVC协议的出现,解决了摄像头厂商之间互不兼容,以及摄像头应用开发与平台之间的散乱问题。 UVC标准是由USB-IF主导制定的,目前最新的版本是UVC 1.5,UVC的缺省设置类容易实现,不需要额外的驱动程序。

热土程序园,利他愉己~ 3415

三维点云转深度图

点云投影过程是将三维点云数据转化为二维图像坐标的关键步骤,它的实现涉及到相机内外参数的计算,包括相机的内部参数(如焦距和主点)和外部参数(如相机位置和方向)。具体来说,可以通过将每个点的三维坐标转换为相机坐标系下的坐标,然后使用相机内部参数和外部参数来计算在二维图像中的坐标。接着计算每个点的深度值,将深度值映射到像素值上,最后创建深度图像并将深度值赋给对应的像素值。这里需要注意的是,在将深度值映射到像素值上时,需要将像素值转换为 uchar 类型,否则在将深度值赋给像素值时会出现类型不匹配的错误。

点云兔子的博客 3171

基于Docker+Jenkins+GitHub搭建持续集成环境

一、为什么做持续集成、怎么做持续集成 搭建持续集成环境的目的,就是为了将部署流程规范化、自动化,节省人力、时间、稳定部署。 下图是Docker+Jenkins+GitHub的基本部署结构图。 开发者提交代码到git jenkins检测到版本更新,触发构建 构建任务:下载代码、maven打包、docker构建镜像、上传镜像库、重启镜像 下面开始逐步实现: 使用的服务器...

不忘初心,方得始终 1386

第11.4节 混合储能系统能量管理

混合储能系统(HESS)的能量管理策略采用分层架构实现多时间尺度优化:调度层(小时级)进行经济优化,协调层(秒级)基于频率分解分配功率,执行层(毫秒级)实现快速跟踪。深度强化学习(DRL)方法通过定义状态空间、动作空间和多目标奖励函数,能有效处理系统不确定性和多目标优化问题。HESS性能评估需综合技术指标(如调节性能Kp值、设备寿命指标)和经济指标(净现值NPV、平准化储能成本LCOS),并遵循"建模-仿真-实验"的闭环流程。

技术工作者 244

Docker持续集成:Jenkins与GitLab CI

Jenkins是一款开源的持续集成工具,它通过自动化构建、测试和部署软件,帮助开发团队提高工作效率。Jenkins支持多种插件,可与其他工具集成,如Docker、Git等。GitLab CI是GitLab内置的持续集成服务,它通过在GitLab仓库中定义CI/CD流程,实现自动化构建、测试和部署。GitLab CI与GitLab紧密集成,使得开发者在代码仓库中即可管理整个CI/CD流程。

2501_92486745的博客 866

超导电动悬浮系统一体化地面线圈电-热-力特性研究——基于ANSYS Maxwell与Workbench的多物理场联合仿真

摘要:超导电动悬浮(EDS)系统的地面线圈在运行中面临电-热-力多物理场强耦合挑战。本文基于ANSYS Maxwell和Workbench平台,提出一套联合仿真方法,对地面线圈进行高保真多物理场耦合分析。研究通过建立参数化三维电磁模型,计算瞬态涡流损耗和电磁力分布,并顺序耦合至热分析和结构分析,揭示电-热-力特性的相互影响机制。该方法为地面线圈的优化设计、材料选型和可靠性评估提供了理论依据和仿真工具支撑。 关键词:超导电动悬浮;地面线圈;多物理场耦合;联合仿真;ANSYS

huanghm88的专栏 374

基于巴法云物联网云平台构建可视化控制网页(以控制LED为例)

本文基于巴法云物联网云平台构建可视化控制网页,实现了对LED的控制。

kevin1499的博客 4518

CentOS服务器部署Docker+Jenkins持续集成环境

后续在 Jenkins 中创建项目任务,结合 Docker 的容器化优势,就能轻松实现代码的持续集成与快速部署,让软件开发流程更加高效、可靠。在 “系统管理”->“系统设置” 中找到 “Docker” 部分,填写 Docker 服务器的 URL(一般为 unix:///var/run/docker.sock ),测试连接成功后保存。2. 进入插件安装页面,可以选择安装推荐的插件,这些插件涵盖了常见的构建、测试等功能,方便快速搭建 CI 流程。登录阿里云控制台,找到容器镜像服务,获取专属的镜像加速地址。

李游的博客 825

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Jenkins+Docker+SpringCloud微服务持续集成

Jenkins+Docker+SpringCloud微服务持续集成Jenkins+Docker+SpringCloud持续集成流程说明SpringCloud微服务源码概述 Jenkins+Docker+SpringCloud持续集成流程说明 大致流程说明: 开发人员每天把代码提交到Gitlab代码仓库 Jenkins从Gitlab中拉取项目源码,编译并打成Jar包,然后构建成Docker镜像,将镜像上传到Harbor私有仓库 Jenkins发送SSH远程命令,让生产部署服务器到Harbor私有仓库拉取

611 - 菜鸟运维逆袭架构师之路 2361

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

持续集成:docker下使用jenkins容器构建docker镜像

最近又重新部署了jenkins持续集成系统,看到之前整理的文章不够详细,于是重新整理了docker下使用jenkins的容器进行持续集成的相关文章,拿来分享下

The magic of fingertips 2627

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Day119 持续集成docker+jenkins

本文介绍了使用Docker和Jenkins进行项目部署的实践方法。主要内容包括: Dockerfile编写与镜像构建 通过Dockerfile将SpringBoot项目打包为镜像 详细说明Dockerfile指令含义 演示镜像构建和容器运行过程 Docker Compose多容器编排 介绍Docker Compose安装方法 演示创建MySQL和Redis服务的YAML配置 说明如何通过docker-compose启动多容器应用 项目测试部署 展示如何将初始化SQL脚本挂载到MySQL容器 提供完整的项目部

weixin_69595694的博客 1200
上一篇: Docker—配置python web开发环境
下一篇: Linux 配置环境变量及/etc/profile和/root/.bash_profile区别
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值