我使用PuPHPet为PHP项目创建一个Puppet配置(https://puphpet.com/#create)。我已经读过它使用Hiera,但我真的不太熟悉Puppet / Hiera语法。
我想从同步文件夹创建一个符号链接到我的web根目录。我发现如何使用Puppet,但我不知道如何适应我的配置文件:
file { '/tmp/link-to-motd':
ensure => 'link',
target => '/etc/motd',
}
http://puppetcookbook.com/posts/creating-a-symlink.html
在Hiera有一些技巧吗?似乎Hiera使用YAML文件来配置所有内容。对不起,如果我完全遗漏了一些明显的东西。
例如我在config.yml
中有这个vagrantfile-local:
vm:
...
synced_folder:
0H4IdhbRXpVN:
source: .
target: /var/project
sync_type: default
rsync:
args:
- '--verbose'
- '--archive'
- '-z'
exclude:
- .vagrant/
auto: 'false'
...
apache:
install: '1'
settings:
user: www-data
group: www-data
default_vhost: true
manage_user: false
manage_group: false
sendfile: 0
modules:
- rewrite
vhosts:
RXTueD2ha3Pa:
servername: mysite.dev
docroot: /var/www/mysite
port: '443'
override:
- All
options:
- Indexes
- FollowSymLinks
- MultiViews
engine: php
custom_fragment: ''
ssl: '1'
ssl_cert: ''
ssl_key: ''
ssl_chain: ''
ssl_certs_dir: ''
我希望/ var / www / mysite成为/ var / project / web的符号链接。
我想我总是可以创建一个exec-once shell脚本来执行此操作,但希望有一种方法将其放入配置中。
答案 0 :(得分:3)
我意识到这是一个旧线程,但这是在PuPHPet中添加对可配置符号链接的支持的更好方法。
将config.yaml下的代码附加到config.yaml文件的底部,然后对puphpet / puppet / site.pp执行相同操作
然后你可以在链接下添加/修改链接:在config.yaml中的格式为'source':'target'。我已经包含了一个示例,它将符号链接放在Vagrant的主目录中,名为public_html,指向/ var / www / html /.
symlinks:
install: '1'
links:
'/home/vagrant/public_html': '/var/www/html/'
if array_true($symlinks, 'install') {
$symlinks['links'].each |$source, $target| {
file { "$source":
ensure => link,
target => "$target",
}
}
}
答案 1 :(得分:1)
最简单的方法是创建一个超级简单的bash脚本并将其放入exec-once
文件夹中,该文件夹将在初始$ vagrant up
上运行一次。