jenkins准备
回到目录
jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle
1 安装
在ubuntu上使用docker安装
1.1 环境安装
jdk
官网下载对应版本Java Downloads | Oracle
这里选择x64.tar.gz
在ubuntu中解压到usr/local目录下
tar -zxvf jdk-8u371-linux-x64.tar.gz -C /usr/local
配置环境变量
vim /etc/profile
#追加
export JAVA_HOME=/usr/local/jdk1.8.0_371
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export JRE_HOME=$JAVA_HOME/jre#生效
source /etc/profile#验证
java -version
maven
官网下载对应版本maven download
选择bin.tar.gz
解压到usr/local
tar -zxvf maven.tar.gz -C /usr/local
编辑setting.xml
#进入maven->conf目录
#编辑settings.xml
vim settings.xml#增加mirror
<mirror><id>nexus-aliyun</id><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf>
</mirror>#编辑jdk1.8 编译插件
#在profiles中增加
<profile>
<id>jdk8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>#在settings中增加
<activeProfiles>
<activeProfile>jdk8</activeProfile>
</activeProfiles>#环境变量
vim /etc/profile#追加
export M2_HOME=/usr/local/apache-maven-3.9.3
export PATH=$M2_HOME/bin:$PATH#生效
source /etc/profile#验证
mvn -versionMaven home: /usr/local/apache-maven-3.9.3
Java version: 1.8.0_371, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_371/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.0-113-generic", arch: "amd64", family: "unix"
docker
需要docker和docker compose,可参见这里进行安装
1.2 jenkins安装
#拉去镜像
docker pull jenkins/jenkins:2.401.2-lts#在/usr/local下创建一个docker目录,并创建docekr-jenkins目录
#在该目录下创建一个docker-compose.yaml
version: "3.1"
services:jenkins:image: jenkins/jenkins:2.401.2-ltscontainer_name: jenkinsports:- 8080:8080- 50000:50000volumes:- ./data/:/var/jenkins_home/#docker-compose 构建
#在当前目录下
docker-compose up -d
#需要对当前目录的data目录增加权限
chmod 777 -R data#重启容器
docker-compose restart#查看日志
docker logs -f jenkins#得到密码
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:1717a4d7c81e4459896c886435f67j94This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
#访问服务器ip:8080即可#如果插件安装太慢或安装失败
可以在数据卷中的hudson.modle.UpdataCenter.xml修改镜像地址
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
访问ip:8080进入jenkins UI页面

进入后
使用默认管理员账户登入
在左上角admin中状态,下滑到password,修改密码为1234Qwer
2 maven jdk docker加载
由于jenkins内部下载maven和jdk太慢,需要讲1.1中环境安装的jdk和maven加载到jenkins中
#将jdk和maven移动到安装jenkins的data目录下
mv /usr/local/jdk /usr/local/docker/docker-jenkins/data
mv /usr/local/maven /usr/local/docker/docker-jenkins/data
修改docker-compose.yml
version: "3.1"
services:jenkins:image: jenkins/jenkins:2.401.2-ltscontainer_name: jenkinsports:- 8080:8080- 50000:50000volumes:- ./data/:/var/jenkins_home/- /var/run/docker.sock:/var/run/docker.sock- /usr/bin/docker:/usr/bin/docker- /etc/docker/daemon.json:/etc/docker/daemon.json
重新构建jenkins
docker-compose up -d
3 安装插件
在系统管理->插件管理->available plugins中搜索并安装,安装完成重启Jenkins,再进入UI对需要配置的插件安装说明进行配置
gitlab
连接gitlab工具
gitlab添加全局凭证
# 进入
系统管理 -> credentials -> stores scoped to jenkins -> system -> 全局凭证 -> add credentials -> user/password
# 使用gitlab用户名密码
gitlab 用户名gitlab用户名,密码gitlab密码
id设置为 gitlab-user-pass
# 保存

Git Parameter
git 参数插件,在进行项目参数化构建时使用
Config File Provider
用于加载外部配置文件,如 Maven 的 settings.xml 或者 k8s 的 kubeconfig 等
Node and Label parameter
节点标签参数配置
Build Authorization Token Root
用于创建token凭证
Publish over SSH
远程ssh操作
在系统管理->系统配置中,下拉到 Publish over SSH
名称随意,地址为需要连接的服务器ip,用户名,发送到目标服务器的目录,在高级中添加用户名的密码,镜像测试连接

相关文章:
jenkins准备
回到目录 jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构…...
【Rust】Rust学习
文档:Rust 程序设计语言 - Rust 程序设计语言 简体中文版 (bootcss.com) 墙裂推荐这个文档 第一章入门 入门指南 - Rust 程序设计语言 简体中文版 第二章猜猜看游戏 猜猜看游戏教程 - Rust 程序设计语言 简体中文版 (bootcss.com) // 导入库 use std::io; use s…...
Linux 常用命令之配置环境变量 PATH
PATH是系统环境变量中的一种,同时将一些二进制文件的绝对路径追加进去,则在系统终端中可以发现这些路径下的文件。 一. 环境变量设置 export PATH<二进制文件的绝对路径>:$PATH 以下为结合实际例子的操作 1、临时设置 打开一个终端执行如下命令 e…...
flask-----蓝图
1.引入蓝图 flask都写在一个文件中,项目这样肯定不行,会导致循环导入的问题,分目录,分包,使用蓝图划分目录。 2.使用蓝图 步骤如下: -1 实例化得到一个蓝图对象-order_blueBlueprint(order,__name__,tem…...
学习左耳听风栏目90天——第一天 1-90(学习左耳朵耗子的工匠精神,对技术的热爱)【洞悉技术的本质,享受科技的乐趣】
洞悉技术的本质,享受科技的乐趣 第一篇,我的感受就是 耗叔是一个热爱技术,可以通过代码找到快乐的技术人。 作为it从业者,我们如何可以通过代码找到快乐呢?这是一个问题? 至少目前,我还没有这种…...
后端登录安全的一种思路
PS:作者是小白能接触到的就只会这样写。勿喷。 前提 思路: 结合io流将登录token存储到配置文件中,不将token存储到浏览器端,从而避免盗取。 下面jwt的学习可以参考下这个: JWT --- 入门学习_本郡主是喵的博客-CSDN博客 JWT工具类 Component public class JWTtU…...
【深度学习_TensorFlow】激活函数
写在前面 上篇文章我们了解到感知机使用的阶跃函数和符号函数,它们都是非连续,导数为0的函数: 建议回顾上篇文章,本篇文章将介绍神经网络中的常见激活函数,这些函数都是平滑可导的,适合于梯度下降算法。 写…...
机器学习笔记之优化算法(七)线搜索方法(步长角度;非精确搜索;Wolfe Condition)
机器学习笔记之优化算法——线搜索方法[步长角度,非精确搜索,Wolfe Condition] 引言回顾: Armijo \text{Armijo} Armijo准则及其弊端 Glodstein \text{Glodstein} Glodstein准则及其弊端 Wolfe Condition \text{Wolfe Condition} Wolfe Condi…...
十四.redis哨兵模式
redis哨兵模式 1.概述2.测试3.哨兵模式优缺点 redis哨兵模式基础是主从复制 1.概述 主从切换的技术方法:当主节点服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费时费力,还会造成一段时间内服…...
采用UWB技术开发的智慧工厂人员定位系统源码【UWB定位基站、卡牌】
UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。UWB定位系统依托在移动通信,雷达,微波电路,云计算与大数据…...
当你软件测试遇上加密接口,是不是就不能测了?
相信大家在工作中做接口测试的时候,肯定会遇到一个场景,那就是你们的软件,密码是加密存储的。 那么这样的话,我们在执行接口的时候,对于密码的处理就开始头疼了。 所以,本文将使用jmeter这款java开源的接…...
Flink
Flink(Apache Flink)是一个开源的分布式流处理引擎和批处理框架。它是由 Apache 软件基金会维护的项目,旨在处理大规模数据的实时流式处理和批处理任务。Flink 提供了强大的流处理和批处理功能,具有低延迟、高吞吐量和高容错性&am…...
python入门常用操作
python常用操作 1、ndarry数组的切片2、print用法2.1格式化输出format2.2字符串格式化输出 3、均值滤波函数 1、ndarry数组的切片 例如一个5列的ndarry数组,想要获取第2列和第3列数据,可以用 #(1)用法1 data[:,1:3],…...
SpringBoot复习:(21)自定义ImportBeanDefinitionRegistrar
要达到的目的:将某个包下使用了某个自定义注解(比如MyClassMapper)的类注册到Spring 容器。 一、自定义注解: package com.example.demo.service;import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy;Rete…...
小黑子—JavaWeb:第五章 - JSP与会话跟踪技术
JavaWeb入门5.0 1. JSP1.1 JSP快速入门1.2 JSP原理1.3 JSP脚本1.3.1 JSP缺点 1.4 EL 表达式1.5 JSTL 标签1.5.1 JSTL 快速入门1.5.1 - I JSTL标签if1.5.1 - II JSTL标签forEach 1.6 MVC模式1.7 三层架构1.8 实现案例1.8.1 环境准备1.8.2 查询所有1.8.3 添加数据1.8.4 修改1.8.4…...
Python - 【socket】 客户端client重连处理简单示例Demo(一)
一. 前言 在Python中,使用socket进行网络通信时,如果连接断开,可以通过以下步骤实现重连处理 二. 示例代码 1. 定义一个函数,用于建立socket连接 import socketdef connect_socket(host, port):while True:try:# 建立socket连…...
Redis 基础
1.定义 Redis 是一个高性能的key-value数据库,key是字符串类型。 2.核心特点: 单进程: Redis的服务器程序采用的是单进程模型来处理客户端的请求。对读写时间的响 应是通过对epoll函数的包装来做到的。 3.数据类型: 键的类型…...
【0805作业】Linux中 AB终端通过两根有名管道进行通信聊天(半双工)
作业一:打开两个终端,要求实现AB进程对话【两根管道】 打开两个终端,要求实现AB进程对话 A进程先发送一句话给B进程,B进程接收后打印B进程再回复一句话给A进程,A进程接收后打印重复1.2步骤,当收到quit后&am…...
ruby - ckeditor 设置编辑器高度
参考:Blogs <% f.cktext_area :zh_content, ckeditor: { height: 1000} %>...
WMS仓库管理系统研发规划说明
01 产品背景 1.1 背景概述 aboss WMS东南亚仓库管理系统是一个基于BigSeller系统的使用基础上,加上多仓库的解决思路,解决入库业务、出库业务、仓库调拨、库存调拨和虚仓管理等功能,对批次管理、物料对应、库存盘点、质检管理、虚仓管理和即…...
STM32G474的HRTIM驱动DAC:你的锯齿波‘毛刺’和失真,可能是这两个寄存器配置反了
STM32G474的HRTIM驱动DAC:锯齿波失真问题深度解析与优化方案 在精密模拟电路设计中,STM32G474系列微控制器凭借其高性能HRTIM(高分辨率定时器)和DAC(数模转换器)的组合,成为生成高精度波形的重要…...
如何快速找回遗忘的压缩包密码:开源工具的完整使用指南
如何快速找回遗忘的压缩包密码:开源工具的完整使用指南 【免费下载链接】ArchivePasswordTestTool 利用7zip测试压缩包的功能 对加密压缩包进行自动化测试密码 项目地址: https://gitcode.com/gh_mirrors/ar/ArchivePasswordTestTool 你是否曾经为加密的压缩…...
构建智能交易系统:高效掌握缠论量化实战技巧
构建智能交易系统:高效掌握缠论量化实战技巧 【免费下载链接】chan.py 开放式的缠论python实现框架,支持形态学/动力学买卖点分析计算,多级别K线联立,区间套策略,可视化绘图,多种数据接入,策略开…...
Word文档怎么导出为图片?Word如何高效转换图片?2026实测转换方法
在日常工作中,我们经常需要将Word文档转换为图片格式。无论是为了方便分享、创建演示内容,还是为了保护文档格式,将Word导出为图片都是一个常见的需求。本文将详细介绍Word文档导出为图片的多种方法,帮助你根据不同场景选择最适合…...
Ai会不会让越来越多的开发者失去工作机会?
我不知道写这篇Log会不会太激进,可能会让人浮想联翩,对号入座。想想还是要写的,咱们不聊别的,仅仅是讨论一下AI是否真的会让我们这些写了20多年的代码的开发者失业,这还真是一个“悲伤”的讨论。朋友跟我说:…...
Gofile高效下载命令行工具完全指南:解锁批量下载与断点续传的终极解决方案
Gofile高效下载命令行工具完全指南:解锁批量下载与断点续传的终极解决方案 【免费下载链接】gofile-downloader Download files from https://gofile.io 项目地址: https://gitcode.com/gh_mirrors/go/gofile-downloader 在当今数字资源共享的时代࿰…...
告别协议地狱!用HTTP服务搞定Fanuc、西门子等主流数控机床数据采集(Java开发者福音)
工业4.0时代:Java开发者如何用HTTP服务打通数控机床数据孤岛 在智能制造浪潮席卷全球的今天,MES/ERP系统与生产设备的无缝对接已成为数字化工厂的标配需求。然而,当Java开发者面对Fanuc、西门子等数控系统封闭的协议生态时,往往会…...
Gradiant宣布完成E轮融资,公司估值达20亿美元,助力加快AI、半导体以及工业水务基建领域布局
随着Gradiant依托AI基建和先进制造业务实现业绩大幅增长,新资金将用于支持战略性并购、新一代技术研发以及上市筹备工作 Gradiant今日宣布完成E轮融资,公司估值达到20亿美元。本轮融资由Safar Partners和Hostplus Superannuation Fund领投,C…...
深入浅出:拆解Xilinx ERNIC IP的硬件架构,看RoCE v2如何卸载CPU
深入浅出:拆解Xilinx ERNIC IP的硬件架构,看RoCE v2如何卸载CPU 在数据中心和高性能计算领域,RDMA(远程直接内存访问)技术正成为突破网络性能瓶颈的关键。Xilinx的ERNIC IP核作为RoCE v2协议的硬件实现,通过…...
超导量子比特控制技术:DRAG与神经网络优化
1. 超导量子比特控制技术概述在超导量子计算系统中,精确的量子态操控是实现高保真度量子门操作的基础。传统微波脉冲控制面临两大核心挑战:非绝热跃迁导致的能级泄漏和频率失谐引起的操作误差。DRAG(Derivative Removal by Adiabatic Gate&am…...
