Jenkins打包、发布、部署

目录

前言

一、安装jdk

二、安装maven

三、安装git

四、安装jenkins

五、访问jenkins

 六、创建用户

七、配置jenkins

八、执行

总结


前言

服务器:CentOS 7.9 64位

jdk:1.8

maven:3.9.1

git:git version 1.8.3.1

jenkins:2.346.3


一、安装jdk

1、下载jdk的rpm安装包(根据自己的操作系统选择对应版本),上传到服务器,执行 yum install jdk-8u301-linux-x64.rpm –y 命令。

2、执行 java -version 命令验证,出现jdk版本号则表示安装成功。

二、安装maven

1、下载apache-maven-3.9.1-bin.tar.gz安装包,在非root目录下执行命令解压 tar –xzvf apache-maven-3.9.1-bin.tar.gz

2、执行 vim /etc/profile 命令,在打开的文件中添加maven配置:

MAVEN_HOME=/home/maven/apache-maven-3.9.1

PATH=${PATH}:${MAVEN_HOME}/bin

配置好后执行命令 source /etc/profile 使配置生效。

3、执行 mvn -version 命令验证,出现maven版本号则表示安装成功。

三、安装git

1、配置好yum源,执行 yum install git 命令即可。

2、执行 git -version 命令验证,出现git版本号则表示安装成功。

四、安装jenkins

1、下载jenkins的rpm包,执行 yum install jenkins-2.346.3-1.1.noarch.rpm 命令。

2、执行 vim /etc/sysconfig/jenkins 命令,修改jenkins配置,目录、端口可自定义:

3、启动jenkins:

启动命令:systemctl start jenkins.service

停止命令:systemctl stop jenkins.service

重启命令:systemctl restart jenkins.service

查看命令:systemctl status jenkins.service

五、访问jenkins

1、启动之后使用http://ip:端口访问jenkins。

复制管理员密码

[root@localhost ROOT]# cat /root/.jenkins/secrets/initialAdminPassword 83ebb23eb14446ab9afae6a022b8f728

2、安装推荐的插件即可:

3、使用admin继续操作

4、完成安装

 

 六、创建用户

1、新建用户jenkins,在系统管理-管理用户菜单下新建jenkins用户:

yum 安装的jenkins,jenkins用户默认是不可以切换的,jenkins运行和执行脚本都是用jekins用户执行的,所以要保证jenkins用户可以执行配置里的脚本。比如调用java,mvn,git和免密,都要保证jenkins用户可以。

vim /etc/passwd

将/bin/false改为上图/bin/bash

执行 su jenkins 即可切换到jenkins用户

cd 进入当前用户根目录,jenkins用户默认根目录为/var/lib/jenkins。

七、配置jenkins

全局工具配置

 jdk

maven

  

服务器之间免密:

免密登录,需切换到jenkins用户,进入jenkins用户根目录。

执行 ssh-keygen -t rsa  //生成秘钥

执行 ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@服务器IP //与后面的服务器进行免密,第一次需要输入密码

安装插件

Publish over SSH:通过SSH发布

 

配置系统

git数据源

 密码为免密生成密钥时设置的密码,如果没有设置密码,那么将生成的密钥输入到key里面

 

 

 maven项目打包,新建item

 

对新建的item进行配置

 源码管理

 配置编译

 发布、部署

 

 Exec command中也可以直接放入脚本,如下

echo "Stop Procedure : server-admin.jar"
#获取指定项目运行pid
pid=`ps -ef |grep java|grep server-admin.jar | grep -v grep |awk '{print $2}'`
echo 'old Procedure pid:'$pid

#pid存在则kill
if [ -n "$pid" ]
then
kill -9 $pid
fi

echo 'Start the program : server-admin.jar'
#给项目jar  777权限

#进入项目所在目录
cd /mnt/java

chmod 777 /mnt/java/server-admin.jar

echo '-------Starting-------'
#运行项目 (指定时区  指定字符编码  指定输出日志)
nohup java -jar server-admin.jar 2>&1 &
echo 'end'

八、执行

如果执行日志为success,则打包、发布、部署成功

总结

配置过程需要耐心,需要注意jdk与jenkins的版本是否兼容。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++中的智能指针

目录 背景 裸指针 智能指针 原理 智能指针 auto_ptr unique_ptr 1. unique_ptr禁止拷贝构造(copy constructor)和赋值运算() 1.1 C提供了标准库函数move() 1.2.如果unique_ptr是一个临时右值 2. unique_ptr可用于数组 shared_ptr 环状引用问题 weak_ptr 注意&#xf…

CRM管理系统有哪些应用价值?

如何杜绝员工飞单、走私单? 如何避免员工离职带走客户? ——crm管理系统 企业要想取得成功,有强大的技术支持和合适的工具辅助,crm管理系统这类工具就是客户管理系统,它是一种先进的管理模式,crm管理系统通…

浅析透明图片显示

1、理解图片构成 上面是一个飞机的透明图片,每个图片都是有一个个像素点构成的,每个像素点都是一个颜色,在内存中占4个字节,由透明度、红、绿、蓝构成。如下图: 该飞机图片飞机图片长51像素,宽63像素。就是…

苹果m1、m2安装blender GIS,解决not Imageio 报错

blender-GIS 能够在地图上生成地形,如下图所示: 使用blenderGIS过程中会有 imageio 找不到的情况, 网上的 imageio 用在苹果电脑的M1、M2芯片上好像还是没有出图,似乎这个 imageio 这个已经是好几年前的代码,没能适配…

Sphinx的原理详解和使用

一、Sphinx介绍 1.1 简介 Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎。意图为其他应用提供高速、低空间占用、高结果 相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成。当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也…

Vue3 + Express 实现大文件分片上传、断点续传、秒传

目录 前言原理实现项目搭建获取文件文件分片hash计算文件上传文件合并秒传&断点续传 完整代码 前言 在日常开发中,文件上传是常见的操作之一。文件上传技术使得用户可以方便地将本地文件上传到Web服务器上,这在许多场景下都是必需的,比如…

比特币ETF通过为BiFinance带来全新机遇

2013年7月,Winklevoss兄弟提交了首个比特币交易所交易基金(ETF)申请,随后多家公司纷纷效仿,但美国证券交易委员会(SEC)均以“容易受到市场操纵”为由驳回了这些申请。时至2024年伊始&#xff0c…

TCP_拥塞控制

引言 24年春节马上就要到了,作为开车党,最大的期盼就是顺利回家过年不要堵车。梦想是美好的,但现实是骨感的,拥堵的道路让人苦不堪言。 在网络世界中,类似于堵车的问题也存在,而TCP(Transmissi…

环形链表找入环点----链表OJ---三指针

https://leetcode.cn/problems/linked-list-cycle-ii/description/?envTypestudy-plan-v2&envIdtop-100-liked 首先,需要判断是否有环,而这里我们不单纯判断是否有环,还要为下一步做准备,需要让slow指针和fast都从头结点开始…

【数据结构1-1】线性表

线性表是最简单、最基本的一种数据结构,线性表示多个具有相同类型数据“串在一起”,每个元素有前驱(前一个元素)和后继(后一个元素)。根据不同的特性,线性表也分为数组(vector&#…

MySQL 学习记录

基本常识 row-size-limitsblob: BLOB and TEXT columns cannot have DEFAULT values.Instances of BLOB or TEXT columns in the result of a query that is processed using a temporary table causes the server to use a table on disk rather than in memory b…

C++11——新的类功能与可变参数模板

系列文章目录 文章目录 系列文章目录一、新的类功能默认成员函数类成员变量初始化强制生成默认函数的关键字default禁止生成默认函数的关键字delete继承和多态中的final与override关键字 二、可变参数模板递归函数方式展开参数包逗号表达式展开参数包STL容器中的empalce_back与…

写点东西《JWT 与会话身份验证》

写点东西《JWT 与会话身份验证》 身份验证与授权 JWT 与session身份验证 - 基本差异 什么是 JWT? JWT 结构: JWT 工作流程:优势: 安全问题: 处理令牌过期: 基于session的身份验证(通常称为基于 cookie 的身…

工程对接大模型流式和非流式对话底层原理解析

文章目录 前言一、非流式输出设计二、stream流式输出设计三、手撸一个流式输出项目总结 前言 之前对接过OpenAi大模型的官方API,可以看到它有一个Stream参数,设置成true的时候就是流式的对话输出,现象就是一段一段的往外崩。 官方手册的地址…

蓝桥杯训练|基础语言Day1 - STL pair vector list stack queue set map容器

学习目标: 博主介绍: 27dCnc 专题 : 算法题入门 👍👍👍👍👍👍👍👍👍👍👍👍 ☆*: .。. o(≧▽≦)o .&#xff61…

Python爬虫案例展示:实现花猫壁纸数据采集

嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 环境使用: Python 3.10 Pycharm 模块使用: import requests >>> pip install requests win R 输入cmd 输入安装命令 pip install requests 安装即…

Springboot各种请求参数详解

文章目录 请求Postman**为什么需要Postman****什么是Postman****Postman使用教程** 请求参数简单参数实体参数数组参数集合参数![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/eba0ca80e3724412ae4c79af72b859c3.png#pic_center)日期参数json参数路径参数总结 请求…

STM32CubeMX教程31 USB_DEVICE - HID外设_模拟键盘或鼠标

目录 1、准备材料 2、实验目标 3、模拟鼠标实验流程 3.0、前提知识 3.1、CubeMX相关配置 3.1.0、工程基本配置 3.1.1、时钟树配置 3.1.2、外设参数配置 3.1.3、外设中断配置 3.2、生成代码 3.2.0、配置Project Manager页面 3.2.1、设初始化调用流程 3.2.2、外设中…

ESP8266 控制之 : 使用 RingBuffer USART1 和 USART3互传

简介 使用Buffer来避免数据的丢失, 或许你自己在使用串口进行收发时会丢失数据, 现在我们就来简单使用一下RingBuffer创建Rx、Tx的Buffer来避免发送接收丢包或数据丢失问题。 扩展知识 RingBuffer的介绍, 看完大概也就知道了,实在不知道就看看下面的代码 线路连接…

详解操作系统各章大题汇总(死锁资源分配+银行家+进程的PV操作+实时调度+逻辑地址->物理地址+页面置换算法+磁盘调度算法)

文章目录 第三章:死锁资源分配图例一例二 第三章:银行家算法第四章:进程的同步与互斥做题步骤PV操作的代码小心容易和读者写者混 1.交通问题(类似读者写者)分析代码 2.缓冲区问题(第二个缓冲区是复制缓冲区…