λ¬Έμμ μ΄ μ€λν«μ envλ₯Ό ν΅ν΄ μ¬μ©μκ° μμ ν€ 'foo'λ₯Ό μ¬μ©ν μ μλλ‘ νμ§ μμΌλ©° 'hosts' ν€λ§ μ΄ν Fabricμ μν΄ (env.hostsλ‘) λ‘λλ©λλ€.
from fabric.api import env
env.roledefs = {
'web': {
'hosts': ['www1', 'www2', 'www3'],
'foo': 'bar'
},
'dns': {
'hosts': ['ns1', 'ns2'],
'foo': 'baz'
}
}
μλ μμ λ₯Ό configure fileλ‘ μ¬μ©ν λ€μ fabfiles.pyλ₯Ό μ²λ¦¬νλ λ΄λΆ κΈ°λ₯μ μΆκ°ν μ μμ΅λλ€.
μ: list.db
μΈν°νμ΄μ€|ip|λΉλ°λ²νΈ|μν ....
κ·Έκ²μ΄ λΉμ μ μν΄ μΌνκΈ°λ₯Ό λ°λλλ€.
κ° μΈμ μ μ°κ²°ν νΈμ€νΈλ₯Ό κ²°μ νκΈ° μν΄ ν¨λΈλ¦μμ μ¬μ©νλ λͺ κ°μ§ env ν€κ° μμ΅λλ€(μ: μν , effective_roles, νΈμ€νΈ, host_string). λ¬Όλ‘ λ°μ½λ μ΄ν°λ λ§μ°¬κ°μ§μ λλ€.
μ¦, roledefλ νΈμ€νΈλ₯Ό κ·Έλ£ΉννκΈ° μν μ΄λ¦ 맀νμΌ λΏμ΄λ©° env.hostsμ λ³ν©λ νμλ μμ΅λλ€.
roledefsλ₯Ό μ¬μ μΌλ‘ μ μνλ©΄ νΈμ€νΈ μμ μν λ³ λ€λ₯Έ μ¬μ©μ μ μ μ€μ μ ꡬμ±νλ λ° λμμ΄ λ©λλ€. μ 체 νκ²½ κ²½λ‘(μ: env.roledefs.web.foo)λ₯Ό ν΅ν΄ μ‘μΈμ€ν μ μμ΅λλ€.
κ·Έλ¬λ λΉμ μ΄ λ°ννκ³ μλ§λ μμνλ κ²μ²λΌ dictλ‘ μ μλ μν μ env 루νΈμ λ³ν©λμ΄μΌ ν©λλ€.
κ°μΈμ μΌλ‘ μ¬μ©νλ μ©λμ΄κΈ°λ ν©λλ€. νΉμ μμ
μ μ€νν λ "νμ¬" μν μ μ€μ λ‘ μ€μ /κ°μ Έμ€λ λͺ¨λ κ°λ₯ν λ°©λ²κ³Ό μμ
λ΄μμ νμ μμ
μ νΈμΆν λμ 볡μ‘μ±μΌλ‘ μΈν΄ μμ§ κ΅¬ννκ³ μμ²μ κ°μ Έμ€λ μ’μ λ°©λ²μ μ°Ύμ§ λͺ»νμ΅λλ€. . κ°λ¨ν μ€λͺ
νλ©΄ envμ λν λ³κ²½ μ¬νμ ꡬλ
νκ³ roles
κ° envμ μ€μ λ λ μν μ λ³ν©νμ¬ μνν©λλ€. κ·Έλ¬λ "μ΄λ €μ΄" λΆλΆμ μνλ₯Ό μ μ§νκ³ μΈμ
λ΄μμ μ μν μ΄ μ¬μ©λ λ λ³ν©λλ μν μ μ 리νλ κ²μ
λλ€.
env.roledefs.web.fooλ AttributeError: 'dict' object has no attribute 'web'
μ€λ₯λ₯Ό μμ±ν©λλ€.
λ΄ λ§μ env.roledefs['web']['foo'] μΌλ° λμ λ리μ²λΌ μ‘μΈμ€ν μ μμ§λ§ μ΄ κΈ°λ₯μ΄ Fabricμ μ ν μ‘΄μ¬νλ μ΄μ λ₯Ό λͺ¨λ₯΄κ² μ΅λλ€. κ·Έλ₯ νλ²ν λμ λ리μ λλ€. μ΄ κΈ°λ₯μ΄ λ μ μ©ν μ΄μ λ‘ κ΅¬νλ κ² κ°μ΅λκΉ?
μ£μ‘ν©λλ€. λ§μνμ λλ‘ μ‘μΈμ€ν΄μΌ ν©λλ€.
νμ¬ νΈμ€νΈ μμ λ λ§μ μν μ€μ μ κ·Έλ£Ήννλλ‘ νμ©νλ κ² μΈμ λ€λ₯Έ μ΄μ λ μμ΅λλ€.
κ·Έλ¬λ λ§μΌμ€ν€ 1.11μ΄ λ¦΄λ¦¬μ€λκ³ #1092κ° μ‘΄μ¬νλ©΄ λ μλ―Έκ° μμ΅λλ€.
λν #1088μ μ€λͺ /κΈ°λνλ κ²κ³Ό μ μ¬ν 1.11μ μΌλΆμ λλ€. κ·Έλ¬λ λ΄κ° λ§νλ―μ΄ μμ§ μν μ μ λ³ν©μ ꡬννλ μ’μ λ°©λ²μ μ°Ύμ§ λͺ»νμ΅λλ€. "λͺ»μκΈ΄" κΉμ μμμ΄ ν¨μΉλ₯Ό μ¬μ©νλ ν¬ν¬μ κ°λ μ¦λͺ λ§.
μ, μκ² μ΅λλ€. μ κ° λκ°λ₯Ό λμΉκ³ μλ€λ μκ°μ λ²½μ 머리λ₯Ό λ°κ³ μμμ΅λλ€. :) μ°Έμ‘°λ λ¬Έμ λ²νΈλ λ‘€λ§ν λλ§λ€ κ½€ λμμ΄ λ κ² κ°μ΅λλ€. κ³ λ§μμ μ‘°λμ€!
μ΄κ²μ νΌλμ€λ½κ³ μ΄λ¬ν μΆκ° λ³μλ roledef μΈλΆμμ μ‘μΈμ€ν μ μλ€λ κ²μ λ¬Έμμμ μΈκΈν΄μΌ νλ€κ³ μκ°ν©λλ€.
@bitprophet νμλ μ΄μ λ 무μμ λκΉ? μΆκ° roledef ν€μ λμμ λ³κ²½λμ§ μμμΌλ―λ‘ "μμ λμ§ μμ"μ λκΉ?
κ°μ₯ μ μ©ν λκΈ
@bitprophet νμλ μ΄μ λ 무μμ λκΉ? μΆκ° roledef ν€μ λμμ λ³κ²½λμ§ μμμΌλ―λ‘ "μμ λμ§ μμ"μ λκΉ?