Ansible 一步一步从入门到精通(四)上
1 ---2 - hosts:10.0.0.132
3 tasks:
4 - name: Import EPLE and Remi GPG key. #导入EPEL和Remi GPG校验码
5 rpm_key:"key={{ item}} state=present"
6 with_items:
7 - "https://fedoraproject.org/static/0608B895.txt"
8 - "http://rpms.famillecollet.com/RPM-GPG-KEY-remi"
9
10 - name: Install Remi repos #安装EPEL和Remi仓库
11 command:"rpm -Uvh --force {{ item.href }} creates={{ item.creates}}"
12 with_items:
13 - {
14 href: "http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch. rpm",
15 creates:"/etc/yum.repos.d/epel.repo" # creates参数指定如果有这个repo文件的话,就不执行上面的command
16 }
17 - {
18 href: "http://rpms.famillecollet.com/enterprise/remi-release-6.rpm",
19 creates:"/etc/yum.repos.d/remi.repo"
20 }
21
22 - name: Install Node.js and npm. # npm是node.js的包管理工具
23 yum:name=npm state=present
24
25 - name: Install Forever (to run our node.js app) # forever是node.js的工具,用来运行应用,global指定这个应用可以给所有的用户使用
26 npm:name=forever global=yes state=latest
27
28 - name: Ensure Node.js app folder exist. # node_app_ocation 变量可以通过命令行获取
29 file: "path={{ node_apps_location}} state=directory"
30
31 - name: Copy example Node.js app to server.
32 copy: "src=app dest={{ node_apps_location }}"
33
34 - name: Install app dependencies defined in package.json # 指定package.json的目录即可
35 npm:path={{ node_apps_location}}/app
36
37 - name: Check list of running Node.js apps.
38 command:forever list
39 register: forever_list# 注册command的运行结果到这个变量
40 changed_when: false # 只是显示,不改变服务器状态
41
42 - name: Start example Node.js app.
43 command:"forever start {{ node_apps_location}}/app/app.js"
44 when: "forever_list.stdout.find('{{ node_apps_location}}/app/app.js') == -1"
# 避免启动多个app实例,只有forever list中没有node_app_location这个路径存在的时候,才运行这个app
页:
[1]