搭建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

调用远程接口:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/391087.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【人工智能】NLP入门指南:自然语言处理基础全解析

文章目录 前言一、NLPNLP(自然语言处理)NLU(自然语言理解)NLG(自然语言生成) 二、分词1.什么是分词2.常见的分词工具3.jieba分词 三、词向量1.什么是词向量2.文本张量表示方法3.常见的词向量模型3.1 ont-ho…

15.4 zookeeper java client之Curator使用(❤❤❤❤❤)

Curator使用 1. 为什么使用Curator对比Zookeeper原生2. 集成Curator2.1 依赖引入curator-frameworkcurator-recipes2.2 `yml`配置连接信息2.3 CuratorConfig配置类2.4 Curator实现Zookeeper分布式锁业务2.4.1 业务:可重入锁和不可重入锁可重入锁和不可重入锁InterProcessMutex …

scratch魔法门 2024年6月scratch四级 中国电子学会图形化编程 少儿编程等级考试四级真题和答案解析

目录 scratch魔法门 一、题目要求 1、准备工作 2、功能实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 5、pyt…

基于JAVA的美甲店员工管理系统,源码、部署+讲解

摘 要 随着社会科技的飞速发展和进步,网络技术的应用已经深入到生活的方方面面。在这样的背景下,企事业单位的绩效考评体系也受到了极大的影响和冲击。传统的绩效考评方式已经无法满足现代社会的高效需求,因此,研发一款智能化、高…

42 PCB布线叠层与阻抗介绍43 PCB布线过孔添加与设置44 差分对添加与设置45 布线间距规则与介绍

42 PCB布线叠层与阻抗介绍&&43 PCB布线过孔添加与设置&44 差分对添加与设置&&45 布线间距规则与介绍 第一部分 42 PCB布线叠层与阻抗介绍1 板子是怎么来的。2 四层板为例,做叠层和阻抗计算。 第二部分 43 PCB布线过孔添加与设置介绍PCBEdotor中…

c#中的BitConverter的java实现

最近在做c#项目的java迁移,发现部分C#方法java中没有对应实现如图: 且java中的数字类型都是有符号的所以转无符号的时候需要进行手动对符号位& 0xFFFF进行处理,目前只整理了项目中使用到的方法,后续有用到其他方法在进行追加如…

linux学习记录(一)--------目录及文件操作

文章目录 前言Linux目录及文件操作1.Linux目录结构2.常用的Linux命令3.vi编辑器的简单使用4.vi的两个模式 前言 小白学习linux记录有错误随时指出~ Linux目录及文件操作 Linux采用Shell命令->操作文件 1.Linux目录结构 根目录:/ 用户目录:~或者/ho…

H5+JS 4096小游戏

主要实现 1.使用WASD或方向按钮控制游戏 2.最高值4096,玩到4096视为胜利 3.随机生成2、4、8方块 4.移动方块 5.合并方块 JS代码干了什么 初始化游戏界面:创建游戏板和控制按钮。 定义游戏相关变量:如棋盘大小、棋盘状态、得分等。 初始化棋…

软件测试生命周期、BUG描述与处理策略

软件测试的生命周期 需求分析:需求是否完整、是否正确 测试计划:确定由谁测试、测试的起止时间、设计哪些模块 测试设计、测试开发:写测试用例(手工、自动化测试用例)、编写测试工具 执行测试用例 测试评估&…

面向未来的S2B2C电商供应链系统发展趋势与创新探索

S2B2C电商供应链系统的发展趋势及创新方向。首先分析当前市场环境和消费者需求的变化,如个性化消费、即时配送、绿色环保等趋势对供应链系统的影响。随后,预测并讨论未来供应链系统可能的技术革新,如物联网(IoT)在物流…

【系统架构设计师】二十四、安全架构设计理论与实践①

目录 一、安全架构概述 1.1 信息安全面临的威胁 1.1.1 安全威胁分类 1.1.2 常见的安全威胁 1.2 安全架构的定义和范围 二、安全模型 2.1 状态机模型 2.2 Bell-LaPadula模型 2.3 Biba模型 2.4 Clark-Wilson模型 2.5 Chinese Wall 模型 往期推荐 一、安全架构概述 1…

基于LoRA和AdaLoRA微调Qwen1.5-0.5B-Chat

本文只开放基于LoRA和AdaLoRA微调代码,具体技术可以自行学习。 Qwen1.5-0.5B-Chat权重路径:https://huggingface.co/Qwen/Qwen1.5-0.5B 数据集路径:https://github.com/DB-lost/self-llm/blob/master/dataset/huanhuan.json 1. 知识点 LoRA, AdaLoRA技术 具体技术可以去看…

数据结构第十讲:二叉树OJ题

数据结构第十讲:二叉树OJ题 1.单值二叉树2.相同的树3.对称二叉树4. 另一棵树的子树5.二叉树的前序遍历6.二叉树的中序遍历7.二叉树的后序遍历8.二叉树的构建及其遍历9.二叉树选择题9.1二叉树性质19.2二叉树性质29.3二叉树性质三9.4选择题 1.单值二叉树 链接: OJ题链…

『python爬虫』beautifulsoup库获取文本的方法.get_text()、.text 和 .string区别(保姆级图文)

目录 区别.string(不推荐用).text(get_text的简化版少敲代码的时候用).get_text(推荐用,功能强大,为什么不爱呢?) 示例代码总结 欢迎关注 『python爬虫』 专栏,持续更新中 欢迎关注 『python爬虫』 专栏,持续更新中 区别 省流直接看get_text 推荐用这个…

【Git】如何优雅地使用Git中的tag来管理项目版本

目录 tagtag 和 branch区别操作命令打tag,当前分支标记tag提交到远程服务器删除本地tag删除远程tag切换到特定的tag查看所有tag查看标签详细信息 好书推荐 tag Git中的tag(标签)用于给项目在特定时间点(某个版本发布)…

分布式事务-使用队列实现最终一致性

分布式事务-扣减库存 一、最终一致性架构图 1、服务 左侧:创建订单服务Server1 右侧:扣减库存服务Server2 中间:独立消息服务Server3 2、中间件: Kafka-MQ、MySQL-db 二、步骤 0、定义MQ,三个状态 prepareconf…

OBS Studio:如何打造专业级的视频直播体验

1.简介 OBS(Open Broadcaster Software)是一款开源的视频录制和直播软件,广泛用于视频制作、游戏直播和网络直播。它支持多种操作系统,包括Windows、macOS和Linux。OBS提供了丰富的功能,包括但不限于: **…

【React】详解 index.js 文件

文章目录 一、index.js文件的基本结构1. 引入必要的模块2. 渲染根组件3. 注册服务工作者(可选) 二、index.js文件的详细解析1. ReactDOM.render的作用2. 为什么使用React.StrictMode3. 服务工作者的注册 三、index.js文件的最佳实践1. 使用模块化引入2. …

vue2使用wangeditor5及word导入解析的实现与问题

安装 wangeditor5 官网:https://www.wangeditor.com/v5/ yarn add wangeditor/editor # 或者 npm install wangeditor/editor --saveyarn add wangeditor/editor-for-vue # 或者 npm install wangeditor/editor-for-vue --save mammoth.js 官网:https…

一款功能强大的屏幕演示工具,免费版足够使用!

鼠标换肤 | 屏幕画笔 | 放大镜 | 聚光灯 | 屏幕放大 | 倒计时,功能强大的屏幕演示工具 屏幕演示工具适用于Windows平台,特别是Windows 10及以上版本。该软件提供了多种实用功能,包括鼠标换肤、屏幕画笔、放大镜、聚光灯、屏幕放大和倒计时等…