当前位置: 首页 > news >正文

搭建jenkins一键部署java项目

一、搭建jenkins

链接: https://pan.baidu.com/s/1jzx15PiyI8EhLd_vg7q8bw 提取码: ydhl 复制这段内容后打开百度网盘手机App,操作更方便哦

直接使用docker导入镜像,运行就好

 docker run -di --name jenkins -p 8080:8080 -v /home/jenkins_home:/var/jenkins_home jenkins

这里我把jenkins的主目录挂载出来了,以防jenkins宕机,重启docker以前的jenkins配置就全没了(不要问我怎么知道的,下载jenkins插件的时候,老容易宕机了,重启了好几次容器)

密码:

admin

123456

1、下载插件

 

2024年8月3日还能使用的插件镜像源:

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

2、配置git、maven、jdk、ssh远程登录

 git用于拉取仓库的代码,maven用来构建项目(后续搭建一个本地maven仓库,自己公司写的jar包只能放在公司的服务器上)

最上面后续改变一下配置文件的地址,使用自己的配置文件,绑定私有的maven仓库,这样就能使用自己写的jar包了。

配置ssh也就是项目需要运行的服务器,远程将打包好的jar包上传上去,然后远程执行运行docker。这里配置地址和连接信息,具体的操作需要在jenkins构建项目时详细配置。

 3、配置连接秘钥

二、创建项目 

填写项目的gitlab地址,选择上面添加的gitlab账号密码,或者在这里添加也是可以的

设置pom文件地址,这是相对于项目的,不需要全局

添加ssh操作

docker文件,创建运行docker的脚本 

DockerFile文件

FROM openjdk:8-jre
MAINTAINER xwbRUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/locatime#暴露的端口
EXPOSE 8881#用来指定当前工作目录(或者称为当前目录) 当使用相对目录的情况下,采用上一个WORKDIR指定的目录作为基准
#相当与cd 命令,但不同的是指定了WORKDIR后,容器启动时执行的命令会在该目录下执行
WORKDIR /usr/local/software/dockerImg/jenkins-demo# 将targer目录下的jar包复制到docker容器/目录下面
ADD /target/nihaoshijie-1.0-SNAPSHOT.jar /jenkins-demo.jarCMD ["java","-jar","/jenkins-demo.jar"]

ADD操作是基于DockerFile操作的,也就是说不能有\var,\home等前缀,只能是和DockerFile同级或者子级别 

执行脚本

#!/bin/bash
containerName="jenkins-demo"
PROJECT_NAME="jenkins-demo-dockerfile"echo "=====*****=====停止$containerName容器"
docker stop $containerNameecho "=====*****=====删除$containerName容器"
docker rm $containerNameecho "=====*****=====删除$containerName镜像"
docker rmi $containerNameecho "=====*****=====构建镜像=====*****=====docker build -t $containerName ."
cd /home/t2/nihaoshijie/nihaoshijie
docker build -t $containerName .echo "=====*****=====docker启动容器 docker run --name $containerName -d -p 8881:8881 $containerName"
docker run --name $containerName -d -p 8881:8881 $containerName

调用远程接口:

相关文章:

搭建jenkins一键部署java项目

一、搭建jenkins 链接: https://pan.baidu.com/s/1jzx15PiyI8EhLd_vg7q8bw 提取码: ydhl 复制这段内容后打开百度网盘手机App,操作更方便哦 直接使用docker导入镜像,运行就好 docker run -di --name jenkins -p 8080:8080 -v /home/jenkins_home:/var/je…...

从零到一打造自己的大模型(一)模型实现

前言 最近看了很多大模型,也使用了很多大模型。对于大模型理论似乎很了解,但是好像又缺点什么,思来想去决定自己动手实现一个 toy 级别的模型,在实践中加深对大语言模型的理解。 在这个系列的文章中,我将通过亲手实践…...

【开源项目】基于RTP协议的H264码流发送器和接收器

RTP协议 1. 概述1.1 RTP协议1.2 RTP和UDP的关系 2. RTP打包H264码流2.1 RTP单一传输2.2 RTP分片传输2.3 RTP多片合入传输 3.工程3.1 头文件3.1.1 rtp.h3.1.2 utils.h 3.2 cpp文件3.2.1 rtp.cpp3.2.2 utils.cpp 4.测试5.小结 参考: 视音频数据处理入门:UD…...

【C++】4.类和对象(2)

文章目录 1.类的默认成员函数2.构造函数 1.类的默认成员函数 默认成员函数就是用户没有显式实现,编译器会自动生成的成员函数称为默认成员函数。一个类,我们不写的情况下编译器会默认生成以下6个默认成员函数,需要注意的是这6个中最重要的是前…...

搭建基于树莓派的Linux学习环境(TODO)

主要是想学一下Linux内核,所以搭一套环境,其实有几个选择,好几个都是我买了板子的。 首先是正点原子的RK3568,最早是想弄安卓,但是SDK的大小真的把我劝退了,动不动几百个G的空间,还有就是保底1…...

《大电机技术》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问:《大电机技术》是不是核心期刊? 答:不是,是知网收录的第一批认定学术期刊。 问:《机电产品开发与创新》级别? 答:省级。主管单位:哈尔滨电气集团公司 主办…...

Python 中使用 Split 忽略逗号

在 Python 中,split 方法可以用于将字符串分割成列表,默认情况下使用空格作为分隔符,但你也可以指定其他分隔符。若想使用 split 方法忽略逗号并按其他分隔符分割字符串,可以使用以下几种方法。 1、问题背景 在 Python 中&#x…...

YOLOv10改进 | 主干篇 | YOLOv10引入CVPR2023 顶会论文BiFormer用于主干修改

1. 使用之前用于注意力的BiFormer在这里用于主干修改。 YOLOv10改进 | 注意力篇 | YOLOv10引入BiFormer注意力机制 2. 核心代码 from collections import OrderedDict from functools import partial from typing import Optional, Union import torch import torch.nn as n…...

sql注入靶场搭建

1.安装小皮面板(PhpStudy) 1.从官网下载:http://www.xp.cn 2、Sqli-labs环境安装 准备好sqli-labs-php7-master文件 3.安装之前确保本地没有下载mysql服务器 如果电脑下载了MySQL可以把MySQL的服务停掉 此电脑>右键>管理>服务…...

【MySQL】MySQL的JSON特性

引言 MySQL从5.7版本开始引入了JSON数据类型,并在8.0版本中大大增强了JSON的支持,包括函数和索引功能。JSON数据类型允许你在MySQL表中存储JSON文档,这些文档可以是对象或数组,并且你可以使用SQL查询来检索、搜索、更新和修改这些…...

微信小程序 - 自定义计数器 - 优化(键盘输入校验)

微信小程序通过自定义组件,实现计数器值的增加、减少、清零、最大最小值限定、禁用等操作。通过按钮事件触发方式,更新计数器的值,并修改相关联的其它变量。通过提升用户体验,对计数器进行优化设计,使用户操作更加便捷…...

Nacos 容器化安装和代理配置指南

简介 Nacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一款动态服务发现、配置管理和服务管理平台。本文将介绍如何使用 Docker 容器化安装 Nacos 以及如何配置 Nacos 的代理。 前提条件 已安装 Docker 和 Docker Compose基本的 Doc…...

css水波浪动画效果

为缩小gif大小&#xff0c;动画效果做了加速&#xff0c;效果如下&#xff1a; <!DOCTYPE html> <html> <head> <style> *{padding:0;margin:0;}/*清除默认填充及边距*/.water{position:relative;width:100vw;height:100vh;overflow:hidden;background…...

SQL二次注入

目录 1.什么是二次注入&#xff1f; 2.二次注入过程 2.1寻找注入点 2.2注册admin#用户 2.3修改密码 1.什么是二次注入&#xff1f; 当用户提交的恶意数据被存入数据库后&#xff0c;因为被过滤函数过滤掉了&#xff0c;所以无法生效&#xff0c;但应用程序在从数据库中拿…...

深入学习小程序开发第二天:数据绑定与动态更新

一、概念 在小程序中,数据绑定是指将页面的数据和视图进行关联,使得数据的变化能够自动反映在视图上,而不需要手动操作DOM。这种绑定是双向的,即数据改变时视图更新,视图操作(如用户输入)也能改变数据。 二、用法 1.单向数据绑定与双向数据绑定: 在小程序中,数据绑定…...

【ai】 时间序列分析的python例子

时间序列分析 :分析和理解随时间变化的数据序列 在gcc的趋势滤波后,需要对排队延迟梯度进行检测及调整,参考的是一个阈值, 调整阈值时就使用了时间序列分析技术: 时间序列分析是统计学和数据分析中的一种技术,用于分析和理解随时间变化的数据序列。时间序列数据具有时间上…...

生成订单幂等性(防止订单重复提交)

订单唯一性(防止重复下单)方案 重复下单产生原因&#xff1a; 客户端原因&#xff1a; 比如下单的按键在点按之后&#xff0c;在没有收到服务器请求之前&#xff0c;按键的状态没有设为已禁用状态&#xff0c;还可以被按。又或者&#xff0c;在触摸屏下&#xff0c;用户手指…...

IDEA自定义注释模版

1.类&#xff08;接口/枚举等同理&#xff09; 2.方法模版 先自定义一个模版组&#xff0c;然后在里面添加模版名&#xff0c;触发快捷键&#xff08;Tab/Enter&#xff09;&#xff0c;模版描述&#xff0c;哪些语言中应用 模版中的自定义参数params和returns可以自动展开参数…...

Spring Cloud Gateway实现API访问频率限制

Spring Cloud Gateway实现API访问频率限制 一、为什么需要访问频率限制&#xff1f;二、使用全局过滤器实现访问频率限制步骤&#xff1a;示例代码&#xff1a; 三、使用特定路由的过滤器实现访问频率限制步骤&#xff1a;示例代码&#xff1a; 四、总结 在微服务架构中&#x…...

单例模式:确保唯一实例的设计模式

前言 在学习框架和大型项目开发时&#xff0c;我们常常会遇到“单例模式”这个词。虽然它时常被提及&#xff0c;但往往没有详细讲解。为了搞懂单例模式的真正意义以及它在开发中的应用&#xff0c;我查阅了一些资料并总结了这篇博客。希望通过这篇文章&#xff0c;能够帮助大…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

使用SSE解决获取状态不一致问题

使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件&#xff0c;这个上传文件是整体功能的一部分&#xff0c;文件在上传的过程中…...

《Offer来了:Java面试核心知识点精讲》大纲

文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...