Saltstack之使用salt安装es6.0以上的head插件
本实验使用salt安装es6.0以上的head插件
ES6.0以上手动安装head插件参考:https://www.cnblogs.com/minseo/p/9117470.html
文件夹目录为
/srv/salt/prod/grunt
目录结构如下
install.sls内容如下
node-install: file.managed: - name: /opt/node-v8.0.0-linux-x64.tar.gz - source: salt://grunt/files/node-v8.0.0-linux-x64.tar.gz - mode: 755 - user: root - group: root cmd.run: - name: cd /opt && tar -xf node-v8.0.0-linux-x64.tar.gz #设置node环境变量 /etc/profile: file.append: - text: - export NODE_HOME=/opt/node-v8.0.0-linux-x64 - export PATH=$PATH:$NODE_HOME/bin - export NODE_PATH=$NODE_HOME/lib/node_modules cmd.run: - name: source /etc/profile #安装head-master head-install: file.managed: - name: /opt/master.zip - source: salt://grunt/files/master.zip - mode: 644 - user: root - group: root cmd.run: - name: yum -y install unzip && cd /opt && unzip -o master.zip && sleep 5 && cd /opt/elasticsearch-head-master && source /etc/profile && npm install -g grunt-cli && npm install #修改配置文件 Gruntfile.js: file.managed: - name: /opt/elasticsearch-head-master/Gruntfile.js - source: salt://grunt/files/Gruntfile.js - mode: 644 - user: root - group: root app.js: file.managed: - name: /opt/elasticsearch-head-master/_site/app.js - source: salt://grunt/files/app.js - mode: 644 - user: root - group: root #配置文件中需要使用grains取ip地址 - template: jinja
配置文件Gruntfile.js增加了一行
配置文件app.js使用grains赋值
PS:需要加[0]否则赋值为类似u[192.168.1.4]
salt安装命令为
salt 'salt-test' state.sls grunt.install saltenv=prod