实验目标

简单部署tomcat及安装java环境

实现步骤

编写salt的状态模块
[root@linux-node1 web]# pwd
/srv/salt/base/web
[root@linux-node1 web]# cat tomcat.sls
jdk-install:
pkg.installed:
- name: java-1.8.-openjdk #rpm包安装不需要添加环境变量 tomcat-install:
file.managed:
- name: /usr/local/src/apache-tomcat-8.0..tar.gz
- source: salt://web/files/apache-tomcat-8.0.46.tar.gz
- user: root
- group: root
- mode:
cmd.run:
- name: cd /usr/local/src && tar zxf apache-tomcat-8.0..tar.gz && mv apache-tomcat-8.0. /usr/local/ && ln -s /usr/local/apache-tomcat-8.0. /usr/local/tomcat
- unless: test -L /usr/local/tomcat && test -d /usr/local/apache-tomcat-8.0.
上传apache-tomcat-8.0.46到salt的文件管理目录下
[root@linux-node1 src]# ll /srv/salt/base/web/files/apache-tomcat-8.0..tar.gz
-rw-r--r-- root root Oct /srv/salt/base/web/files/apache-tomcat-8.0..tar.gz
执行状态模块
[root@linux-node1 web]# salt "linux-node2*" state.sls web.tomcat
linux-node2.example.com:
----------
ID: jdk-install
Function: pkg.installed
Name: java-1.8.-openjdk
Result: True
Comment: The following packages were installed/updated: java-1.8.-openjdk
Started: ::55.027164
Duration: 46213.48 ms
Changes:
----------
chkconfig:
----------
new:
1.7.-.el7
old:
1.3.-.el7_2.
copy-jdk-configs:
----------
new:
2.2-.el7
old:
giflib:
----------
new:
4.1.-.el7
old:
java-1.8.-openjdk:
----------
new:
:1.8.0.144-.b01.el7_4
old:
java-1.8.-openjdk-headless:
----------
new:
:1.8.0.144-.b01.el7_4
old:
javapackages-tools:
----------
new:
3.4.-.el7
old:
libICE:
----------
new:
1.0.-.el7
old:
libSM:
----------
new:
1.2.-.el7
old:
libXcomposite:
----------
new:
0.4.-4.1.el7
old:
libXext:
----------
new:
1.3.-.el7
old:
libXfont:
----------
new:
1.5.-.el7
old:
libXi:
----------
new:
1.7.-.el7
old:
libXrender:
----------
new:
0.9.-.el7
old:
libXtst:
----------
new:
1.2.-.el7
old:
libfontenc:
----------
new:
1.1.-.el7
old:
lksctp-tools:
----------
new:
1.0.-.el7
old:
nspr:
----------
new:
4.13.-1.0.el7_3
old:
4.11.-.el7_2
nss:
----------
new:
3.28.-.el7_4
old:
3.21.-.el7_2
nss-pem:
----------
new:
1.0.-.el7
old:
nss-softokn:
----------
new:
3.28.-.el7_4
old:
3.16.2.3-14.2.el7_2
nss-softokn-freebl:
----------
new:
3.28.-.el7_4
old:
3.16.2.3-14.2.el7_2
nss-sysinit:
----------
new:
3.28.-.el7_4
old:
3.21.-.el7_2
nss-tools:
----------
new:
3.28.-.el7_4
old:
3.21.-.el7_2
nss-util:
----------
new:
3.28.-.el7
old:
3.21.-2.2.el7_2
python-javapackages:
----------
new:
3.4.-.el7
old:
python-lxml:
----------
new:
3.2.-.el7
old:
ttmkfdir:
----------
new:
3.0.-.el7
old:
tzdata-java:
----------
new:
2017b-.el7
old:
xorg-x11-font-utils:
----------
new:
:7.5-.el7
old:
xorg-x11-fonts-Type1:
----------
new:
7.5-.el7
old:
----------
ID: tomcat-install
Function: file.managed
Name: /usr/local/src/apache-tomcat-8.0..tar.gz
Result: True
Comment: File /usr/local/src/apache-tomcat-8.0..tar.gz updated
Started: ::41.243020
Duration: 496.457 ms
Changes:
----------
diff:
New file
mode: ----------
ID: tomcat-install
Function: cmd.run
Name: cd /usr/local/src && tar zxf apache-tomcat-8.0..tar.gz && mv apache-tomcat-8.0. /usr/local/ && ln -s /usr/local/apache-tomcat-8.0. /usr/local/tomcat
Result: True
Comment: Command "cd /usr/local/src && tar zxf apache-tomcat-8.0.46.tar.gz && mv apache-tomcat-8.0.46 /usr/local/ && ln -s /usr/local/apache-tomcat-8.0.46 /usr/local/tomcat" run
Started: ::41.740160
Duration: 1288.003 ms
Changes:
----------
pid: retcode: stderr:
stdout: Summary
------------
Succeeded: (changed=)
Failed:
------------
Total states run:

salt "linux-node2*" state.sls web.tomcat

总结

1.添加状态模块的时候,应该自己得先在别的机器上面跑一遍流程在添加
2.状态模块中- source: salt://web/files/apache-conf.d #支持ftp或者http上面 base环境的路径 
3.使用的时候要先测试 test=True
4.ID 有不同表示方式
5.状态模块需要执行模块执行才能生效
6.相同的业务用目录进行分类管理
7.sls文件是从上往下按照顺序执行
8.一个ID下面一个状态只能出现一次
9.pkg是虚拟的包管理,在不同系统下面包的安装命令不同 比如 CentOS 和Ubuntu
10.watch 和watch_in require和require_in 在状态模块中可以统一用其中的一种
11.salt默认是有缓存的,可以无关紧要的配置重启进程刷新缓存
      salt任务执行过程中不删除缓存目录里面的文件 缓存目录默认为/var/cache/salt


附 https://github.com/unixhot/saltbook-code/tree/master

SaltStack部署配置Tomcat-第三篇的更多相关文章

  1. SaltStack 入门到精通第三篇:Salt-Minion配置文件详解

    SaltStack 入门到精通第三篇:Salt-Minion配置文件详解 作者:ArlenJ  发布日期:2014-06-09 17:52:16   ##### 主要配置设置 ##### 配置 默认值 ...

  2. saltstack部署配置

    共计使用三台虚拟机进行部署实验,系统环境:centos7.3 在master上进行部署配置: 配置主机名 [root@localhost ~]# hostname salt-master [root@ ...

  3. 将web应用部署到Tomcat的三种方式

    Tomcat作为Servlet/JSP容器(服务器)挺不错的,开源免费,需要知道的是Tomcat是一个Web服务器,其符合Servlet/JSP规范,但是却没有实现所有JavaEE规范,所以我们还是应 ...

  4. 01 . SaltStack部署配置及简单应用

    SaltStack简介 SaltStack saltstack是一个新的基础平台管理工具,只需要花费数分钟即可运行起来,可以支撑管理上万台服务器的规模,数秒钟即可完成数据传递. saltstack是使 ...

  5. .NET持续集成与自动化部署之路第三篇——测试环境到生产环境的一键部署策略(Windows)

    Jenkins测试环境到生产环境的一键部署策略(Windows) 一.前言     前面我们已经初步实现了开发集成环境.测试环境的持续集成(自动化构建.自动化测试.自动化部署).但生产环境自动化部署迟 ...

  6. jenkins之从0到1利用Git和Ant插件打war包并自动部署到tomcat(第三话):创建一个自由风格的项目(非maven),实现自动打war包

    上一节把git和ant安装在虚拟机,并在jenkins上做了相关配置,接下来就可以真正开始构建一个项目了 1.新建一个自由风格的项目,因为是用ant打包,所以不要选择构建maven项目 2.配置源码管 ...

  7. IntelliJ Idea14 创建Maven多模块项目,多继承,热部署配置总结(三)

    pom.xml中repositories.pluginRepository的作用 pom.xml中repositories标签的作用是: 用来配置maven项目的远程仓库.示例如下: <repo ...

  8. Tomcat 第三篇:总体架构设计

    Tomcat 总体架构设计 在开始这篇文章的时候,忽然发现上一篇内容的题目不是很合适,不应该叫启动流程,更确切的应该是叫启动脚本. 在最开始,先介绍下 Tomcat 的总体设计,先有一个大概的印象,对 ...

  9. 将spring boot项目部署到tomcat容器中

    一. 我这里用的环境 tomcat: tomcat 8 jdk: jdk 7 spring boot 版本: 1.5 二. 将创建好的spring boot项目做如下修改 2.1. 修改打包形式 在p ...

随机推荐

  1. KDevelop使用笔记【中文教程】

    *师从官方文档: https://userbase.kde.org/KDevelop4/Manual/zh-cn https://docs.kde.org/trunk5/en/extragear-kd ...

  2. java面试基础题------》Java 中的final关键字有哪些用法

    (1)修饰类:表示该类不能被继承: (2)修饰方法:表示方法不能被重写: (3)修饰变量:表示变量只能一次赋值以后值不能被修改(常量).

  3. Tomcat----->tomcat配置虚拟主机(搭建网站)mac

    1.首先在server.xml中添加HOST <Host name="www.snowing.com" appBase="/Users/snowing/Downlo ...

  4. 清除webkit浏览器css设置滚动条

    主要有下面7个属性 ::-webkit-scrollbar 滚动条整体部分,可以设置宽度啥的 ::-webkit-scrollbar-button 滚动条两端的按钮 ::-webkit-scrollb ...

  5. Spark 源码分析 -- BlockStore

    BlockStore 抽象接口类, 关键get和put都有两个版本序列化, putBytes, getBytes非序列化, putValues, getValues 其中putValues的返回值为P ...

  6. org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter cannot be cast to javax.servlet.Filter

    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter cannot be cast to javax.servle ...

  7. 【tensorflow】

    运行计算图 session.run() https://blog.csdn.net/sinat_39372048/article/details/80868168 赋值 tf.assign() tf. ...

  8. 【keras框架】

    更高级别的封装.更简单的api,以tensorflow.theano为后端,支持更多的平台 读取网络模型后生成网络结构图 读取 from keras.models import load_model ...

  9. 微信js分享朋友圈(二)

    近期又用到微信分享的功能了.虽然不是第一次用了,依然我又有幸踩到了一个坑,所以分享一下吧. 根据微信sdk写的代码一步步很顺利,但是后面就是获取微信返回的分享结果的回调的时候IOS老是有问题,然后就网 ...

  10. web Servlet 3.0 新特性之web模块化编程,web-fragment.xml编写及打jar包

    web Servlet 3.0 模块化 原本一个web应用的任何配置都需要在web.xml中进行,因此会使得web.xml变得很混乱,而且灵活性差,因此Servlet 3.0可以将每个Servlet. ...