热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

docker安装部署_Docker安装Jenkins并实现自动化部署Springboot项目

1、获取image不要使用官方的jenkinsjenkins:lts这个基本上初始化插件都不会成功,当然网络状况好的情况下可以。这里推荐使用中文社区版dockerpu

1、获取image
不要使用官方的jenkins/jenkins:lts这个基本上初始化插件都不会成功,当然网络状况好的情况下可以。
这里推荐使用中文社区版docker pull jenkinszh/jenkins-zh:latest,使用这个下载插件那可以说是爽的飞起。

2、创建并启动容器

映射jenkins_home:-v ~/jenkins_home/:/var/jenkins_home
映射maven:-v /usr/share/apache-maven:/usr/local/maven
jenkins容器自带jdk,故不需要映射;

docker run -d -p 8080:8080 -p 50000:50000 --name jenkins-demo -v ~/jenkins_home/:/var/jenkins_home -v /usr/share/apache-maven:/usr/local/maven jenkinszh/jenkins-zh:latest

这里有可能会运行不起来,提示

touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?

权限问题,需要执行:sudo chown -R 1000:1000 /home/mwm/jenkins_home

3、初始化配置
浏览器访问ip:8080,根据界面上的路径提示获得初始化密码。需要使用命令docker exec -it jenkins-demo /bin/bash进入到容器内使用cat命令 cat /var/jenkins_home/secrets/initialAdminPassword;
登录到系统后选择推荐的插件进行初始化操作;

34b38600a77339c0ac816aacc1d1acf1.png


image.png

aab36417a170ad9657b5185c9e3cab7f.png


image.png

默认的时间可能和宿主机的不一致,可以先检查一下容器的时间,如果都没有问题,一般是由于jenkins的时区不正确。
在系统管理——>脚本执行里面设置正确的时区:System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')

4、全局配置
进入到全局配置

fdc906e4d8c299b6d4cad5b788c403af.png


image.png

配置jdk,jenkins容器自带jdk,只需要进入到容器内部执行echo $JAVA_HOME查看jdk路径

b13bd8465bfee485e2275f9cef6a3618.png


image.png

配置maven,使用创建容器时挂载的路径即可

0edc358cb2eae0c14aaa3dff47053317.png


image.png

5、安装插件

c87971988eb0bad7146dea89d95b12ba.png


image.png

通过搜索安装maven和svn插件

04a5e2aaea4f37e0a730c66afbcc9917.png


image.png

93f46da037fb38f5053356355cc1233c.png


image.png

安装完重启jenkins

6、新建任务
通用配置

97d8ea87533898bf2e9e8f0fe05c0d33.png


image.png

源码管理添加svn地址和验证,第一次添加时Credentials没有凭证信息,需要自己创建一个,把svn的验证信息加进去就行了。

1ec71c53f813ebfb320ab20891554826.png


image.png

最后配置构建环境等信息,build选项的高级里面有个使用自定义的工作空间,也就是各种文件包括打包好的jar文件都在里面了,这个目录默认是前面我们挂载的~/jenkins_home目录,这里面我写了个mwm就是代表~/jenkins_home/mwm目录。

f609b57be79fb09cd77aff4d6c2c89f1.png


image.png

9f6af91b862cad5faded83f9b666885e.png


image.png

到此为止就可以选择构建任务进行打包操作了,在左侧构建执行状态中还可以看到控制台输出信息。

63931d432af18d21e8edb6134f86b9e2.png


image.png

7、自动运行
在加入下面的脚本

c71e6d77bccef2dbd0b3ea6d8bd1b5dc.png


image.png

#!/bin/bash
echo "------开始执行shell脚本------"
bash /var/jenkins_home/shell/stop.sh "manager-prod.jar"
BUILD_ID=dontKillMe
bash /var/jenkins_home/shell/startup.sh "mwm_manager" "manager-prod.jar"
echo "------shell脚本执行完成------"

这里面主要是去执行stop.sh和startup.sh文件
/var/jenkins_home/shell/目录中创建sh文件,对应宿主机的路径就是~/jenkins_home/shell/

stop.sh

#!/bin/bash
echo "-----------------stoping server--------------------"pid=`ps -ef | grep $1 | grep -v grep | awk '{print $2}'`if [ -n "$pid" ];thenecho "kill -9 pid:"$pidkill -9 $pid
fi

startup.sh

#!/bin/bashecho "starting----------------------------"cd /var/jenkins_home/$1/target
chmod 777 $2
java -jar $2 &




推荐阅读
  • 1.脚本功能1)自动替换jar包中的配置文件。2)自动备份老版本的Jar包3)自动判断是初次启动还是更新服务2.脚本准备进入ho ... [详细]
  • 本文介绍了禅道作为一款国产开源免费的测试管理工具的特点和功能,并提供了禅道的搭建和调试方法。禅道是一款B/S结构的项目管理工具,可以实现组织管理、后台管理、产品管理、项目管理和测试管理等功能。同时,本文还介绍了其他软件测试相关工具,如功能自动化工具和性能自动化工具,以及白盒测试工具的使用。通过本文的阅读,读者可以了解禅道的基本使用方法和优势,从而更好地进行测试管理工作。 ... [详细]
  • 本文介绍了解决java开源项目apache commons email简单使用报错的方法,包括使用正确的JAR包和正确的代码配置,以及相关参数的设置。详细介绍了如何使用apache commons email发送邮件。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 标题: ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • Java如何导入和导出Excel文件的方法和步骤详解
    本文详细介绍了在SpringBoot中使用Java导入和导出Excel文件的方法和步骤,包括添加操作Excel的依赖、自定义注解等。文章还提供了示例代码,并将代码上传至GitHub供访问。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • 项目运行环境配置及可行性分析
    本文介绍了项目运行环境配置的要求,包括Jdk1.8、Tomcat7.0、Mysql、HBuilderX等工具的使用。同时对项目的技术可行性、操作可行性、经济可行性、时间可行性和法律可行性进行了分析。通过对数据库的设计和功能模块的设计,确保系统的完整性和安全性。在系统登录、系统功能模块、管理员功能模块等方面进行了详细的介绍和展示。最后提供了JAVA毕设帮助、指导、源码分享和调试部署的服务。 ... [详细]
  • 本文整理了Java中org.apache.solr.common.SolrDocument.setField()方法的一些代码示例,展示了SolrDocum ... [详细]
author-avatar
Junjie_Liu85
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有