文档章节

ansible tomcat自动部署项目

aaa123456aaa
 aaa123456aaa
发布于 2017/05/04 16:39
字数 206
阅读 129
收藏 0

1.实现的功能:

   从nexus下载war包,自动部署到tomcat上,并且从gitlab上拉取配置文件,替换到项目中

2 ansible的目录结构:

 

3 ansible主要文件的内容

  3.1deploy.yml:

   - hosts: testhost1
     user: root
     gather_facts: true
     roles:
      - deploy

 3.2main.yml:
- name: stop tomcat service
  shell: ps -ef | grep {{ tomcat_home }} | grep -v grep | awk '{print $2}'  | sed -e "s/^/kill -9 /g" | sh -

- name: "delete {{ project }}.war.bak file"
  file: path={{ tomcat_home }}/webapps/{{ project }}.war.bak state=absent

- name: back old war
  shell: mv '{{ tomcat_home }}/webapps/{{ project }}.war' '{{ tomcat_home }}/webapps/{{ project }}.war.bak' removes='{{ tomcat_home }}/webapps/{{ project }}.war'

- name: replace config file
  template: src={{ item }} dest={{ config_path }} owner=root group=root
  with_items:
   - "{{ project }}.properties"
   - "logback.xml"

- name: download {{ project }}.war
  get_url: url='{{ pkg_url }}' dest={{ tomcat_home }}/webapps/ owner=root group=root

- name: start tomcat service
  shell: chdir='{{ tomcat_home }}/bin' nohup ./startup.sh -Dspring.profiles.active=server $
  register: tomcat_status

- debug: var=tomcat_status.stdout_lines

3.3dev:

[testhost1]
10.10.10.1

[testhost1:vars]
config_path=/opt/config/my_ci_demo
tomcat_home=/usr/local/tomcat
project=my_ci_demo
pkg_url=http://10.10.10.1:8081/nexus/content/repositories/snapshots/my_ci_demo.war

4.启动任务

  ansible-playbook -i inventory/dev ./deploy.yml

© 著作权归作者所有

上一篇: jenkins的安装
aaa123456aaa
粉丝 0
博文 12
码字总数 5152
作品 0
深圳
私信 提问
一步一步用jenkins,ansible,supervisor打造一个web构建发布系统

新blog地址:http://hengyunabc.github.io/deploy-system-build-with-jenkins-ansible-supervisor/ 一步一步用jenkins,ansible,supervisor打造一个web构建发布系统。 本来应该还有gitlab这......

横云断岭
2015/03/05
0
0
ansible实战应用之——自动化系统上线

一:系统上线基本流程 二:操作环境 ansible主机一台: 软件需求:haproxy、ansible 实现功能:haproxy健康监测,ansible自动化运维 tomcat主机两台: 软件需求:tomcat、nginx 实现功能:t...

云云毓
2017/12/10
0
0
centos7.3上通过ansible配置nginx+tomcat环境

拓扑及IP地址说明: host1-4: ansible: host1-192.168.80.71 nginx: host2-192.168.80.72 tomcat1: host3-192.168.80.73 tomcat1: host4-192.168.80.74 ansible---nginx---tomcat1&2 host1:......

rackie386
2017/09/22
0
0
使用Ansible部署Phoenix项目

使用 ansible-elixir-stack 这个项目部署Phoenix项目, 做到一键部署 ansible-elixir-stack 用到的工具有: exrm 打包发布工具, 代码热更新 monit 用于监控和自动重启应用 asdf 用于安装Elixi...

lidashuang
2017/11/29
0
0
Ansible 自动化运维实例

前言    Ansible 是大家非常熟悉的轻量级的自动化运维工具。在小规模的应用集群中,使用ansbile来对集群中的应用进行管理是一个非常高效的方法。    Ansible本身支持非常多的模块,并且操...

Eumenides_s
2017/12/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
今天
5
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
今天
6
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
10
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
5
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部