Jenkins打包、发布、部署

news2024/11/18 16:42:33

目录

前言

一、安装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的版本是否兼容。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机中的数制与编码(二进制转换)

一、进制表示 1. 十进制表示 使用(0,1,2,…,9)十位数字表示,十进制运算时逢十进一。 2. 二进制表示 使用(0,1)两个数字表示,二进制运算时逢二进一。 3. 十六进制表示…

AIGC文生图:stable-diffusion-webui部署及使用

1 stable-diffusion-webui介绍 Stable Diffusion Web UI 是一个基于 Stable Diffusion 的基础应用,利用 gradio 模块搭建出交互程序,可以在低代码 GUI 中立即访问 Stable Diffusion Stable Diffusion 是一个画像生成 AI,能够模拟和重建几乎…

宝塔面板清理

查看磁盘使用情况时发现/dev/sda1满了,重启服务器也不行,瞎折腾了半天,才发现是宝塔的回收站占了较大的磁盘,于是按以下操作清理了下,就可以了 1、清除系统监控记录。打开宝塔面板后台,找到监控&#xff0c…

模拟面试2

1.说一说ArrayList的实现原理? ArrayList底层基于数组实现,内部封装了Object类型的数组,实现了list接口,通过默认构造器创建容器时,该数组被初始化为一个空数组,首次添加数据时再将其初始化为容量为10的数组…

变量生命符thread_local

thread_local是c11为线程安全引进的变量声明符。 thread_local是一个存储器指定符: 所谓存储器指定符,其作用类似命名空间,指定了变量名的存储期以及链接方式。同类型的关键字还有: static:静态或者线程存储期&…

2.我的第一个 JAVA 程序Helloword

对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。类:类是一个模板,它描述一类对象的行为和状态。…

前端videojs实现m3u8格式的直播

一、安装 npm install --save-dev video.js 二、引入 import videojs from "video.js"; import "video.js/dist/video-js.css"; 三、template 由于此处客户需要全屏至指定框大小,而不是全屏整个屏幕所以没用插件自带的全屏控件 隐藏自带全屏…

Unity 2DJoint 物理关节功能与总结

本文将以动图方式展示每个2D物理关节的效果,并解析部分重要参数的作用以及常见调配方式。 1.Distance Joint 2D(距离关节) 顾名思义是距离关节,以下为启用EnableCollision前后 关节使得两物体保持一定的距离,如果旋…

Apache (二十一)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、概述 二、安装 1. yum安装 2. 编译安装 三、 目录结构 1. yum安装 2. 编译安装 四、虚拟主机头配置 1. 基本配置 2. 实现方式 五、配置文件语法检查 六、 …

MySQL [环境配置]

MySQL [环境配置] MySQL的下载sqlyog的下载 熟悉老陈的人, 都清楚我不喜欢写这些环境配置的博客 那为啥这次要写一下MySQL的环境配置呢? 因为我被这一个小小的环境配置困扰了很长时间, 淋过雨的人都想为别人撑一把伞, 我不希望我的铁汁们也被这个问题困扰 MySQL的下载 MySQL下…

3. 测试 - 软件测试生命周期 BUG 的级别和生命周期

目录 1. 软件测试的生命周期 2. 描述 BUG 2.1 为什么要进行描述 2.2 如何描述一个 BUG 练习描述 BUG:邮箱登录不上去 练习描述 BUG:ie下界面显示异常,界面文字有重叠 3. BUG 的级别 4. BUG 的生命周期 1. 软件测试的生命周期 软件的…

【kubernetes系列】Kubernetes之Ingress

概述 从前面的学习,我们可以了解到Kubernetes暴露服务的方式目前常见的只有三种:LoadBlancer Service、NodePort Service、Ingress;而我们需要将集群内服务提供外界访问就会面临以下几个问题: Pod 漂移问题 Kubernetes 具有强大…

ubuntu 不能检测到显卡信息

开始时:lspci | grep -i nvidia 01:00.0 VGA compatible controller: NVIDIA Corporation Device 2489 (rev a1) 01:00.1 Audio device: NVIDIA Corporation Device 228b (rev a1) 运行sudo update-pciids 运行 lspci | grep -i nvidia 找到显卡了

Linux - 进阶 NFS服务器搭建 详解实验操作

建立 NFS 服务器,使用客户端成功访问 # 搭建环境 server 为服务端, node1 为客户端 ( 客户端是通过 服务端克隆出来的机子,并改了 IP 和 主机名) IP 都显示出,并且双方能够 Ping 通 这样准备环…

顶尖公司是平均水平的100倍,惊讶吗?

行业顶尖公司人员平均能力水平,在行业平均水平的100倍之上! 程序员的超级榜样:美国integram公司13个人,最后被facebook用10亿美金收购 《中庸》人能一之己百之,人能十之己千之 趣讲大白话:百倍努力&#xf…

项目管理软件挑选诀窍:6个必须知道的关键点!

项目管理软件对于任何希望简化其操作和提高效率的组织来说都是一个有价值的工具。然而,市场上有这么多的选择,选择合适的软件可能是一项艰巨的任务。在本文中,我们将讨论如何选择满足您业务需求的项目管理软件。 1、确定你的挑战和限制 选择项…

TL5000可调谐激光器控制软件系统

画了两周时间,利用下班时间,设计了一个ITLA可调谐激光器控制系统,从硬件到软件。 这是使用的界面,实现了下面的功能: 1、模块信息的读取,包括生产日期,生产厂家,型号,序…

在WIN10系统中安装TIA博途V18,重启后提示安装介质不可用,请插入DVD 或检查网络连接的解决办法

在WIN10系统中安装TIA博途V18,重启后提示安装介质不可用,请插入DVD 或检查网络连接的解决办法 原因:下载的安装包为ISO文件,若没有解压缩,直接点击打开安装,则会出现这样的错误提示。 解决办法: 把安装包解压缩之后再进行安装。 安装教程可参考以下步骤: 前提条件: T…

【iOS内存管理-编译链接的过程】

文章目录 前言计算机语言文件后缀名 编译和链接的过程编译链接预处理(预编译)-> 产生.i文件编译 -> 产生.s文件汇编 -> 产生.o文件链接 总结 前言 就我而言,iOS开发的过程中接触到的编译链接方面的知识很少,这部分知识还…

【JavaSE】- 包装类和String常用方法

包装类和常用方法 1.1 包装类1.2 自动装箱和自动拆箱1.3 包装类型转String类型2.1 String2.2 String常用方法3.1 StringBuffer4.1 StringBuilder 1.1 包装类 1.2 自动装箱和自动拆箱 // 手动装箱int n1 100;Integer integer new Integer(n1);// 手动拆箱Integer integer02 I…