欢迎关注方志朋的博客,回复”666“获面试宝典

本文介绍 jenkins 何从 gitee 上 clone 项目,然后使用 maven 打包并后台启动。

1.Jenkins 介绍

Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。(以上介绍来源于百度百科)

其实通俗来说,Jenkins 就是一个自动化部署项目的工具,帮我省去重复的运维工作。

2. 环境准备

本文需要如下几个工具:

  • JDK

  • Git

  • Maven

以上三种就不在这里介绍安装了,这里我贴出我的环境变量配置仅供参考:

  • Jenkins

我的 Jenkins 是使用如下方式安装:

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.reposudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.keysudo yum install jenkins

启动

service jenkins start

然后访问 http://${ip}/8080,可以看到 jenkins 那个小老头,根据自行配置安装插件,其中密码在这里

vi /var/lib/jenkins/secrets/initialAdminPassword

以上都在网上有很多,我在博客中也写过,就不在这里废话太多了。

3.Jenkins 工具插件配置

3.1 插件配置

个人建议,Jenkins 第一次进入推荐安装的插件就默认安装就行,省的还需要后续自己安装,当然,如果自己安装的话需要 Maven 和 Git 插件。

3.2 工具配置

  • JDK

  • Git

  • Maven

这里就可以用到上面环境准备时需要的截图,这里我也摸索了很久才配置完成。

4. 配置项目

4.1 构建自由风格的项目

新建项目,选择构建自由风格的项目,给项目起个名字,然后点击 Ok。

4.2 配置参数化构建过程

这里我用到了几个参数,因为可能有时需要提前准备好参数在进行构建,如下图:

  • jar_path : 本意是准备项目打包后的 jar 位置,其实这里是 Jenkins 工作空间

  • spring_profile:这个是读取配置文件前缀,比如 dev,test,prod

  • jar_name:jar 包名称

  • project_name:项目名称

4.3 Git 配置

用 Git 进行将项目 Clone 下来,配置自己的用户密码,Repository URL 配置 git 地址(这里提供的地址是私密项目,项目没什么特别的,就是简单 SpringBoot 项目,不用尝试了,用自己项目就可以)

4.4 配置 Build

这里选择执行 Shell,内容如下:

mvn clean install -Dmaven.test.skip=trueecho $spring_profile $jar_path $jar_namecd /usr/local/shell/./stop.sh $jar_nameecho "Execute shell Finish"./startup.sh $spring_profile $jar_path $jar_name $project_name

如图:

在上面执行的 Shell 里面还用到了两个 Shell,分别是 stop.sh,实质就是找到 jar 执行的 pid,然后 kill,具体内容如下:

jar_name=${1}echo "Stopping" ${jar_name}pid=`ps -ef | grep ${jar_name} | grep -v grep | awk '{print $2}'`if [ -n "$pid" ]then   echo "kill -9 的pid:" $pid   kill -9 $pidfi

startup.sh 内容如下,具体可以根据情况修改:

spring_profile=${1}jar_path=${2}jar_name=${3}project_name=${4}cd ${jar_path}/${project_name}/target/echo ${jar_path}/${project_name}/target/echo nohup java -jar ${jar_name} &BUILD_ID=dontKillMe nohup java -jar ${jar_name} --spring.profiles.active=${spring_profile} &

5 测试运行

5.1 运行

点击运行后,如图所示,刚刚预配置的参数都可以看到并可以修改,这里我们用默认配置好的就可以。


然后点击运行就可以,当时遇到了一个插曲,我的 Maven 是安装成功的,但是 Jenkins 内无法使用,报错 mvn:command not found,这里我解决的方式是将 mvn 命令也指向 / usr/bin/mvn,如下:

ln -s /usr/local/apache-maven-3.5.4/bin/mvn /usr/bin/mvn

访问效果其实就是我的博客,如图所示:

图片

6 总结

总体过程坑其实还是很多的,毕竟没有使用过,但是没有什么特别棘手的问题,总是出现不同的问题,有需要可以与我一起交流学习。

作者:dalaoyang 来源:juejin.im/post/5be1a485f265da612859974c

热门内容:

  • 干掉visio,这个画图神器真的绝了!!!

  • 尽快卸载这两款恶意浏览器插件!已有近 50 万用户安装

  • UUID正在被NanoID取代?

  • 新来了个技术总监:谁再用 @Async 创建线程以后就不用来了!!

  • 最新 955 不加班的公司名单(2022版)

  • 我妈今年 70 岁,受不了Windows蓝屏,用了 21 年的 Linux!YYDS!

最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

明天见(。・ω・。)ノ♡

使用 Jenkins 部署码云上的 Spring Boot 项目相关推荐

  1. 花30分钟,用Jenkins部署码云上的SpringBoot项目

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多来源:ju ...

  2. 腾讯云服务器 - 将 Spring Boot 项目部署到云服务器上(保姆级教程)

    目录 前言 1.在云服务器上安装 jdk 2.在云服务器上安装 mysql 2.1.安装 mysql 2.2.启动 mysql 服务 2.3.验证 3.将 Spring Boot 项目打包成 jar ...

  3. 利用公网IP访问部署在阿里云服务器的spring boot项目(一)

    一路上真的不知道踩了多少个坑!!!差一点就要放弃了,呜呜,所以来总结一下,也许你也在向阿里云服务器部署项目,那就好好看看,因为究竟是踩到了哪一个坑,很不好说,所以下面这些坑简直非常非常详细,也欢迎大噶 ...

  4. java servlet 部署到tomcat_如何把spring boot项目部署到tomcat容器中

    把spring-boot项目按照平常的web项目一样发布到tomcat容器下 一.修改打包形式 在pom.xml里设置 war 二.移除嵌入式tomcat插件 在pom.xml里找到spring-bo ...

  5. 解决: Gitee 自已提交的代码提交人头像为他人、码云上独自开发的项目显示为 2 个开发者

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 我的情况 : 项目一直只有我一个开发者,却莫名的出来了一个完全不认识的开发者,我新建后 pus ...

  6. Implicit super constructor xx() is undefined for default constructor. (在vscode上创建Spring boot项目)

    结果比较乌龙,重要的是我自己探究这个的过程,因为不熟悉vscode平台,所以在尝试查找资料无果后,我就按照相同的条件在intelliJ上也创建了一个Spring boot, 对比了两个初始代码和pom ...

  7. 码云上传本地文件夹,码云只能上传20个文件的突破方法

    码云官方地址:https://gitee.com/ 很多人不知道码云上传本地文件夹怎么操作,或者如何突破码云只能上传20个文件限制的问题,今天就来说说这事的方法吧. 简介: 码云是媲美GitHub的代 ...

  8. 码云上传文件夹_码云上传本地文件夹,码云只能上传20个文件的突破方法

    码云官方地址:https://gitee.com/ 很多人不知道码云上传本地文件夹怎么操作,或者如何突破码云只能上传20个文件限制的问题,今天就来说说这事的方法吧. 简介: 码云是媲美GitHub的代 ...

  9. 第2章 第一个Spring Boot项目

    开发工具选择 工欲善其事必先利其器,我们进行Java项目开发,选择一个好的集成开发工具(IDE)对提高我们的开发调试效率有非常大的帮助.这里我们选择大名鼎鼎的IDEA ,它全称 IntelliJ ID ...

最新文章

  1. iOS后台运行的设置方法
  2. [转]侯捷对进入IT行业的年轻人的建议
  3. Apache Tomcat 7 Configuration BIO NIO AIO APR ThreadPool
  4. pytorch搭建TextRNN与使用案例
  5. mysql 缺省配置 崩溃_MySQL5.6初始配置调优_MySQL
  6. webpack 4.0 学习笔记(一)
  7. 嵌入不同源的页面_嵌入式技术课程教与学(教学大纲和试卷)
  8. 计算机应用基础答案高继梅,[Flash游戏制作.doc
  9. One-Pass Multi-task Convolutional Neural Networks for Efficient Brain Tumor Segmentation
  10. python中循环语句有哪几种_Python的循环语句
  11. 二叉树查找结点及父结点_【剑指offer】57 二叉树的下一个结点
  12. python数据建模优缺点_Python数据分析\建模入门建议
  13. html5移动页面自适应手机屏幕大小,移动页面自适应手机屏幕的方法
  14. 工程图字体宋体仿宋_电纸书kindle字体推荐——耐看、悦目、经典
  15. EMOS邮件系统安装(光盘安装版)
  16. linux该专接本还是工作_专升本还是继续工作?
  17. C# DataGridView数据导出Excel文件
  18. VMware16.0如何装win7和win10
  19. 软件测试选哪个技术方向分支_硬件测试转软件测试,应该选哪个方向
  20. 《校园墙》小程序可行性分析

热门文章

  1. Ubuntu自定义工具
  2. 只能在堆或只能在栈上分配内存的类
  3. 电动汽车换电的优缺点分析
  4. 文本在计算机中的编码表示方法,计算机中数字、文字、图像、声音和视频的表示与编码...
  5. Android StudioDay03-3(键盘导航)
  6. docker获取镜像很慢解决办法
  7. HTML5 3D旋转图片相册
  8. 开发脚本自动部署及监控
  9. Python 爬取网页HTML代码
  10. [BZOJ 1002] [FJOI 2007] 轮状病毒