一、环境搭建

1. 安装Java

配java_home, /etc/profile

2.安装Jenkins

下载war包,用 Java -jar  Jenkins.war或者  把war包放tomcat的webapps下

http://ip:8080或者 http://ip:8080/jenkins

3.安装ansible

使用Python安装

先安依赖yum -y install gcc gcc-c++ openssl-devel openssl

下载Python包

tar xf Python-3.5.2.tgz -C /usr/src/

cd /usr/src/Python-3.5.2/

./configure --prefix=/usr/local/python/

make && make install

ln -s /usr/local/python/bin/python3 /usr/bin/python3

/usr/local/python/bin/pip3 install ansible

ln -s /usr/local/python/bin/ansible /usr/local/bin/

4.设置主机无密登录及hosts文件设置

mkdir -p /etc/ansible

vim /etc/ansible/hosts

cat /etc/ansible/hosts   #ansible主机管理配置文件

[nginx]         #被管理的主机组名称,比如nginx

webA ansible_ssh_host=192.168.200.132 ansible_ssh_port=22 ansible_ssh_user=root #第一台主机

webB ansible_ssh_host=192.168.200.138 ansible_ssh_port=22 ansible_ssh_user=root  ansible_ssh_pass=666666    #第二台主机

如果我们已经设置了ssh免密钥了。那么就不需要写密码了。例如:webA
我们要是没有设置免密钥,那么就需要安装sshpass工具,并在/etc/ansible/hosts文件里写上主机的连接密码。例如webB

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

yum -y install sshpass

二、配置私有docker容器仓库

docker run -d -p 5000:5000 --name registry --restart=always  --privileged=true  -v /docker/registry:/var/lib/registry  registry

vim /etc/docker/daemon.json,添加(在每一个客户机上同样要进行这一步骤)

{"insecure-registries":["192.168.1.30:5000"]},其中ip地址为设置为私有仓库服务器的IP地址

#重启服务

systemctl restart docker

三、配置Jenkins

1.安装插件 ansible

2.创建项目

3.在构建中,添加ansible  command

因为是测试,而且代码拉取打包涉及到开发使用ant打包工具,其中会使用build.xml文件,我不方便取得,所以我们采取了简化方式,加入我们已经取得了war包,我们简化拉取,打包为war包的步骤,为了构建docker镜像,我们采用ansible 把需要打包到tomcat中的war包和要生成镜像的dockerfile文件发给需要部署的服务器。

其中dockerfile 文件为docker.tomcat,

from tomcat:8
expose 8080
add ~/docker/SmartMarket115c1.war  /usr/local/tomcat/webapps/
cmd ['catalina.sh','run']

同时在jenkins 的系统管理  -   管理插件 -  更新 Publish over SSH

在上图中配置好你要操作的远程服务器

回到项目构建,在构建步骤添加

在Exec  command 中填写你在远程服务器需要执行的脚本内容,

docker build -t tomcat_test -f ~/docker/docker.tomcat

其中 tomcat_test  为要构建的镜像名字,  docker.tomcat 为dockerfile 文件的路径及名字

同时构建完成后我们在远程服务器启动容器,开放8080端口,

docker run -d -p 8080:8080 --name tomcat_test  tomcat_test

我们在浏览器就可以访问 ip:8080/项目名,来访问我们已经在远程服务器上部署好的项目了。

以上 只是我的一些初步测试,后续我会结合k8s构建集群式的项目测试环境

最新文章

  1. 就是要你明白机器学习系列--决策树算法之悲观剪枝算法(PEP)
  2. vim替换及多行注释命令
  3. 用jmap分析java程序
  4. script是什么
  5. Python 学习开发笔记之IO操作
  6. Spring boot将配置属性注入到bean类中
  7. C#实现不影响当前线程情况下间隔一定的时间执行一段代码
  8. mybatis面向接口的编程
  9. UVa 10934 Dropping water balloons:dp(递推)
  10. 话说LightningChart是最快最美的图表控件,到底先进在哪里?
  11. 一个Web前端自学者的自述
  12. EBS R12安装升级(FRESH)(四)
  13. memcached、cookie、session
  14. Swagger中配置了@ApiModelProperty的allowableValues属性但不显示的问题
  15. stringMVC_09文件批量上传
  16. saltstack returners
  17. React文档(九)list和key
  18. 用dlopen,dlsym加载动态链接库.so中函数
  19. j2ee高级开发技术课程第三周
  20. Html页面Dom对象之Element

热门文章

  1. 微信开发平台中有个接口是上传多媒体文件,我用的是java 开发的,我怎么样才能在后台实现呢?
  2. jQuery 小案例
  3. August 05th 2017 Week 31st Saturday
  4. 软工团队 - 预则立&&他山之石
  5. shell基础之脚本执行,命令别名以及快捷键等
  6. iOS离屏渲染的解释:渲染与cpu、gpu
  7. BZOJ4446:[SCOI2015]小凸玩密室(树形DP)
  8. linq的左连接右连接内连接用法
  9. [转]PowerDesigner使用常见问题锦集
  10. jquery全选 反选