Jenkins打包、发布及部署详细全过程

 更新时间:2023年12月25日 10:51:26   作者:YiAn~  
我们要正式的使用jenkins了,第一个任务就是自动化打包部署项目,下面这篇文章主要给大家介绍了关于Jenkins打包、发布及部署的相关资料,需要的朋友可以参考下

前言

  • 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的版本是否兼容。

到此这篇关于Jenkins打包、发布及部署的文章就介绍到这了,更多相关Jenkins打包发布部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • HTTP与HTTPS握手的那些事

    HTTP与HTTPS握手的那些事

    今天我总结了什么是HTTP三次握手,还有HTTPS握手的过程以及为什么HTTPS是安全的,需要的朋友可以参考下
    2017-05-05
  • Git基础学习之tag标签操作详解

    Git基础学习之tag标签操作详解

    标签对象(tag object) 非常类似于一个提交对象,它包含一个标签创建者信息、一个日期、一段注释信息,以及一个指针。本文主要介绍了Git标签tag的一些基础操作,需要的可以参考一下
    2022-10-10
  • VSCode 安装 Copilot 详细过程和实例代码(最新推荐)

    VSCode 安装 Copilot 详细过程和实例代码(最新推荐)

    Copilot 作为一款 AI 辅助编程工具,可以极大地提高开发效率,让编程变得更加轻松愉快,在实际开发过程中,我们要注意审查和测试生成的代码,确保其符合项目需求和标准,这篇文章主要介绍了VSCode 安装 Copilot 详细过程和实例,需要的朋友可以参考下
    2024-05-05
  • 使用VSCode如何从github拉取项目的实现

    使用VSCode如何从github拉取项目的实现

    这篇文章主要介绍了使用VSCode如何从github拉取项目的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 不懂编程该如何使用AI 编程技巧详解

    不懂编程该如何使用AI 编程技巧详解

    在当今数字化时代,编程不再是专属于程序员的领域,通过人工智能(AI)的协助,甚至是非编程专业人士也能轻松涉足,对于那些没有编程基础却渴望利用 AI 进行编程的人来说,AI 就是你编程学习的得力伙伴
    2023-11-11
  • 使用 Loki 实现 Kubernetes 容器日志监控的方法

    使用 Loki 实现 Kubernetes 容器日志监控的方法

    Loki 是由 Grafana Labs 团队开发的,基于 Go 语言实现,是一个水平可扩展,高可用性,多租户的日志聚合系统。它的设计非常经济高效且易于操作,这篇文章主要介绍了使用 Loki 实现 Kubernetes 容器日志监控的相关知识,感兴趣的朋友一起看看吧
    2022-05-05
  • Redhat持久化日志实战示例详解

    Redhat持久化日志实战示例详解

    这篇文章主要为大家介绍了Redhat持久化日志实战示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Git建立本地仓库并上传到Gitee的详细步骤

    Git建立本地仓库并上传到Gitee的详细步骤

    这篇文章主要介绍了Git建立本地仓库并上传到Gitee,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Git初次使用时的安装配置图文教程

    Git初次使用时的安装配置图文教程

    下面小编就为大家分享一篇Git初次使用时的安装配置图文教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • Git仓库瘦身之彻底清理历史大文件与冗余目录的实战指南

    Git仓库瘦身之彻底清理历史大文件与冗余目录的实战指南

    在日常开发中,Git 仓库常会因误提交图片、二进制库、资源文件等变得臃肿,导致克隆、拉取速度缓慢,本文结合实际场景,分享一套完整的仓库瘦身方案,需要的朋友可以参考下
    2026-01-01

最新评论