环境准备:

安装centos7.1系统,最小化安装

设置好网络和防火墙  网络需要能访问外网,

ip 192.168.1.7

下面关闭防火墙

setenforce 0

systemctl stop firewalld

systemctl disable firewalld

sed -i 's/enforcing/disabled/g' /etc/selinux/config

设置yum源

cd /etc/yum.repos.d/

wget http://mirrors.aliyun.com/repo/Centos-7.repo

wget http://mirrors.aliyun.com/repo/epel-7.repo

yum -y install epel-release

安装应用:docker+git+maven+jenkins

安装docker

yum install docker -y

修改docker配置

vi /etc/sysconfig/docker

#OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false'

#if [ -z "${DOCKER_CERT_PATH}" ]; then

#    DOCKER_CERT_PATH=/etc/docker

#fi

OPTIONS='--insecure-registry=192.168.1.7:5000'

启动docker

systemctl start docker

systemctl enable docker

创建镜像仓库

docker pull registry

docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name registry registry

docker pull tomcat:7.0.70-jre7-alpine

安装git和maven

yum install git -y

yum install maven -y

配置git用户

cd ~

touch .git-credentials

vi .git-credentials

http://root:123456@192.168.1.7

http://admin:admin@192.168.1.7

http://admin:123456@192.168.1.7

git config --global credential.helper store

git config --global user.name root

git config --global user.email root@corpmail.com

git config --list

建立git项目mybank-demo-maven

cd /opt/   #新建初始化项目

git init --bare mybank-demo-maven.git

然后

cd /tmp/

git clone root@192.168.1.7:/opt/mybank-demo-maven.git   #注意用户密码

cd mybank-demo-maven

git clone https://github.com/nichochen/mybank-demo-maven   #下载GitHub上的项目

mv mybank-demo-maven/* .

rm -rf mybank-demo-maven

创建Dockerfile

vi Dockerfile

FROM tomcat:7.0.70-jre7-alpine

ADD ./target/ROOT.war /usr/local/tomcat/webapps/mybank.war

1
2
3
4
5
6
[root@gluster01 mybank-demo-maven]# ll
总用量 16
-rw-r--r--. 1 root root   90 1月   4 00:33 Dockerfile
-rw-r--r--. 1 root root  830 1月   3 19:53 pom.xml
-rw-r--r--. 1 root root  181 1月   3 19:53 README.md
drwxr-xr-x. 3 root root 4096 1月   3 19:53 src

将文件提交到git

git add pom.xml

git add README.md

git add src

git add Dockerfile

git commit -m 'first commit'

git push origin master

安装jenkins

cd /etc/yum.repos.d/

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

yum install jenkins -y

yum install java -y

yum install net-tools

修改端口为8081

vi /etc/sysconfig/jenkins

JENKINS_PORT="8081"

启动jenkins

/etc/init.d/jenkins start

在浏览器中输入:http://192.168.1.7:8081,效果如下

按照提示执行

cat /var/lib/jenkins/secrets/initialAdminPassword 得到Administrator password

接着设置账号密码

比如 admin:admin   root:123456

进入主页面

登陆jenkins, 进入系统管理-插件管理-可选插件 搜索ssh plugin  和  Maven Integration plugin 然后安装, 安装界面选择安装好后重启jenkins

接着进入系统管理--系统设置

在系统设置中设置ssh

在上步中Credentials  add 添加用户密码 root :123456

并接着添加jenkins的url配置

系统设置的其他项可以保持不动,保存上面的修改

下面进行全局工具配置

配置其中的 jdk git  maven

yum安装的java

用命令查找路径

跟踪软连接

ll /usr/bin/javac

ll /etc/alternatives/javac

ll /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/bin/javac

jdk的home就是/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/

git的是命令路径

maven和docker

用命令  mvn -v  查看home路径

Apache Maven 3.0.5 (Red Hat 3.0.5-17)

Maven home: /usr/share/maven

Java version: 1.8.0_151, vendor: Oracle Corporation

Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre

Default locale: zh_CN, platform encoding: UTF-8

OS name: "linux", version: "3.10.0-327.el7.x86_64", arch: "amd64", family: "unix"

新构建maven项目  名称为mybank

接着

下面git源码和add密码 root:123456

增加构建后操作

其中的num镜像数要多一个,要多tag一个有5000/mybank-tomcat辨识的镜像,第一次打包,要tag一个,以便于打包后是准确的v1版本

cd /var/lib/jenkins/workspace/mybank/

num=`docker images|grep "5000/mybank-tomcat"|wc -l`

docker build -t mybank-tomcat:v$num .

docker tag mybank-tomcat:v$num 192.168.1.7:5000/mybank-tomcat:v$num

docker push 192.168.1.7:5000/mybank-tomcat:v$num

docker run -d -p 8080:8080 mybank-tomcat:v$num

配置完成后保存

执行构建;

执行构建前,去服务器修改maven仓库路径  最好阿里云的镜像,增加如下配置,飞速下载

vi /etc/maven/settings.xml

1
2
3
4
5
6
    <mirror>
     <id>alimaven</id>
     <mirrorOf>central</mirrorOf>
     <name>aliyun maven</name>
     <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>

构建成功并做成镜像后上传到docker仓库,最后启动镜像服务,日志截图

在服务器上查看生成情况

[root@gluster01 conf]# docker images

REPOSITORY                       TAG                  IMAGE ID            CREATED             SIZE

192.168.1.7:5000/mybank-tomcat   v1                   783463c71415        5 hours ago         150 MB

mybank-tomcat                    v1                   783463c71415        5 hours ago         150 MB

[root@gluster01 conf]# docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES

50769a5283c8        mybank-tomcat:v1    "catalina.sh run"        5 hours ago         Up 5 hours          0.0.0.0:8080->8080/tcp   sleepy_kowalevski

8fb688b7453d        registry:latest     "/entrypoint.sh /etc/"   2 days ago          Up 6 hours          0.0.0.0:5000->5000/tcp   registry

镜像服务正常,用浏览器访问服务正常

到此 一般的基础流程已经完成

如有兴趣可在git中添加秘钥认证

本文转自super李导51CTO博客,原文链接:http://blog.51cto.com/superleedo/2057841 ,如需转载请自行联系原作者

jenkins+git+maven+docker持续集成部署相关推荐

  1. jenkins + git+maven做持续集成

    2019独角兽企业重金招聘Python工程师标准>>> 1.下个jenkins,官网去下 http://jenkins-ci.org/,里面提供war包下载,直接部署到tomcat什 ...

  2. Springboot Gitlab Jenkins Maven Docker 持续集成/持续交付

    Gilab安装教程 http://blog.csdn.net/chenhaifeng2016/article/details/78603216 http://blog.csdn.net/chenhai ...

  3. gitlab+jenkins+maven+docker持续集成(四)——Extended E-mail Notification配置

    构建后进行邮件通知,这里我们用Extended E-mail Notification 系统管理-->Extended E-mail Notification 在这里subject.conten ...

  4. jenkins+git+maven搭建项目自动化持续集成

    2019独角兽企业重金招聘Python工程师标准>>> 1.概要说明 为了开发人员和测试人员的解耦,让开发和测试流程更加便捷,所以采用jenkins+git+maven这套可持续性集 ...

  5. Jenkins持续集成部署工具

    目录 1 持续集成 1.1 软件开发生命周期 1.2 软件开发瀑布模型 1.3 软件的敏捷开发 1.4 什么是持续集成 1.5 持续集成的好处 2 Jenkins安装配置 2.1 Jenkins介绍 ...

  6. Jenkin持续集成部署-Jenkins常用插件篇

    Jenkin持续集成部署-Jenkins常用插件篇 前言 1. maven插件 2. pipeline 3. SSH 4. Docker 5. Blue Ocean 6. 自定义配置JDK 前言 本篇 ...

  7. Jenkins + Git + Maven + tomcat集成环境搭建

    折腾了好几天,终于把Jenkins + Git + Maven + tomcat集成环境搭建起来了,最终主要实现"自动构建.部署"web应用. 1.安装环境 操作系统:Centos ...

  8. jenkins 安装及配置部署操作 (jenkins+svn+tomcat and jenkins+git+maven+tomcat)

    jenkins 安装及配置部署操作 jenkins+svn+tomcat and jenkins+git+maven+tomcat jenkins rpm软件包下载地址: https://pkg.je ...

  9. Maven实战(四)——基于Maven的持续集成实践

    相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订,它清晰地解释了持续集成的概念,并总结了 ...

最新文章

  1. Altera FPGA配置过程
  2. 1023:坑爹的黑店
  3. c 服务器传输大文件,cend.me:不须经过服务器,直接点对点的文件传输免费服务...
  4. 【kafka】produce response correlation id xxx on topic-partition retrying Error: NETWORK_EXCEPTION
  5. linux终端什么字体舒服,推荐一款 Linux 上比较漂亮的字体
  6. python模块-logging和collections以及random模块
  7. SQL存储过程实例详解
  8. Android手柄数据全解析
  9. 阿里云服务器如何购买?三种购买阿里云服务器方式教程分享
  10. 基于python的web框架——Flask 学习笔记
  11. 墙裂推荐6款实用办公软件!超级好用!
  12. 笔记本运行php的快捷键是啥,雷神笔记本u盘启动快捷键是什么|雷神笔记本按哪个键进u盘启动...
  13. 常见的字体英文名称(转载内容)
  14. python全栈测试开发_用于全栈自动化测试的最佳Python工具
  15. 博弈论的一些基础知识(参考网络资料,学习总结,很好,分享并保存)
  16. 【python-opencv】灰度图和彩色图的互相转换
  17. [回顾]清华申请退学博士作品:完全用Linux工作
  18. 大数据相关总结(待续)
  19. DataFrame 选取其中的两列数据
  20. 【Cadence16.6—Day3】用Cadence16.6绘制STM32H743最小系统原理图

热门文章

  1. python爬取b站评论_Python爬虫框架:scrapy抓取B站博人传评论数据
  2. 奇兔recovery卡刷教程_vivo X6 D(双4G)刷Recovery教程
  3. 云服务器读不出U盘,云服务器不识别u盘
  4. Forter 欺诈攻击指数报告出炉 忠诚度计划欺诈增长 89%
  5. 【数学】维维亚尼定理
  6. OGNL表达式的入门
  7. 如何解锁物联网低代码平台操作日志功能?
  8. L1-054 福到了 (15分)(C语言)
  9. 天梯赛习题:福到了(递归打印)
  10. Linux内核学习(三):Bootloader的特种兵-Uboot(一)