Jenkins下载安装、构建部署到linux远程启动运行

Jenkins详细教程

  • Winodws下载安装Jenkins
    • 一、Jenkins配置
      • Plugins插件管理
        • 1、汉化插件
        • 2、Maven插件
        • 3、重启Jenkins:Restart Safely插件
        • 4、文件传输:Publish Over SSH
        • 5、gitee插件
        • 6、清理插件:workspace cleanup
      • system系统配置
        • 1、Gitee配置
        • 2、SSH配置
        • 3、Security全局安全配置
        • 4、Tools全局工具配置
        • 5、git安装目录配置
        • 6、maven安装目录配置
    • 二、Jenkins关联Gitee:构建,编译
      • 新增Jenkins任务
        • 1、新增任务
        • 2、构建maven项目
        • 3、Jenkins关联gitee
      • 构建和编译项目:build
        • 1、配置build
        • 2、立即构建:build now
        • 3、查看构建文件
    • 三、构建环境和构建后操作:部署
      • 配置构建环境
      • Post Steps(后置步骤)
        • 1、配置构建后操作:发送jar文件到Linux服务器
        • 2、查看控制台输出的日志
        • 3、查看是否部署成功
    • 三、Jenkins相关操作
      • Jenkins启动,停止和重启

Winodws下载安装Jenkins

1、官网下载安装包:https://www.jenkins.io/

在这里插入图片描述
在这里插入图片描述
2、把下载好的jenkins.war 使用Java -jar jenkins.war命令启动
3、安装成功,浏览器输入:localhost:8080/ 登录Jenkins。C:\Users\Administrator.jenkins\secrets\initialAdminPassword文件里找到密码。
4、选择默认安装插件 install suggested plugins
5、Jenkins修改密码
6、实例配置中Jenkins Url:配置 http://localhost:8080/jenkins/

一、Jenkins配置

Plugins插件管理

1、汉化插件

系统设置主页(Dashboard)最左侧—》点击Mange Jenkins(系统管理)
汉化插件:下滑找到 Plugins(插件管理),在plugins installed(已安装插件)选项
查找插件 Locale plugin 和 Localization: Chinese查看是否安装
在这里插入图片描述

2、Maven插件

在Jenkins的Manage Jenkins页面,选择Manage Plugins(插件管理)。
在可选插件(Available),输入关键词"Maven Integration Plugin"
安装完成后,记得重启Jenkins服务让新插件生效。
在这里插入图片描述

3、重启Jenkins:Restart Safely插件

在manage Jenkins(系统管理)—》Install as Windows service中安装Windows服务。
安装目录为:C:\Users\Administrator.jenkins
在这里插入图片描述
在 Jenkins 插件管理器中搜索 “Safe Restart” 插件并安装。
在这里插入图片描述
然后在 manage Jenkins(系统管理)最下面。点击 “Restart Safely” 选项进行重启。

4、文件传输:Publish Over SSH

在“可选插件”选项卡中,搜索Publish Over SSH插件
在这里插入图片描述

5、gitee插件

在“可选插件”选项卡中,搜索Gitee插件
在这里插入图片描述

6、清理插件:workspace cleanup

在这里插入图片描述

system系统配置

1、Gitee配置

Gitee配置:之前已经安装好了Gitee插件。在Mange Jenkins选项—》system(系统配置)—》下滑找到Gitee配置
点击链接登录自己Gitee账号生成令牌填入栏中
在这里插入图片描述
生成的令牌复制到本地
链接名随便取名自定义的,域名是http://gitee.com
在这里插入图片描述
再点击添加,类型选择Gitee的API令牌,将刚刚生成的令牌复制过来,ID不用写
点开【高级】,勾选忽略SSL检查
在这里插入图片描述
选择令牌,测试是否成功
在这里插入图片描述

2、SSH配置

Manage Jenkins—》 Configure System—》下滑找到Publish over SSH –> 新增 –> 配置下面的信息
点击高级,设置Linux服务器登录密码。

在这里插入图片描述

3、Security全局安全配置

主页(Dashboard)—》系统管理(manage Jenkins)—》Security(全局安全配置)里配置:允许注册和授权(根据自己的需求配置)
在这里插入图片描述

4、Tools全局工具配置

主页—》系统管理—》Tools(全局工具配置)—》第一个Maven配置(根据自己系统的maven路径配置)
在这里插入图片描述
主页—》系统管理(管理Jenkins)—》Tools(全局工具配置)—》JDK设置(根据自己系统的JDK路径配置)
在这里插入图片描述

5、git安装目录配置

主页—》系统管理(管理Jenkins)—》Tools(全局工具配置)—》git设置(根据自己系统的git路径配置)
在这里插入图片描述

6、maven安装目录配置

主页—》系统管理—》Tools(全局工具配置)—》第二个maven配置(根据自己系统的maven路径配置)
在这里插入图片描述
其他的工具配置如docker,NodeJS,Ant等工具省略配置,根据需求配置即可。

二、Jenkins关联Gitee:构建,编译

新增Jenkins任务

1、新增任务

在这里插入图片描述

2、构建maven项目

输入项目名称,之前安装了maven插件,现在可以选择构建maven项目,确定
在这里插入图片描述
在这里插入图片描述

3、Jenkins关联gitee

在这里插入图片描述

构建和编译项目:build

1、配置build

找到项目,点击配置
在这里插入图片描述
这里我们配置build中的Root Pom,以及代码编译和打包命令:
clean install -DskipTests先clean再install。会执行测试代码编译和打包,但在运行测试时会跳过测试阶段,即不会执行单元测试代码。
-Dmaven.repo.local=e://repository_common在本地路径寻找maven仓库,避免每次构建都下载jar包
在这里插入图片描述

2、立即构建:build now

在这里插入图片描述

3、查看构建文件

查看是否构建成功:jar文件所在地
C:\Users\Administrator.jenkins\jobs
在这里插入图片描述
C:\Users\Administrator.jenkins\workspace\test_api\target目录下查看是否有jar文件生成
在这里插入图片描述
查看Jenkins服务器
Jenkins服务器上对应项目—》点击项目名
在这里插入图片描述
点击工作空间
在这里插入图片描述
点击模块
在这里插入图片描述
]查看最后一次构建结果
在这里插入图片描述
点击工作空间,springboot_base-0.0.1-SNAPSHOT.jar文件会存放在target目录下
在这里插入图片描述

  • 注意:
  • 再次构建前要把C:\Users\userName.jenkins\workspace的文件手动删除不然会失败。可以设置自动删除
  • workspace介绍:工作空间,可以随便删除,删除后再次构建时间可能会比较长,因为要重新获取一些资源
    在这里插入图片描述

三、构建环境和构建后操作:部署

配置构建环境

勾选Delete workspace before build starts以后,就会自动清理workspace了,就不用我们手动清理了。确保在构建前能清理工作空间
在这里插入图片描述
勾选Add timestamps to the Console Output:在控制台最左侧一列添加输出日志的时间
在这里插入图片描述

Post Steps(后置步骤)

帮助我们运行一些cmd命令或者shell命令。例如选择Execute Windows batch command,就是执行cmd命令
在这里插入图片描述

1、配置构建后操作:发送jar文件到Linux服务器

新增构建后操作,选择Send build artifacts over SSH,之前安装了对应插件所以这里可以选择
配置服务器名称,填写构建好以后的文件位置(相对路径),去除前缀
在这里插入图片描述
点击高级,勾选Verbose output in console。把ssh插件的日志打印到控制台
在这里插入图片描述
指定Linux服务器的路径,jar包会从Jenkins上传输到这个目录,如果路径不存在,会自动创建目录。
在这里插入图片描述
脚本命令:

#!/bin/bash
echo "Stop Procedure : springboot-api-0.0.1-SNAPSHOT.jar"
#查找springboot_base-0.0.1-SNAPSHOT.jar的进程
pid=`ps -ef |grep java|grep springboot-api-0.0.1-SNAPSHOT.jar| grep -v grep |awk '{print $2}'`
echo 'old Procedure pid:'$pid
#如果找到了pid就结束进程
if [ -n "$pid" ]
then
kill -9 $pid
#退出if
fi
echo 'Start the program : springboot-api-0.0.1-SNAPSHOT.jar' 
#给springboot_base-0.0.1-SNAPSHOT.jar权限  777
chmod 777 /data/project/jdk_test/home/springboot-api-0.0.1-SNAPSHOT.jar
echo '-------Starting-------' 
#进入jar包所在目录
cd /data/project/jdk_test/home/
#启动jar包
#使用主机java环境启动应用
nohup /usr/local/java/jdk-18.0.2.1/bin/java -jar springboot-api-0.0.1-SNAPSHOT.jar > a1.log 2>&1 &
#docker exec -it jdk nohup java -jar  /data/project/jdk_test/home/springboot-api-0.0.1-SNAPSHOT.jar > a1.log 2>&1 &
echo 'start success'
2、查看控制台输出的日志

在这里插入图片描述

3、查看是否部署成功

在这里插入图片描述

三、Jenkins相关操作

Jenkins启动,停止和重启

到Jenkins路径下使用命令:

java -jar jenkins.war

停止Jenkins服务,到Jenkins路径下使用cmd命令:

net stop jenkins

Jenkins服务再启动,到Jenkins路径下使用cmd命令:

net start jenkins

重启Jenkins,在浏览器地址后加上restart

http://localhost:8080/restart

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

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

相关文章

Flutter:Dio下载文件到本地

import dart:io; import package:dio/dio.dart;main(){// 创建dio对象final dio Dio();// 下载地址var url https://*******.org/files/1.0.0.apk;// 手机端路径String savePath Directory.systemTemp.path/ceshi.apk;print(savePath);downLoad(dio,url,savePath); }downLo…

【C++笔记】C++三大特性之多态

【C笔记】C三大特性之多态 🔥个人主页:大白的编程日记 🔥专栏:C笔记 文章目录 【C笔记】C三大特性之多态前言一.多态1.1 多态的概念1.2 虚函数1.3 虚函数的重写/覆盖1.4 多态的定义及实现 二.虚函数重写的⼀些其他问题2.1 协变(…

2.STM32之通信接口《精讲》之USART通信

有关通信详解进我主页观看其他文章!【免费】SPIIICUARTRS232/485-详细版_UART、IIC、SPI资源-CSDN文库 通过以上可以看出。根据电频标准,可以分为TTL电平,RS232电平,RS485电平,这些本质上都属于串口通信。有区别的仅是…

麒麟V10,arm64,离线安装docker和docker-compose

文章目录 一、下载1.1 docker1.2 docker-compose1.3 docker.service 二、安装三、验证安装成功3.1 docker3.2 docker-compose 需要在离线环境的系统了里面安装docker。目前国产化主推的是麒麟os和鲲鹏的cpu,这块的教程还比较少,记录一下。 # cat /etc/ky…

云原生之运维监控实践-使用Telegraf、Prometheus与Grafana实现对InfluxDB服务的监测

背景 如果你要为应用程序构建规范或用户故事,那么务必先把应用程序每个组件的监控指标考虑进来,千万不要等到项目结束或部署之前再做这件事情。——《Prometheus监控实战》 去年写了一篇在Docker环境下部署若依微服务ruoyi-cloud项目的文章,当…

三十九、Python(pytest框架-中)

一、执行用例的方式 1.工具执行 2.在终端使用命令行运行 命令:pytest -s 用例代码文件 -s 的作用是输出显示代码中的 print。 3.在主函数main中执行 if __name__ "__main__": # 主函数pytest.main([-s, 用例代码文件]) import pytestclass TestDemo…

丹摩征文活动|丹摩助力selenium实现大麦网抢票

丹摩征文活动|丹摩助力selenium实现大麦网抢票 1.引言 在人工智能飞速发展的今天,丹摩智算平台(DAMODEL)以其卓越的AI算力服务脱颖而出,为开发者提供了一个简化AI开发流程的强大工具。通过租赁GPU资源,丹…

【计算机网络】协议定制

一、结构化数据传输流程 这里涉及协议定制、序列化/反序列化的知识 对于序列化和反序列化,有现成的解决方案:①json ②probuff ③xml 二、理解发送接收函数 我们调用的所有发送/接收函数,根本就不是把数据发送到网络中!本质都是…

大数据-226 离线数仓 - Flume 优化配置 自定义拦截器 拦截原理 拦截器实现 Java

点一下关注吧!!!非常感谢!!持续更新!!! Java篇开始了! 目前开始更新 MyBatis,一起深入浅出! 目前已经更新到了: Hadoop&#xff0…

AI行业动态:AGI预测、模型进化与工具革新

本周,人工智能(AI)领域的新闻层出不穷,从关于通用人工智能(AGI)何时到来的预测,到模型训练与推理技术的突破,再到各种实用工具的更新迭代,精彩纷呈。让我们一起深入了解这…

vue3 如何调用第三方npm包内部的 pinia 状态管理库方法

抛砖引玉: 如果在开发vue3项目是, 引用了npm第三方包 ,而且这个包内使用了Pinia 状态管理库,那我们如何去调用 npm内部的 Pinia 状态管理库呢? 实际遇到的问题: 今天在制作npm包时遇到的问题,之前Vue2版本的时候状态管理库用的Vuex ,当时调用npm包内的状态管理库很简单,直接引…

AWTK-WIDGET-WEB-VIEW 实现笔记 (4) - Ubuntu

Ubuntu 上实现 AWTK-WIDGET-WEB-VIEW 开始以为很简单,后来发现是最麻烦的。因为 Ubuntu 上的 webview 库是 基于 GTK 的,而 AWTK 是基于 X11 的,两者的窗口系统不同,所以期间踩了几个大坑。 1. 编译 AWTK 在使用 Linux 的输入法时…

C++之内存管理

​ 🌹个人主页🌹:喜欢草莓熊的bear 🌹专栏🌹:C入门 目录 前言 一、C/C内存分配 二、 malloc、calloc、realloc、free 三、C内存管理方式 3.1 new/delete 操作内置类型 3.2 new和detele操作自定义类型…

Visual Studio 2017 快捷键设置-批量注释和批量取消注释

一.批量注释设置: 1)打开Visual Studio 2017,点击菜单栏中的“工具”,然后选中“选项”: 2)选中“键盘”,在“显示命令包含”输入框中输入“注释”: 3)选中“编辑:注释选…

从零入门激光SLAM(二十三)——direct_visual_lidar_calibration全型号激光雷达-相机标定包

大家好呀,我是一个SLAM方向的在读博士,深知SLAM学习过程一路走来的坎坷,也十分感谢各位大佬的优质文章和源码。随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激…

蓝桥杯备赛(持续更新)

16届蓝桥杯算法类知识图谱.pdf 1. 格式打印 %03d:如果是两位数,将会在前面添上一位0 %.2f:会保留两位小数 如果是long,必须在数字后面加上L。 2. 进制转化 2.1. 十进制转任意进制: 十进制转任意进制时&#xff…

【STL】set,multiset,map,multimap的介绍以及使用

关联式容器 在C的STL中包含序列式容器和关联式容器 1.关联式容器:它里面存储的是元素本身,其底层是线性序列的数据结构,比如:vector,list,deque,forward_list(C11)等 2.关联式容器里面储存的…

螺旋矩阵II(leetcode 59)

转圈过程&#xff08;边界处理&#xff09;遵循循环不变量的原则&#xff0c;坚持一个原则处理每一条边&#xff0c;左闭右开处理 class Solution { public:vector<vector<int>> generateMatrix(int n) {vector<vector<int>> num(n, vector<int>…

MCU的时钟体系

stm32F4的时钟体系图 1MHZ 10^6 HZ 系统时钟频率是168MHZ;AHB1、AHB2、AHB3总线上的时钟频率是168MHz;APB1总线上的时钟频率为42MHz&#xff1b;APB2总线上的时钟频率为84MHz&#xff1b; stm32F4的时钟体系图 在system_stm32f4xx.c文件中查看APB1和APB2的预分频值到底是多少…

走进嵌入式开发世界

目录 一、概述 二、嵌入式开发的核心要素 2.1. 硬件平台选择与设计 2.1.1. 处理器选择 2.1.2. 电路设计 2.1.3.硬件集成与测试 2.2. 软件开发与调试 2.2.1. 编程语言选择 2.2.2. 操作系统与中间件 2.2.3. 软件架构与模块化设计 2.2.4. 调试与测试 三、系统优化与功…