Jenkins发布docker应用与发布java应用配置基本一致,需要配置Dockerfile及构建的步骤,步骤如下:

1、jenkins主机构建应用为jar包

2、jenkins主机把生产的jar包构建为docekr镜像

3、jenkins主机把构建好的镜像推送至镜像仓库

4、目标主机去镜像仓库拉取镜像

5、目标主机以拉取的最新镜像启动新的服务

注意:需要在jenkins以及目标主机部署docker服务,关于docker的部署网上问的一堆,请自行百度。

1、新建项目

跟据之前创建任务一样,创建maven项目

2、项目配置

  a)源码管理:指定代码仓库位置,以及分支

  b)build

  

  c)Post Steps

  指定构建docker镜像的命令

  

  说明:这里是说把打包好的jar包复制到我们创建好的构建eureka镜像的目录

  build.sh 是一个脚本,用来构建镜像,并把镜像推送至指定镜像仓库,脚本内容如下: 

[tchua@centos01 one-eureka]$ vim build.sh
#!/bin/bash docker_hub="registry-vpc.cn-hangzhou.aliyuncs.com/xxx/uat-images" ## 镜像仓库地址 TAG="eureka" #rm
docker rmi ${docker_hub}:$TAG  ## 删除上一次构建镜像 #login
docker login -u ${USER} -p ${PASSWD} ${docker_hub} ## 登陆镜像仓库,${USER} ${PASSWD}修改为自己具体的用户名密码 #build
docker build -t ${docker_hub}:$TAG .        ## 构建新镜像,. 是指DOckerfile在当前目录下 #push
docker push ${docker_hub}:$TAG            ## 推送镜像至镜像仓库

镜像构建需要一个Dockerfile,Dockerfile文件内容:

FROM registry-vpc.cn-hangzhou.aliyuncs.com/vanje_one/software:java1.

MAINTAINER vanje@vanje.com.cn

ADD eureka-1.0..jar /apps/

EXPOSE 

ENTRYPOINT ["java","-jar","/apps/eureka-1.0.0.jar"]

  d)构建后操作

  说明:这里是远程登陆服务器执行服务启动脚本。

  脚本内容如下:

#!/bin/bash

docker_hub="registry-vpc.cn-hangzhou.aliyuncs.com/vanje_one/uat-images"  ## 镜像仓库地址

TAG="eureka"
#rm
docker rm -f eureka                        ## 删除现有容器
docker rmi ${docker_hub}:${TAG}                 ## 删除现有容器镜像 #login
docker login -u ${USER} -p ${PASSWD} ${docker_hub} ## 登陆镜像仓库,${USER} ${PASSWD}修改为自己具体的用户名密码 docker pull ${docker_hub}:${TAG}               ## 拉去镜像 docker run --name eureka -p : -d ${docker_hub}:${TAG} ## 启动指定镜像服务

3、发布

以上保存点击发布后,查看控制台日志可以看到对应的构建信息:

Jenkins+maven+gitlab自动化部署之docker发布sprint boot项目(七)的更多相关文章

  1. Jenkins+maven+gitlab自动化部署之基础环境部署(一)

    从一个二线城市,来到上海,刚入职,老大就给任务,为了减少开发打包部署时间,需要搭建一套自动化部署环境.接到任务后,赶紧上网查找资料,以及了解jenkins作用等等,用了一周时间,了解了个大概,由于都是 ...

  2. Jenkins+maven+gitlab自动化部署之gitLab搭建(二)

    Gitlab我们这里采用docker方式部署,详细请参考:Docker部署Gitlab11.10.4

  3. Jenkins+maven+gitlab自动化部署之前端构建发布(六)

    前端项目构建,需要在jenkins主机部署node服务,网上有说介绍说安装对应的nodejs插件进行前端项目构建,我这里是直接调用系统npm命令,进行前端打包.具体node部署参考:Centos7部署 ...

  4. Jenkins+maven+gitlab自动化部署之构建Java应用(五)

    前面几篇文章介绍jenkins部署以及配置,接下来我们,就介绍下如何使用jenkins发布应用. 1)新建项目 jenkins首页,点击左上新建任务,出现下图,填写对应信息,然后点击确定: 2)项目参 ...

  5. Jenkins+maven+gitlab自动化部署之Jenkins系统管理配置(四)

    一.Jenkins全局工具配置 在jenkins首页依次进入系统管理>>全局工具配置: 1) jdk.git.maven配置 指定其在服务器中的目录位置 二.插件管理 1)依次点开系统管理 ...

  6. Jenkins+maven+gitlab自动化部署之Jenkins部署(三)

    本章开始正式搭建Jenkins: 公司现在使用的jenkins版本是2.150.3,但是本次实验安装的版本我们选择最新的 2.164.3(当然,当你阅读这篇文章时,此版本已经不是最新),jenkins ...

  7. Jenkins Ansible GitLab 自动化部署

    Jenkins Ansible GitLab 自动化部署 DevOps https://www.cnblogs.com/yangjianbo/articles/10393765.html https: ...

  8. jenkins+maven+svn 自动化部署

    背景: 公司的web平台使用JAVA写的,但是不是用Tomcat部署的,代码内部自带了Web服务器,所以只需要有JAVA环境,将代码打包上传,启动脚本就可以. 项目是根据pom.xml打包成的是.zi ...

  9. ubuntu21.10搭建jenkins和gitlab自动化部署环境

    镜像下载.域名解析.时间同步请点击阿里云开源镜像站 前置环境: vmware pro 16 + ubuntu21.10 安装gitlab 搭建ssh远程 打开终端 sudo apt-get insta ...

随机推荐

  1. 模板 - 数据结构 - ST表/SparseTable

    SparseTable,俗称ST表,其功能,就是静态的RMQ(区间最值查询)问题的解决.注意传入查询的时候两个参数的合法性,或者可以进行一次全部初始化来使得越界值不产生负面影响.不过访问越界是写程序的 ...

  2. fastdfs通过docker安装

    安装前准备 # yum install -y git #下载git # cd /data # mkdir fastdfs # cd fastdfs # git clone https://github ...

  3. 小福bbs-冲刺日志(第二天)

    [小福bbs-冲刺日志(第二天)] 这个作业属于哪个课程 班级链接 这个作业要求在哪里 作业要求的链接 团队名称 小福bbs 这个作业的目标 UI重构完成 作业的正文 小福bbs-冲刺日志(第二天) ...

  4. 【微信小程序】scroll-view 的上拉加载和下拉刷新

    1.在微信小程序中,想到 下拉刷新 和 上拉加载,如果是整个页面都拖动的话,可以在页面配置中,配置 enablePullDownRefresh 和 onReachBottomDistance 然后在 ...

  5. 设定rsync开机自启动

    1.启用rsync服务systemctl enable rsync 2.打开rsync自己的开关,这个找了好多地方才找到的vi /etc/default/rsyncRSYNC_ENABLE=true

  6. Springmvc & Report: FineReport vs BIRT vs Jasperreport

    Springmvc与jasperreport结合生成报表的一种方法 - OneThin的个人空间 - OSCHINAhttps://my.oschina.net/onethin/blog/14360 ...

  7. Java基础 hello world基础实例

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...

  8. 【转载】 DeepMind发表Nature子刊新论文:连接多巴胺与元强化学习的新方法

    原文地址: baijiahao.baidu.com/s?id=1600509777750939986&wfr=spider&for=pc 机器之心 18-05-15   14:26 - ...

  9. ES6深入浅出-6 ES 6 模块-1.模块化速学

    把模块先默认认为是豆腐块 为什么前端需要模块? 没有模块的方式 预览这个html页面     一共200行js代码 前100行在做一件事 ,另外100行在做另一件事,这样就是两个模块 main.js来 ...

  10. SAP标准屏幕中字段描述增强

    转自:https://www.cnblogs.com/sap-ronny/p/7921817.html如果想要改变标准屏幕中的字段名称,如把物料主数据基本数据元素的名字改为我们想要的名字 . 1.首先 ...