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

jenkins自动部署docker

本文主要介绍关于jenkins,docker,微服务的知识点,对Docker安装jenkins实现微服务多模块打包和jenkins自动部署docker有兴趣的朋友可以看下由【954L】投稿的技术文章,

本文主要介绍关于jenkins,docker,微服务的知识点,对Docker安装jenkins实现微服务多模块打包和jenkins自动部署docker有兴趣的朋友可以看下由【954L】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的jenkins相关技术问题。

jenkins自动部署docker

废话不多说,直接讲正事

1.安装
# 1.pull jenkins(若使用jdk11则可pull最新版jenkins,否则最新版配置jdk8时会有兼容bug)
docker pull jenkins/jenkins:alpine-jdk8

# 2.run jenkins
docker run -d --name jenkins jenkins/jenkins:alpine-jdk8

# 3.拷贝jenkins_home到宿主机
docker cp jenkins:/var/jenkins_home /data/

# 4.删除刚刚启动的jenkins
docker stop jenkins && docker rm jenkins

# 5.重新启动一个映射拷贝出来的home
docker run -d --restart=unless-stopped --name jenkins -u root \
-v $(which docker):/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /data/esp/:/data/esp/ \
-v /data/jenkins_home:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
-p 9090:8080 -p 50000:50000 jenkins/jenkins:alpine-jdk8
# -uroot:已jenkins中root用户启动
# -p:映射容器中8080、50000端口到宿主机的9090、50000端口
# -v:映射项目部署目录及jenkins工作目录到容器中
# -v /etc/localtime:/etc/localtime:同步容器与宿主机的时间


docker logs -f jenkins

*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

------------此处应有密码------------

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************

2.初始化

访问:http://ip:9090

出现下图表示正在启动中,稍等片刻即可

密码上文:------------此处应有密码------------




3.配置jenkins 3.1 安装Maven

Manage Jenkins -> Global Tool Configuration -> Maven

3.2 配置Maven插件

Manage Jenkins -> Manage Plugins -> filter搜索:Maven Integration


3.3 安装svn插件


4. 创建自动化部署任务

工作台->新建任务

4.1 配置清理旧的构建

不清理的话可能jar包会越来越多撑满磁盘

4.2 创建svn账密凭证

id/用户名:svn账号
密码:svn密码
描述:凭证名称(可不填)
其余可不填,点击添加即可


4.3 填写build命令

clean package或clean install

4.4 首次构建

下图表示正在拉取svn项目,耐心等待即可

至此为止,就可以符合大部分maven项目拉取、打包的功能了,剩下一些简单的sh脚本启动可自行百度,很简单。
下文偏俺公司个性化操作,执行sh文件来启动项目等,对他人意义不大,可以了解了解;或者把我执行sh文件的shell命令改成启动java程序即可

5. 配置maven运行命令及shell脚本 5.1 maven父子项目依赖指令配置

5.2打包完成之后shell命令

#!/bin/bash
project_name="manage"
dir_name="manage"
ps -ef | grep ${project_name}.jar | grep -v grep | awk '{print $2}' | xargs  kill -9
cd /home/espuser/.jenkins/workspace/package_script
mv ${project_name}.jar /data/esp/${dir_name}/
echo "start project"

cd /data/esp/${dir_name}/
BUILD_ID=dontKillMe nohup java -jar ${project_name}.jar --spring.profiles.active=prod \
| cronolog ./logs/${project_name}/catalina-%Y-%m-%d.out >> /dev/null 2>&1 &
echo "start success"

到这就全配置好了,保存后点击部署即可;查看控制台输出:↓

本文《Docker安装jenkins实现微服务多模块打包》版权归954L所有,引用Docker安装jenkins实现微服务多模块打包需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • k8s进阶之搭建私有镜像仓库
    企业级私有镜像仓 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • Python使用Pillow包生成验证码图片的方法
    本文介绍了使用Python中的Pillow包生成验证码图片的方法。通过随机生成数字和符号,并添加干扰象素,生成一幅验证码图片。需要配置好Python环境,并安装Pillow库。代码实现包括导入Pillow包和随机模块,定义随机生成字母、数字和字体颜色的函数。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • Python中的PyInputPlus模块原文:https ... [详细]
  • Maven构建Hadoop,
    Maven构建Hadoop工程阅读目录序Maven安装构建示例下载系列索引 序  上一篇,我们编写了第一个MapReduce,并且成功的运行了Job,Hadoop1.x是通过ant ... [详细]
  • 现象:[root@localhost~]#dockerrun-d-p9000:80centos:httpdbinsh-cusrlocalbinstart.shd5b2bd5a7bc ... [详细]
  • 移动传感器扫描覆盖摘要:关于传感器网络中的地址覆盖问题,已经做过很多尝试。他们通常归为两类,全覆盖和栅栏覆盖,统称为静态覆盖 ... [详细]
  • docker安装到基本使用
    记录docker概念,安装及入门日常使用Docker安装查看官方文档,在"Debian上安装Docker",其他平台在"这里查 ... [详细]
  • css div中文字位置_超赞的 CSS 阴影技巧与细节
    本文的题目是CSS阴影技巧与细节。CSS阴影,却不一定是box-shadow与filter:drop-shadow,为啥?因为使用其他属性 ... [详细]
  • Docker安装Rabbitmq(配合宝塔)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Docker安装Rabbitmq(配合宝塔)相关的知识,希望对你有一定的参考价值。一、事前准备 ... [详细]
author-avatar
逸之思
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有