分享好友 最新动态首页 最新动态分类 切换频道
Docker学习笔记五:Docker生成jenkins容器,支持Java Web项目持续集成、持续部署
2024-12-27 02:59

1.拉取jeknin镜像

Docker学习笔记五:Docker生成jenkins容器,支持Java Web项目持续集成、持续部署

sudo docker pull jenkins

2.创建一个jenkins目录

sudo mkdir /jenkins

3.在jenkins目录下创建一个Dockerfile

sudo touch Dockerfile

4.为了在jenkins容器中具有执行sudo命令的权限,在Dockerfile添加如下内容:

FROM jenkins
USER root
RUN apt-get update && apt-get install -y sudo && rm -rf /var/lib/apt/lists/*
RUN echo "jenkins ALL=NOPASSWD: ALL" >> /etc/sudoers
USER jenkins


5.创建新的jenkins镜像

sudo docker build -t zss/jenkins:1.0 .

6.创建jenkins容器

sudo docker run -p 8080:8080 --name jenkins     

-v /usr/bin/docker:/usr/bin/docker                                         

-v /var/run/docker.sock:/var/run/docker.sock                                              //将宿主机中docker挂载到jenkins容器中,以便在jenkins容器中执行docker命令

-v /usr/jdk/jdk1.7.0_25:/usr/java/jdk1.7.0_25                                            //将宿主机中jdk挂载到jenkins容器中

-v /usr/tomcat/apache-tomcat-7.0.29:/usr/tomcat/apache-tomcat-7.0.29     //将宿主机中tomcat挂载到jenkins容器中

-v /usr/maven/apache-maven-3.3.9:/usr/maven/apache-maven-3.3.9           //将宿主机中tomcat挂载到jenkins容器中

zss/jenkins:1.0

7.在浏览器中输入http://localhost:8080,填写启动jenkins时出现的密码

1.安装svn、maven插件

 

 2.在jenkins中配置jdk、maven如图:

 

1.创建一个maven风格的test项目

2.配置test

 

1.在Post Steps目录中选择

填写如下Shell脚本

#!/bin/bash
  imageId=`sudo docker images|grep -i test|awk '{print $3}'`
  echo "Test镜像ID = "$imageId
  containId=`sudo docker ps -a |grep -i test|awk '{print $1}'`
  echo "Test容器ID = "$containId
  project=/var/jenkins_home/workspace/test/src/main/resources/docker
#判断是否存在旧的Test镜像
  if test -z "$imageId"
  then
     echo "Test镜像不存在"
  else
     if test -z "$containId"
     then
         echo "Test容器不存在"
     else
         echo "Test容器将要被执行stop命令"
         sudo docker stop test
         echo "Test容器处于stop状态"
     fi
     echo "旧Test镜像将要被删除"
     sudo docker rmi -f $imageId
     echo "成功删除旧Test镜像"
  fi
#Dockerfile所在目录
  sudo mv $project/Dockerfile /usr
#切换目录至usr
  cd /usr
#将Tms war包拷贝到Dockerfile所在目录下
  sudo mv /var/jenkins_home/workspace/test/target/test.war .
  echo "Test镜像构建中:------->"
#构建Tms镜像
  sudo docker build -t test .
#判断是否存在旧的Tms容器
  if test -z "$containId"
  then
    echo "Test容器不存在"
  else
    echo "旧Test容器将要被删除"
    sudo docker rm -f $containId
    echo "成功删除旧Test容器"
  fi
#创建容器
  echo "开始创建新Test容器"
  sudo docker run -d -p 8088:8080 -v /usr/logs:/usr/tomcat/logs --name test test
  echo "新Test容器创建成功"

2.点击立即保存,立即构建

最新文章
初一二成绩不好初三如何逆袭成学霸
心理学的内在驱动理论认为,个体的内在兴趣是驱动学习的重要源泉。和孩子探讨他们感兴趣的课程内容,助力他们找到学习的乐趣。心学问教育的辅导服务中,专业导师可以帮助学生发现和培养对特定学科的兴趣,这样的内在动机将成为学生学习的推
口碑最好的手游排行榜2024 五款好口碑的热门手游大全
市面上开发的游戏让人眼花缭乱,而有不少的手游一直以来口碑都非常好。今天小编会给大家盘点口碑最好的手游排行榜最新大全2024的内容,详细的数据,人气都很高。独特吸引力的设定,内容新奇,体验畅爽,让你玩到停不下来。1、《荒野乱斗》
赢下行政旗舰战场,“冰彩沙”可不够,顶尖技术这不就来了!
新能源汽车渗透率连续五个月突破 50% 大关,强势改写着行业格局。BBAP 即便已经陷入价格 “骨折” 的泥沼,却仍未能挽回销量下滑的趋势,在新能源浪潮的冲击下显得更加力不从心。(配图:新能源汽车渗透率数据表 vs BBAP中低端车型销量下滑
网站SEO与全面推广策略指南
本攻略全面解析网站SEO与推广策略,涵盖关键词优化、内容营销、链接建设、社交媒体运用等关键环节。通过实施这些策略,网站可提升搜索排名,吸引更多流量,实现业务增长。在互联网时代,拥有一个优秀的网站是企业的必备,在浩瀚的网络世界
这10个在线AI绘图工具太好用了,设计师们快来get!
无论你是一名专业的插画师,还是一个富有创造力、想随时随地记录生活灵感的人,现在只需要拿起平板或打开电脑浏览器,就能将头脑中的画面描绘出来。本篇文章,我们挑选了10款功能强大又方便好用的在线画图软件
高清美女写真不再是梦!用AI绘图工具一步到位,快速生成你的AI女友!
Midjourney:这个工具以其独特的艺术风格著称,非常适合那些追求创意和艺术效果的用户。Midjourney本质上是一个通过Discord平台操作的AI,可以生成神秘而梦幻的美女图像,非常适合用于社交媒体上的艺术展示。缺点是对于普通用户来说,学习
百度文库APP切入考研场景,上线“AI考研宝典”专区
多知12月17日消息,近日,百度文库APP上线了“AI考研宝典”专区,设置了“政治知识梳理”和“每日时政速记”功能,帮助考生快速梳理政治知识、了解时政信息。此外,“考研英语范文”和“英语作文美化”功能能够帮助考生快速掌握英文作文高
男科资讯:温州东瓯医院是不是正规医院?温州正规男科医院排名看点
  男科资讯:温州东瓯医院是不是正规医院?温州正规男科医院排名看点,温州男科医院排名:1.温州东瓯医院男科,2.温州男科医院,3.温州东瓯医院。温州东瓯医院男科作为专注男科诊疗的医院,医院坚持引进前卫的男科诊疗技术和治疗设备,为
竞价推广这么玩,花1元店铺可获10元的收益!
新店开业还在为没有流量而苦恼?眼睁睁听着隔壁老王家时不时响起“您有新的饿了么订单……”,心里别提有多心酸了!饿了么竞价排名,分分钟让你霸占25名以内的排名,订单蹭蹭涨不停!竞价推广是什么?商家通过竞价(付费)的方式增加自己店
如何解决房屋内墙面渗水问题?这些方法有哪些实际效果?
房屋内墙面渗水是一个令人头疼的问题,不仅影响美观,还可能导致墙面发霉、脱落,甚至影响居住者的健康。下面为您介绍一些解决房屋内墙面渗水问题的方法及其实际效果。1. 外墙防水涂料:在外墙表面涂刷防水涂料,形成一层防水膜,阻挡雨水
相关文章
推荐文章
发表评论
0评