您现在的位置:
首页 -->
其他 --> puppet手册之建立软件安装源
puppet手册之建立软件安装源
ex4 alt2">
require => Package[
"apache2-mpm-worker"
],
notify => Service[
"apache2"
],
}
file
{
"/etc/apache2/sites-enabled/gemrepo"
:
ensure =>
symlink
,
target =>
"/etc/apache2/sites-available/gemrepo"
,
require => File[
"/etc/apache2/sites-available/gemrepo"
],
notify => Service[
"apache2"
],
}
file
{
"/var/gemrepo"
:
ensure => directory,
}
}
2.创建/etc/puppet/modules/repo/files/gemrepo.conf 文件,内容如下:
1
2
3
4
5
6
7
8
9
10 |
<VirtualHost *:80>
ServerAdmin john@bitfieldconsulting.com
ServerName gems.bitfieldconsulting.com
ErrorLog logs /gems .bitfieldconsulting.com-error_log
CustomLog logs /gems .bitfieldconsulting.com-access_log common
Alias / /var/gemrepo/
<Location />
Options Indexes
< /Location >
< /VirtualHost >
|
3.添加下面代码到你的节点:
1
2
3 |
node cookbook {
include repo::gem-server
}
|
4.运行Puppet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 |
info: Retrieving plugin
info: Caching catalog for cookbook.bitfieldconsulting.com
info: Applying configuration version '1304949279'
notice: /Stage [main] /Repo ::Gem-server /File [ /etc/apache2/sites-
available /gemrepo ] /ensure : defined content as '{md5}ae1fd948098f14
503de02441d02a825d'
info: /Stage [main] /Repo ::Gem-server /File [ /etc/apache2/sites-
available /gemrepo ]: Scheduling refresh of Service[apache2]
notice: /Stage [main] /Repo ::Gem-server /File [ /etc/apache2/sites-
enabled /gemrepo ] /ensure : created
info: /Stage [main] /Repo ::Gem-server /File [ /etc/apache2/sites-
enabled /gemrepo ]: Scheduling refresh of Service[apache2]
notice: /Stage [main] /Apache/Service [apache2]: Triggered 'refresh' from 2 events
notice: /Stage [main] /Repo ::Gem-server /File [ /var/gemrepo ] /ensure :created
notice: Finished catalog run in 6.52 seconds
|
它是如何工作的….
极其像APT 源,并遵循相同的原则,我们定义了一个gem仓库的目录,并定义了一个虚拟
主机,确保它能响应gems.bitfieldconsulting.com请求.
还有更多…
同样的,你如果把某些东西放到gem仓库也是非常有用的,下面会演示如何去做,
以及如何配置节点能访问gem 仓库.
添加gems
增加一个新的gems到你的仓库非常简单.把gem 放到 /var/gemrepo/gems ,并在
/var/gemrepo目录运行gem generate_index命令.
使用gem 仓库
和APT 仓库一样,确保节点知道gems 源主机的主机名bitfieldconsulting.com,
,它通常使用Puppet来部署主机条目,或者配置DNS.
然后,你可以在Puppet指定一个软件包,如下所示:
1
2
3
4 |
package { "json" :
provider => "gem" ,
}
|
顺便说一句,由于在天朝,rubygems.org无法正常使用,你懂的,需要拨vpn才可以,推荐大家使用
taobao的镜像作为源.地址为:http://ruby.taobao.org/
[总结]
puppet cookbook系列未完待续,下一小节,就介绍最后两小节的,在puppet中如何使用源文件
来自动构建软件包,以及在puppet中如何比较软件包的版本,因为我们在运维工作中,经常
会遇到软件包要统一版本管理,我们可以在puppet使用versioncmp来比较app版本,进而
让我们明确是否需要更新app版本.详情,期待下文.
建议继续学习:
- 使用Apache 和Passenger来运行puppetmaster (阅读:7030)
- 自动化运维之企业实际案例分析 (阅读:3804)
- puppet使用rsync来同步文件教程 (阅读:3309)
- DevOps之Puppet (阅读:2988)
- 如何有效运行puppet cron任务以及如何触发运行puppet (阅读:3024)
- puppet vagrant 管理VirtualBox 虚拟机 (阅读:2740)
- puppet运维之使用自定义函数 (阅读:2650)
- puppet extlookup 和puppet hiera使用 (阅读:2255)
- puppetmaster集群解决方案之puppet客户端共享一张证书 (阅读:1975)
- puppet 手册检查puppet配置文件和使用puppet tags (阅读:1634)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:
@IT技术博客大学习
京ICP备15002552号-1