Docker+Jenkins+Git持续部署实践

Stella981
• 阅读 507

Docker+Jenkins+Git持续部署实践

程序IT圈

www.cxyquan.com

优秀程序猿技术公众号

本文由挨踢男孩投稿发布

一、基本思路

springboot项目做演示

1、项目的部署在Jenkins上执行构建

2、Jenkins自动从github上面拉取代码到服务器

3、maven将项目打成jar包

4、创建个docker镜像,通过docker容器部署项目

二、环境搭建

1、系统环境

[root@sky ~]# cat /etc/redhat-releaseCentOS Linux release 7.5.1804 (Core)

2、Install JDK

1>下载:jdk-8u131-linux-x64.rpm

2>rpm -ivh jdk-8u131-linux-x64.rpm

3>配置环境变量

vi ~/.bashrc

export JAVA_HOME=/usr/java/latestexport PATH=$PATH:$JAVA_HOME/bin

source ~/.bashrc

4>测试

[root@sky ~]# java -versionjava version "1.8.0_144"Java(TM) SE Runtime Environment (build 1.8.0_144-b01)Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

3、Install Jenkins

1>下载:http://updates.jenkins-ci.org/download/war/

2> 启动:java -jar  jenkins.war(默认端口8080,可通过httpPort指定端口)Docker+Jenkins+Git持续部署实践

3>访问:http://ip:port/

Docker+Jenkins+Git持续部署实践

在/root/.jenkins/secrets/initialAdminPassword中找到可以找到秘钥,在输入后会有初始化登陆的用户名、密码界面,登陆后:(下图是后续截的:没有demo)

Docker+Jenkins+Git持续部署实践

4、Install maven

1>下载:

http://archive.apache.org/dist/maven/maven-3/3.5.0/binaries/

2>解压:tar -zxvf apache-maven-3.5.0-bin.tar.gz

3>配置环境变量

vi ~/.bashrc

export  MAVEN_HOME=/usr/local/apache-maven-3.5.0export PATH=$PATH:$MAVEN_HOME/bin

source ~/.bashrc

4>验证

Docker+Jenkins+Git持续部署实践

5、Install git

yum update && yum  install -y git

Docker+Jenkins+Git持续部署实践

6、Install docker

yum install docker ,这里就不run一个hello world测试了

Docker+Jenkins+Git持续部署实践

三、构建自由风格的项目

Item name****:输入名称

Docker+Jenkins+Git持续部署实践

Github project:这里用的是github项目,Project Url需要填写你的项目地址

Docker+Jenkins+Git持续部署实践

源码管理:填写所需拉取的项目的地址和分支

Docker+Jenkins+Git持续部署实践

Credentials:add jenkins ,下图中username和password是github的用户名和密码

Docker+Jenkins+Git持续部署实践

构建:选择maven版本和填写clean package命令

Docker+Jenkins+Git持续部署实践

这里的maven需要在系统管理->Global Tool Configuration->Maven 安装,这里maven的路径就是之前服务器maven安装的路径

Docker+Jenkins+Git持续部署实践

安装完后这个位置就可以有选择maven的版本了

Docker+Jenkins+Git持续部署实践

Execute shell:书写shell

Docker+Jenkins+Git持续部署实践

到这里就配置好了,点击立即构建

Docker+Jenkins+Git持续部署实践

查看控制台日志:

Docker+Jenkins+Git持续部署实践

Docker+Jenkins+Git持续部署实践

最后看到docker镜像的构建成功和容器的启动,我们再到去服务器确认:

Docker+Jenkins+Git持续部署实践

Docker+Jenkins+Git持续部署实践

四、验证

通过postman创建一条员工数据

Docker+Jenkins+Git持续部署实践

查询es节点上这条数据是否存在

Docker+Jenkins+Git持续部署实践

五、附项目结构图

这里主要关注下Dockerfile的位置和编写

Docker+Jenkins+Git持续部署实践

推荐阅读:

福利来了,Vip会员视频赠送

这次免费赠送10套最新的编程视频

时隔4年,微信7.0迎来史上最大更新(附上内测版本)

Docker+Jenkins+Git持续部署实践 进QQ群 Docker+Jenkins+Git持续部署实践 进微信群

Docker+Jenkins+Git持续部署实践

点赞变好看,记得点个好看

本文分享自微信公众号 - 程序IT圈(DeveloperIT)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解2016年09月02日00:00:36 \牧野(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fme.csdn.net%2Fdcrmg) 阅读数:59593
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这