DevOps(四)
CD(二)
- 1. CD
- Step 1 - 上传代码
- Step 2 - 下载代码
- Step 3 - 检查代码
- Step 4 - 编译代码
- Step 5 - 上传仓库
- Step 6 - 下载软件
- Step 7 - 制作镜像
- Step 8 - 上传镜像
- Step 9 - 部署服务
- 2. 整体预览
- 2.1 预览
- 1. 修改代码
- 2. 查看sonarqube检查结果
- 3. 查看nexus仓库
- 4. 查看harbor仓库
- 5. 整体效果
- 2.2 pipeline完整版
- 3. 写在最后...

1. CD
参考前面的流程图,我们正式开始CD的流程
Step 1 - 上传代码
- 安装git
参考 Windows安装Git图文教程 - 配置IDEA
参考 IDEA配置Git,以GitHub远程仓库为例 - 提交代码到本地
Commit - gitlab账号密码:root/Newm123@

- gitlab创建项目,复制URL

- IDEA push代码
会提示输入gitlab URL 账号密码
- 提交完成

Step 2 - 下载代码
- 在jenkins上创建pipeline项目

- 创建节点,并连接节点


- 配置jenkins gitlab(不配置也可以,因为我们在pipeline中也需要配置)
Dashboard > Manage Jenkins >System

- 配置触发器(不配置也可以,在pipeline中也可以配置)

- pipeline片段
pipeline {agent { node { label 'node-133'}}stages {stage('Build') {steps {// Get some code from a GitHub repositorygit credentialsId: 'd3cb7c68-63e5-46d6-a505-d73a89902758', url: 'http://192.168.17.132:8929/devs/myjava.git'// Run Maven on a Unix agent.sh "mvn -Dmaven.test.failure.ignore=true clean package"// To run Maven on a Windows agent, use// bat "mvn -Dmaven.test.failure.ignore=true clean package"}}}
}
此处把mvn打包也一同配置了,并进行简单测试

[root@node-133 MyJava-Pipeline]# ll target/
total 4
drwxr-xr-x 2 root root 29 Jul 19 05:25 classes
drwxr-xr-x 3 root root 25 Jul 19 05:25 generated-sources
drwxr-xr-x 2 root root 28 Jul 19 05:25 maven-archiver
drwxr-xr-x 3 root root 35 Jul 19 05:25 maven-status
drwxr-xr-x 4 root root 54 Jul 19 05:25 MyJava-latest
-rw-r--r-- 1 root root 3054 Jul 19 05:25 MyJava-latest.war
[root@node-133 MyJava-Pipeline]# pwd
/opt/jenkins/workspace/MyJava-Pipeline
Step 3 - 检查代码
- 启动sonarqube,登录并设置密码
http://192.168.17.133:9090
admin/password

- 部署sonar-scanner
unzip sonar-scanner-cli-4.7.0.2747-linux.zip
cd sonar-scanner-4.7.0.2747-linux/
vim conf/sonar-scanner.properties
[root@dbc-server-554 sonar-scanner-4.7.0.2747-linux]# cat conf/sonar-scanner.properties
#Configure here general information about the environment, such as SonarQube server connection details for example
#No information about specific project should appear here#----- Default SonarQube server
sonar.host.url=http://localhost:9090#----- Default source code encoding
sonar.sourceEncoding=UTF-8
ln -sv /root/docker/sonar/sonar-scanner-4.7.0.2747-linux /usr/local/sonar-scanner
export PATH=/usr/local/sonar-scanner/bin:$PATH
source .bashrc
[root@dbc-server-554 sonar-scanner-4.7.0.2747-linux]# sonar-scanner -h
INFO:
INFO: usage: sonar-scanner [options]
INFO:
...
- 生成扫描命令

mvn clean verify sonar:sonar \-Dsonar.projectKey=MyJava \-Dsonar.host.url=http://192.168.17.133:9090 \-Dsonar.login=6b1dddd3274606082753ff907ee1b0380c28298a
部署jenkins pipeline
- pipeline片段
//定义http方法
def HttpReq(reqType,reqUrl,reqBody){sonarServer = "http://192.168.17.133:9090/api"// 可以不加authentication认证,因为默认不需要result = httpRequest consoleLogResponseBody: true, httpMode: 'GET',responseHandle: 'NONE', url: "${sonarServer}/${reqUrl}" // customHeaders:[[name:'Authorization', value:"Basic ${credentials}"]]return result
}//获取Sonar质量阈状态
def GetProjectStatus(projectName){apiUrl = "project_branches/list?project=${projectName}"response = HttpReq("GET",apiUrl,'')response = readJSON text: """${response.content}"""result = response["branches"][0]["status"]["qualityGateStatus"]println(response)return result
}pipeline 相关文章:
DevOps(四)
CD(二) 1. CDStep 1 - 上传代码Step 2 - 下载代码Step 3 - 检查代码Step 4 - 编译代码Step 5 - 上传仓库Step 6 - 下载软件Step 7 - 制作镜像Step 8 - 上传镜像Step 9 - 部署服务2. 整体预览2.1 预览1. 修改代码2. 查看sonarqube检查结果3. 查看nexus仓库4. 查看harbor仓库5.…...
Element-plus侧边栏踩坑
问题描述 el-menu直接嵌套el-menu-item菜单,折叠时不会出现文字显示和小箭头无法隐藏的问题,但是实际开发需求中难免需要把el-menu-item封装为组件 解决 vue3项目中嵌套两层template <template><template v-for"item in list" :k…...
支持多种通信方式和协议方便接入第三方服务器或云平台
2路RS485串口是一种常用的通信接口,可以支持Modbus Slave协议,并可接入SCADA、HMI、DSC、PLC等上位机。它还支持Modbus RTU Master协议,可用于扩展多达48个Modbus Slave设备,如Modbus RTU远程数据采集模块、电表、水表、柴油发电机…...
使用 OpenCV 进行图像模糊度检测(拉普拉斯方差方法)
写在前面 工作中遇到,简单整理人脸识别中,对于模糊程度较高的图像数据,识别率低,错误率高。虽然使用 AdaFace 模型,对低质量人脸表现尤为突出。但是还是需要对 模糊程度高的图像进行丢弃处理当前通过阈值分类ÿ…...
神经网络简单介绍
人工神经网络(artififial neural network) 简称神经网络,它是一种模仿生物神经网络结构和功能的非线性数学模型。 神经网络通过输入层接受原始特征信息,再通过隐藏层进行特征信息的加工和提取,最后通过输出层输出结果。 根据需要神经网络可以…...
16位S912ZVML32F3MKH、S912ZVML31F1WKF、S912ZVML31F1MKH混合信号MCU,适用于汽车和工业电机控制应用。
S12 MagniV微控制器是易于使用且高度集成的混合信号MCU,非常适合用于汽车和工业应用。S12 MagniV MCU提供单芯片解决方案,是基于成熟的S12技术的完整系统级封装 (SiP) 解决方案,在整个产品组合内软件和工具都兼容。 S12 MagniV系统级封装 (S…...
力扣 509. 斐波那契数
题目来源:https://leetcode.cn/problems/fibonacci-number/description/ C题解1:根据题意,直接用递归函数。 class Solution { public:int fib(int n) {if(n 0) return 0;else if(n 1) return 1;else return(fib(n-1) fib(n-2));} }; C题…...
使用 DolphinDB TopN 函数探索高效的Alpha因子
DolphinDB 已经有非常多的窗口计算函数,例如 m 系列的滑动窗口计算,cum 系列累计窗口计算,tm 系列的的时间窗口滑动计算。但是所有这类函数都是对窗口内的所有记录进行指标计算,难免包含很多噪音。 DolphinDB 的金融领域用户反馈…...
超聚变和厦门大学助力兴业银行构建智慧金融隐私计算平台,助力信用卡业务精准营销...
兴业银行与超聚变数字技术有限公司、厦门大学携手,发挥产学研用一体化整体优势联合建设,厦门大学提供先进的算法模型及科研能力,超聚变提供产品解决方案及工程能力,兴业银行提供金融实践能力,三方发挥各自领域优势&…...
docker 的compose安装
1. Docker Compose 环境安装 Docker Compose 是 Docker 的独立产品,因此需要安装 Docker 之后在单独安装 Docker Compose docker compose 实现单机容器集群编排管理(使用一个模板文件定义多个应用容器的启动参数和依赖关系,并使用docker co…...
JavaScript---事件对象event
获取事件对象: 事件对象:是个对象,这个对象里有事件触发时的相关信息,在事件绑定的回调函数的第一个参数就是事件对象,一般命名为event、ev、e eg: 元素.addEventListener(click,function (e){}) 部分常用属性&…...
Day 15 C++对象模型和this指针
目录 C对象模型 类内的成员变量和成员函数分开存储 总结 this指针 概念 示例 用途 当形参和成员变量同名时 在非静态成员函数中,如果希望返回对象本身 例子 空指针访问成员函数 示例 const修饰成员函数 常函数(const member function&…...
HarmonyOS/OpenHarmony元服务开发-卡片生命周期管理
创建ArkTS卡片,需实现FormExtensionAbility生命周期接口。 1.在EntryFormAbility.ts中,导入相关模块。 import formInfo from ohos.app.form.formInfo; import formBindingData from ohos.app.form.formBindingData; import FormExtensionAbility from …...
软件工程01
软件工程原则: 开闭原则: open closed principle : 对扩展开放,对修改关闭,,,只让扩展,不让修改,用新增的类去替代修改的类 扩展之后,代码不用改变ÿ…...
UML/SysML建模工具更新(2023.7)(1-5)有国产工具
DDD领域驱动设计批评文集 欢迎加入“软件方法建模师”群 《软件方法》各章合集 最近一段时间更新的工具有: 工具最新版本:Visual Paradigm 17.1 更新时间:2023年7月11日 工具简介 很用心的建模工具。支持编写用例规约。支持文本分析和C…...
Mac plist文件
macOS、iOS、iPadOS的应用程序都可能会有plist配置文件,他是苹果系列操作系统特有的配置文件。 plist的本质是个xml格式的文本文件,英文全称是property list,文件后缀使用.plist。 对于普通用户来说,基本不用管plist文件是什么&…...
基于Java+SpringBoot+vue前后端分离校园周边美食探索分享平台设计实现
博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…...
【openwrt】package介绍
openwrt package介绍 OpenWrt 构建系统主要围绕package的概念展开。不管是什么软件,几乎都对应一个package。 这几乎适用于系统中的所有内容:HOST工具、交叉编译工具链、Linux 内核、内核mod、根文件系统和上层的应用软件。 一个 OpenWrt package本质上…...
vue 封装一个鼠标拖动选择时间段功能
<template><div class"timeRange"><div class"calendar"><table><thead><tr><th rowspan"6" class"weekRow"><b>周/时间</b></th><th colspan"24"><…...
ubuntu22.0安装Barrier局域网共享鼠标键盘
ubuntu22.0安装Barrier局域网共享鼠标键盘 参考网站安装步骤客户端一直开启中解决 参考网站 https://idroot.us/install-barrier-ubuntu-22-04/ 安装步骤 sudo apt update sudo apt upgrade sudo apt install wget apt-transport-https gnupg2 software-properties-common s…...
React Native vs Flutter:一次深入到底的性能对比分析(含原理 + 实战)
目录 一、先说结论(避免踩坑) 二、架构对比:性能差异的根源 1. React Native 架构 关键点: 2. Flutter 架构 关键点: 3. 核心差异总结 三、性能对比核心维度 四、启动性能(App Launch Time&#x…...
3分钟快速上手:text-generation-webui大模型本地部署完全指南
3分钟快速上手:text-generation-webui大模型本地部署完全指南 【免费下载链接】text-generation-webui A Gradio web UI for Large Language Models. Supports transformers, GPTQ, AWQ, EXL2, llama.cpp (GGUF), Llama models. 项目地址: https://gitcode.com/Gi…...
Unity3D集成百度语音识别与唤醒功能实战指南(Android平台)
1. 为什么选择百度语音SDK? 在Unity3D项目中实现语音交互功能时,百度语音识别与唤醒SDK是我测试过最稳定的解决方案之一。特别是在Android平台上,它的离线唤醒功能响应速度能控制在800毫秒内,识别准确率在安静环境下能达到95%以上…...
苹果M系列芯片用户必看:三步搞定iOS游戏在Mac上的完美运行方案
苹果M系列芯片用户必看:三步搞定iOS游戏在Mac上的完美运行方案 【免费下载链接】PlayCover Community fork of PlayCover 项目地址: https://gitcode.com/gh_mirrors/pl/PlayCover 还在为Mac上无法畅玩心爱的iOS游戏而烦恼吗?你是否想过ÿ…...
DeepFace模型管理终极指南:告别首次运行等待的3种快速方案
DeepFace模型管理终极指南:告别首次运行等待的3种快速方案 【免费下载链接】deepface A Lightweight Face Recognition and Facial Attribute Analysis (Age, Gender, Emotion and Race) Library for Python 项目地址: https://gitcode.com/GitHub_Trending/de/de…...
从振荡器到稳定电源:用三阶RC滤波电路讲透控制环路的‘稳定’与‘发散’
从振荡器到稳定电源:三阶RC滤波电路揭示控制环路的稳定性本质 想象一下,你正在调试一个看似简单的三阶RC低通滤波电路。当你逐渐增大放大器的增益时,电路突然从安静的滤波状态转变为持续振荡——原本应该衰减高频信号的电路,现在…...
StarVCenter单机版安装避坑指南:从BIOS设置到虚拟机创建的完整流程
StarVCenter单机版安装全流程实战:从硬件准备到虚拟机管理的深度解析 在当今企业IT基础设施快速迭代的背景下,虚拟化技术已成为资源整合与管理的核心解决方案。StarVCenter作为一款国产化虚拟化管理平台,其单机版部署方案特别适合中小型业务场…...
setup-php 故障排除手册:常见问题解决方案与调试技巧
setup-php 故障排除手册:常见问题解决方案与调试技巧 【免费下载链接】setup-php shivammathur/setup-php: 是一个用于安装和配置 PHP 的脚本,可以方便地安装和配置 PHP 环境。适合对 PHP、环境配置和想要实现 PHP 环境配置的开发者。 项目地址: https…...
跨平台开发避坑:海康SDK在Linux下PRO_LoginHikDevice失败的依赖冲突解析
1. 从Windows到Linux的迁移之痛:海康SDK登录失败初探 最近接手一个项目,需要把原本在Windows上运行良好的海康SDK开发代码迁移到Ubuntu 20.04LTS环境。本以为只是简单的环境切换,没想到刚起步就栽了个大跟头——PRO_LoginHikDevice方法死活登…...
手把手教你用STM32H7S7实现高速USB复合设备(CDC+MSC):从CubeMX配置到性能优化
STM32H7高速USB复合设备开发实战:CDCMSC架构设计与性能调优 在嵌入式系统开发中,USB复合设备技术正成为连接智能硬件与主机系统的关键桥梁。STM32H7系列凭借其Cortex-M7内核和480Mbps的高速USB外设,为开发者提供了实现高性能复合设备的理想平…...
