我們為puppetmaster建立3個環境,它們分別是開發環境(jqdev)、測試環境(jqtest)、生產環境(jqprd).
3.1 配置puppet.conf
在標籤[master]中新增environments環境,其次建立對應的環境標籤及配置建立目錄
[root@puppetmaster1 puppet]# cd /etc/puppet/
[root@puppetmaster1 puppet]# mkdir -p environments/jqdev
[root@puppetmaster1 puppet]# mkdir -p environments/jqprd
[root@puppetmaster1 puppet]# mkdir -p environments/jqtest
移動預設環境modules中的配置到jqprd對應的環境中
其中puppet和yum模組屬於基礎環境模組,motd屬於應用環境模組,關於此類puppet,yum,motd模組方案,請參見kisspuppet.com。
[root@puppetmaster1 environments]# mv /etc/puppet/modules/puppet jqprd/environment/modules/
[root@puppetmaster1 environments]# mv /etc/puppet/modules/yum jqprd/environment/modules/複製manifests檔案至jqprd環境中
[root@puppetmaster1 environments]# cp /etc/puppet/manifests jqprd/ -r
刪除掉預設環境manifests中site.pp檔案內容
因為模組已經移除,其次預設環境production已經不再使用了。
[root@puppetmaster environments]# >/etc/puppet/manifests/site.pp
建立fileserverconfig檔案
[root@puppetmaster ~]# cp /etc/puppet/fileserver.conf
[root@puppetmaster ~]# cp /etc/puppet/fileserver.conf
[root@puppetmaster ~]# cp /etc/puppet/fileserver.conf
[root@puppetmaster ~]# ll /etc/puppet/
total 88
-rw-r--r-- 1 root root 2569 jan 7 07:51 auth.conf
-rw-r--r-- 1 root root 17 mar 9 17:54 autosign.conf.bak
drwxr-xr-x 5 root root 4096 mar 27 22:33 environments
-rw-r--r-- 1 root root 381 jan 7 07:49 fileserver.conf
-rw-r--r-- 1 root root 381 mar 27 22:46 fileserver.conf.jqdev #指向jqdev環境
-rw-r--r-- 1 root root 381 mar 27 22:46 fileserver.conf.jqprd #指向jqmq環境
-rw-r--r-- 1 root root 381 mar 27 22:46 fileserver.conf.jqtest #指向jqdev環境
drwxr-xr-x 2 root root 4096 mar 25 05:23 manifests
drwxr-xr-x 2 root root 4096 mar 27 22:40 modules
-rw-r--r-- 1 root root 1063 mar 27 21:55 puppet.conf
-rw-r--r-- 1 root root 853 mar 9 00:48 puppet.conf.bak
-rw-r--r-- 1 root root 42031 mar 9 03:25 puppet.conf.out最後配置puppetmaster配置檔案
[root@puppetmaster1 puppet]# grep -v "#" ./puppet.conf
[main]
logdir = /var/log/puppet
rundir = /var/run/puppet
ssldir = $vardir/ssl
[agent]
classfile = $vardir/classes.txt
localconfig = $vardir/localconfig
server = puppetmaster1.jq.com
certname = puppetmaster1_cert.jq.com
[master]
certname = puppetmaster1.jq.com
environments = jqdev,jqtest,jqprd
basemodulepath = /etc/puppet/modules:/usr/share/puppet/modules
[jqdev]
manifest = $confdir/environments/jqdev/manifests/site.pp
fileserverconfig = /etc/puppet/fileserver.conf.jqdev
[jqtest]
manifest = $confdir/environments/jqtest/manifests/site.pp
fileserverconfig = /etc/puppet/fileserver.conf.jqtest
[jqprd]
manifest = $confdir/environments/jqprd/manifests/site.pp
fileserverconfig = /etc/puppet/fileserver.conf.jqprd
重啟puppetmaster服務
[root@puppetmaster1 ~]# /etc/init.d/puppetmaster restart
stopping puppetmaster: [ ok ]
starting puppetmaster: [ ok ]在客戶端測試
[root@ag1 yum.repos.d]# puppet agent -t --environment=jqprd
info: retrieving pluginfacts
info: retrieving plugin
info: loading facts
info: caching catalog for ag1_cert.jq.com
本系統puppet均根據kisspuppet的部落格(進行實驗,非常感謝!!!
3.7的版本,多環境變數,配置有變更,詳情如下:
徹底搞定。詳情如下:
jqprd下的配置檔案如下:
[root@pm01 jqprd]# pwd
/etc/puppet/environments/jqprd
[root@pm01 jqprd]# cat environment.conf
modulepath =
Gradle多環境配置
在開發中遇到了多個不同的環境,比如測試環境,上線環境,甚至根據不同開發組有多個環境,平常做法就是建乙個類來儲存,然後在裡面不停的注釋來達到切換環境的效果,其實gradle提供了多環境配置,配置起來也挺簡單的,也不用之前的無腦注釋了.首先開啟自己的gradle,在buildtype裡面有當前的兩個環境...
SpringBoot 多環境配置
在我們的實際開發中,一般都有三套環境,開發環境,測試環境,生產環境,三套環境的資料庫連線配置也有所不同,比如,埠,ip位址等等。如果在打包時候都頻繁的修改配置檔案資訊,那必將是非常容易出錯的地方。還有乙個正式 在這個檔案中配置 spring.profiles.active test來指明對應哪個檔案...
springboot多環境配置
dev本地開發環境 server.port 1111 test測試環境 server.port 2222 pre預發布環境 server.port 3333 proc生產環境 server.port 4444 dev本地開發環境 spring.profiles.active dev test測試環境...