1
snachx 2014-07-26 23:45:32 +08:00 via Android
貌似木有中文,不过那点英文也很简单啊,实在看不下去就看实际例子好了,比如
https://github.com/edx/configuration |
2
tin OP @snachx 谢谢,我也是在看 edx 才知道 ansible 的。学这个有啥好的建议么?我看 edx 的代码都不知道各文件夹是干什么的,有什么联系。您有好的建议么?谢谢
|
3
tin OP 我看 ansible 也是为了弄明白 edx 安装时的原理,但不知从那开始。。。。
|
4
snachx 2014-07-28 14:20:41 +08:00 1
@tin edx configuration的代码比较丰富了,看这个就行
如果你是为了知道安装时的原理的话,从https://github.com/edx/configuration/blob/master/playbooks/edx_sandbox.yml 开始吧 执行的步骤就是roles下面的列出来的各个role的内容,具体的某个role放在playbooks/roles下面,比如nginx,具体某个role的文件夹下,defaults是各种参数配置,handlers是task中用到的handlers定义,meta是依赖的其他role之类的信息,tasks是具体执行的内容,templates是tasks中用到的文件模板。 以此类推,推荐的方法是,参照 https://github.com/edx/configuration/wiki/edX-Ubuntu-12.04-64-bit-Installation 的One step installation,看他输出提示,然后用输出提示的名字去代码里面搜索,就会发现是那一步,放在什么地方,然后多看几个就知道怎么组织的了。 |
6
tin OP @snachx 再请教一个问题: https://github.com/edx/configuration/wiki/edX-Ubuntu-12.04-64-bit-Installation这个教程中,最后一个命令是:
sudo ansible-playbook -c local --limit "localhost:127.0.0.1" ../edx_sandbox.yml \ -i "localhost," -e 'EDXAPP_PREVIEW_LMS_BASE=preview.example.com EDXAPP_LMS_BASE=example.com EDXAPP_LMS_PREVIEW_NGINX_PORT=80 EDXAPP_CMS_NGINX_PORT=80 EDXAPP_LMS_NGINX_PORT=80 edx_platform_version=master ' 这个命令分两部分: -e 之后的命令我看明白了:是设置对应的 /var/tmp/configuration/playbooks/edx_sandbox.yml 文件中的变量。如果再安装中是用自己的域名,edx_sandbox.yml 里设置,还是在上边的命令行中设置,还是两个都要设置? 但-e 之前的没有明白-i "localhost" 是指向到本地主机么?谢谢 |
7
snachx 2014-07-29 07:50:38 +08:00 via Android 1
ansible-playbook --help
|
9
tin OP @snachx 再请教一个问题 (暂定域名是 abc.com)
sudo ansible-playbook -c local --limit "localhost:127.0.0.1" ../edx_sandbox.yml \ -i "localhost," -e 'EDXAPP_PREVIEW_LMS_BASE=preview.abc.com EDXAPP_LMS_BASE=abc.com EDXAPP_LMS_PREVIEW_NGINX_PORT=80 EDXAPP_CMS_NGINX_PORT=80 EDXAPP_LMS_NGINX_PORT=80 edx_platform_version=master ' 和 sudo ansible-playbook -c local --limit "localhost:127.0.0.1" ../edx_sandbox.yml \ -i "localhost, **abc.com**," -e 'EDXAPP_PREVIEW_LMS_BASE=preview.abc.com EDXAPP_LMS_BASE=abc.com EDXAPP_LMS_PREVIEW_NGINX_PORT=80 EDXAPP_CMS_NGINX_PORT=80 EDXAPP_LMS_NGINX_PORT=80 edx_platform_version=master ' 有什么区别? |
10
tin OP 抱歉打错了。重新问,下边两个其它都一样。就是在-i “localhost”,后面一个没加域名,一个加了域名。请问加与不加,有什么区别?谢谢
sudo ansible-playbook -c local --limit "localhost:127.0.0.1" ../edx_sandbox.yml \ -i "localhost," -e 'EDXAPP_PREVIEW_LMS_BASE=preview.abc.com EDXAPP_LMS_BASE=abc.com EDXAPP_LMS_PREVIEW_NGINX_PORT=80 EDXAPP_CMS_NGINX_PORT=80 EDXAPP_LMS_NGINX_PORT=80 edx_platform_version=master ' 和 sudo ansible-playbook -c local --limit "localhost:127.0.0.1" ../edx_sandbox.yml \ -i "localhost, abc.com," -e 'EDXAPP_PREVIEW_LMS_BASE=preview.abc.com EDXAPP_LMS_BASE=abc.com EDXAPP_LMS_PREVIEW_NGINX_PORT=80 EDXAPP_CMS_NGINX_PORT=80 EDXAPP_LMS_NGINX_PORT=80 edx_platform_version=master ' |
11
snachx 2014-08-07 14:24:06 +08:00
@tin 建议再去看一下 -i 参数的含义和INVENTORY的含义,-i 指定的内容是指在哪些机器上跑脚本,可以是本地的也可以是远程的等等
而看你的意思应该说是你的edx平台搭起来之后要用abc.com来访问,-i 参数不会对这个目的有什么作用。只有你后面写的 -e 中的内容才会影响edx的设置 |
13
tin OP 我看了-i 的参数介绍(通过--help)是:
-i INVENTORY, --inventory-file=INVENTORY specify inventory host file 哪里能找到更详细的说明?ansible 的官方文档 么? |
15
hzwlf2002 2016-05-18 17:32:39 +08:00
推荐一本书: Ansible: UP and Running
我的 github 上也给了一些安装配置常用服务的示例,欢迎围观与给星。 https://github.com/wanglf/ansible-playbook |