Π’Π΅ΡΡ Π½Π° Π·Π½Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠΈΠ°Π»Π° βΠΡΡ Π½Ρβ
ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ ΠΡΠ±ΠΈΡΠ΅Π»Ρ Π’Π΅ΡΡΠΎΠ²
Π‘Π΅ΡΠΈΠ°Π» βΠΡΡ Π½Ρβ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π° ΠΊΠ°Π½Π°Π»Π° Π‘Π’Π‘, ΠΎΠΊΠ°Π·Π°Π»ΡΡ, ΡΡΡΡ Π»ΠΈ Π½Π΅ ΡΠ°ΠΌΡΠΌ ΡΡΠΏΠ΅ΡΠ½ΡΠΌ ΠΈ Π΄ΠΎΡΠΎΠ³ΠΈΠΌ ΡΠΈΡΠΊΠΎΠΌΠΎΠΌ, ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ΡΡ Π² ΡΠ»ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΡΡΠΎΡΠ°Π½Π΅ ΡΡΠ°Π½ΡΡΠ·ΡΠΊΠΎΠΉ ΠΊΡΡ Π½ΠΈ, Π³Π΄Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ Π΄ΡΠ°ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Π° ΠΊΡΡ Π½ΠΈ ΡΠ΅ΡΡΠΎΡΠ°Π½Π°. Π§ΡΠΎ Π²Ρ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎ ΡΠΎΠ±ΡΡΠΈΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠΈΠ°Π»Π°?
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ΅Π±Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ°!
ΠΠΎΡΠΎΠ½Π΅ΠΆΠ°
Π‘Π°ΠΌΠ°ΡΡ
ΠΡΠ°ΡΠ½ΠΎΠ΄Π°ΡΠ°
ΠΡΡΠΌΠ°Π½ΡΠΊΠ°
Claude Monet
Arcobaleno
Gold Cafe
Luxury Life
ΠΡΠΊΠ°Π΄ΠΈΠΉ
ΠΠΈΡ Π°ΠΈΠ»
ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Ρ
ΠΠ°ΠΊΡΠΈΠΌ ΠΠ°Π²ΡΠΎΠ²
ΠΠΈΠΊΡΠΎΡ ΠΠ°ΡΠΈΠ½ΠΎΠ²
ΠΠΎΠ½ΡΡΠ°Π½ΡΠΈΠ½ ΠΠ½ΠΈΡΠΈΠΌΠΎΠ²
ΠΠΌΠΈΡΡΠΈΠΉ ΠΠ°Π³ΠΈΠ΅Π²
Victor
Claude Monet
Arcobaleno
Mojito Cafe
Π¨Π΅Ρ-ΠΏΠΎΠ²Π°ΡΠΎΠΌ
Π₯ΠΎΠ·ΡΠΈΠ½ ΡΠ΅ΡΡΠΎΡΠ°Π½Π°
ΠΠΎΠ²Π°ΡΠΎΠΌ
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠΌ
ΠΠΎΠ½ΡΠ°Π²ΠΈΠ»ΠΎΡΡ?
125 ΠΠ°Π»Π»ΠΎΠ²
ΠΠ° ΠΠ΅Ρ
ΠΊΡΡ Π½ΡΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ ΡΠ΅ΡΠΈΠ°Π»ΡΠ΅ΡΠΈΠ°Π»ΡΠ΅ΡΠΈΠ°Π» ΠΊΡΡ Π½ΡΡΠ΅ΡΡ
ΠΠ΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΠ΅
Π’Π΅ΡΡ: Π₯ΠΎΡΠΎΡΠΎ Π»ΠΈ Π²Π°ΠΌ Π·Π½Π°ΠΊΠΎΠΌ ΡΠ΅ΡΠΈΠ°Π» Β«Π£Π»ΠΈΡΡ ΡΠ°Π·Π±ΠΈΡΡΡ ΡΠΎΠ½Π°ΡΠ΅ΠΉΒ»?
ΠΡΠΎΡ ΡΠ΅ΡΠΈΠ°Π» ΠΏΠΎ ΠΏΡΠ°Π²Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² 90-Ρ . ΠΠ³ΠΎ Π³ΠΎΡΡΡΠΎ Π»ΡΠ±ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π²Π·ΡΠΎΡΠ»ΡΠ΅, ΡΠ°ΠΊ ΠΈ Π΄Π΅ΡΠΈ. Π ΠΊΠ°ΠΊ Ρ ΠΎΡΠΎΡΠΎ Π²Ρ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ Π»Π΅Π³Π΅Π½Π΄Π°ΡΠ½ΡΠΉ ΡΠ΅ΡΠΈΠ°Π»? [β¦] ΠΠΎΠ»ΡΡΠ΅
Π’Π΅ΡΡ: Π£Π³Π°Π΄Π°Π΅ΡΠ΅ Π»ΠΈ Π²Ρ 15 ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΡ ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΏΠΎ ΠΊΠ°Π΄ΡΠ°ΠΌ?
ΠΠ»Ρ Π²Π°Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ» ΡΠ΅ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ±ΡΠ°Π½Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠ΅ΡΠΈΠΉΠ½ΡΠ΅ ΡΠΈΠ»ΡΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π»Π΅Ρ. ΠΠ°ΠΊ Ρ ΠΎΡΠΎΡΠΎ ΠΎΠ½ΠΈ Π²Π°ΠΌ Π·Π½Π°ΠΊΠΎΠΌΡ? ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ. ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ: ΠΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ΡΡ Π½Π° Π½ΠΎΠ²ΠΎΡΡΠΈ Π² [β¦] ΠΠΎΠ»ΡΡΠ΅
Π’Π΅ΡΡ: ΠΠ°ΠΊ Ρ ΠΎΡΠΎΡΠΎ Π²Ρ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΡ ΡΠ΅ΡΠΈΠ°Π»Π°Ρ ?
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΡΠ³Π°Π΄Π°ΡΡ ΠΎΡΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠΈΠ°Π» ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠ°Π΄ΡΡ . ΠΡΠ»ΠΈ Π½Π°Π±Π΅ΡΠ΅ΡΠ΅ Ρ ΠΎΡΡ Π±Ρ 15 ΠΈΠ· 20, ΡΠΎ Π²Ρ Π·Π½Π°ΡΠΎΠΊ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΠ΅Π»Π΅Π²ΠΈΠ΄Π΅Π½ΠΈΡ. [β¦] ΠΠΎΠ»ΡΡΠ΅
Π’Π΅ΡΡ ΠΏΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠΌ ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌ Π±ΡΠ»ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½: ΡΡΠΎ Π²Ρ ΠΎ Π½ΠΈΡ Π·Π½Π°Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅?
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΡΠ΅ΡΠΈΠ°Π»Ρ β ΡΡΠΎ ΡΠ°ΡΡΡ ΠΆΠΈΠ·Π½ΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°. Π Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΡ Π½Π΅ Π»ΡΠ±ΠΈΡΠ΅ ΠΈΡ ΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΠΎ ΡΠ»ΡΡΠ°Π»ΠΈ ΠΎΡ ΠΊΠΎΠ»Π»Π΅Π³ ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Ρ ΠΊΠ°Π½Π°Π»Ρ [β¦] ΠΠΎΠ»ΡΡΠ΅
Π’Π΅ΡΡ: Π‘ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΎΡΠ³Π°Π΄Π°ΡΡ, Π³Π΄Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΎΡΡΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΠΈΠ°Π»Π°, Π° Π³Π΄Π΅ Π²ΡΠ΄ΡΠΌΠ°Π½Π½Π°Ρ Π±Π΅ΡΡΠΌΡΡΠ»ΠΈΡΠ°?
ΠΡ Π»ΡΠ±ΠΈΡΠ΅ ΡΠ΅ΡΠΈΠ°Π»Ρ? ΠΠ°Π²Π½ΠΎ ΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠ΅? ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ Π²Π°Ρ, ΠΎΡΠ»ΠΈΡΠΈΡΠ΅ Π»ΠΈ Π²Ρ Π½Π°ΡΡΠΎΡΡΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΡ ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΎΡ Π²ΡΠΌΡΡΠ»Π΅Π½Π½ΡΡ ? ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ: ΠΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ΡΡ Π½Π° Π½ΠΎΠ²ΠΎΡΡΠΈ Π² VKΠΎΠ½ΡΠ°ΠΊΡΠ΅, [β¦] ΠΠΎΠ»ΡΡΠ΅
Π’Π΅ΡΡ: ΠΠ΅ΠΌ Π±Ρ Π²Ρ Π±ΡΠ»ΠΈ Π² ΡΠ΅ΡΠΈΠ°Π»Π΅ Β«ΠΠ°ΡΠ½ΠΈΠΊΠΈΒ»?
ΠΠ΅ΡΠΎ β Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠΊΠΎΡ, Π½Π°Π΄Π΅ΠΆΠ΄, ΡΠΈΠΊΠ°ΡΠ½ΡΡ Π·Π°ΠΊΠ°ΡΠΎΠ² ΠΈ ΡΠ°ΡΠ»ΡΠΊΠΎΠ². ΠΠ΅ΡΠΎΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Β«ΠΠ°ΡΠ½ΠΈΠΊΠΈΒ» Π±Π΅Π³ΡΡ ΠΈΠ· Π³ΠΎΡΠΎΠ΄Π° β Π² Π΄Π΅ΡΠ΅Π²Π½Ρ Π‘ΠΈΠΌΠΎΠ½ΠΎΠ²ΠΎ ΠΏΠΎΠ΄ Π’Π²Π΅ΡΡΡ, Π² ΡΠΎΠ»Π½Π΅ΡΠ½ΡΡ ΠΠ½Π°ΠΏΡ, [β¦] ΠΠΎΠ»ΡΡΠ΅
ΠΠ°ΠΊ Ρ ΠΎΡΠΎΡΠΎ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΡΠ΅ΡΠΈΠ°Π» Β«ΠΠ΅ΡΒ»?
Π’Π΅ΡΡ ΠΏΠΎ ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌ: Π ΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ ΡΠ΅ΡΠΈΠ°Π» ΠΈΠ»ΠΈ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡ Π·Π°ΡΡΠ±Π΅ΠΆΠ½ΠΎΠ³ΠΎ?
ΠΠ°ΠΊ ΡΠ΅Π΄ΠΊΠ°Ρ ΠΏΡΠΈΡΠ° Π΄ΠΎΠ»Π΅ΡΠΈΡ Π΄ΠΎ ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ ΠΠ½Π΅ΠΏΡΠ°, ΡΠ°ΠΊ ΠΈ ΡΠ΅Π΄ΠΊΠΈΠ΅ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠ΅ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π·Π°ΡΡΠ±Π΅ΠΆΠ½ΡΡ ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π΅ ΡΠΎ ΡΡΠΎ ΡΡΠΏΠ΅ΡΠ½ΡΠΌΠΈ, Π½ΠΎ Ρ ΠΎΡΡ Π±Ρ Π½Π΅ ΠΏΡΠΎΠ²Π°Π»ΡΠ½ΡΠΌΠΈ. [β¦] ΠΠΎΠ»ΡΡΠ΅
Π’Π΅ΡΡ: ΠΡΠΎΠ²Π΅ΡΡ, Ρ ΠΎΡΠΎΡΠΎ Π»ΠΈ ΡΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ Π³Π΅ΡΠΎΠ΅Π² ΡΠ΅ΡΠΈΠ°Π»Π° βΠΠ°Π΄Π΅ΡΡΡΠ²ΠΎβ?
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌΒ β Ρ ΠΎΡΠΎΡΠΎ Π»ΠΈ Π²Ρ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π³Π΅ΡΠΎΠ΅Π² Β«ΠΠ°Π΄Π΅ΡΡΡΠ²Π°Β». ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ: ΠΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ΡΡ Π½Π° Π½ΠΎΠ²ΠΎΡΡΠΈ Π² VKΠΎΠ½ΡΠ°ΠΊΡΠ΅, ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ ΠΈ Telegram ΠΡΠΎΠΉΡΠΈ ΡΠ΅ΡΡ Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΎΠΏΡΠΎΡ ΠΡΠΎΠΉΡΠΈ [β¦] ΠΠΎΠ»ΡΡΠ΅
ΠΠ°ΠΊ Ρ ΠΎΡΠΎΡΠΎ ΡΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΡΠ΅ΡΠΈΠ°Π» Β«ΠΠ΅ ΡΠΎΠ΄ΠΈΡΡ ΠΊΡΠ°ΡΠΈΠ²ΠΎΠΉΒ»?
ΠΡΡ ΡΡΡΠ°Π½Π° Ρ Π·Π°ΠΌΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠ΄ΡΠ° ΡΠ»Π΅Π΄ΠΈΠ»Π° Π·Π° ΡΡΠ΄ΡΠ±ΠΎΠΉ ΠΠ°ΡΠΈ ΠΡΡΠΊΠ°ΡΠ΅Π²ΠΎΠΉ ΠΈΠ· ΡΠ΅ΡΠΈΠ°Π»Π° Β«ΠΠ΅ ΡΠΎΠ΄ΠΈΡΡ ΠΊΡΠ°ΡΠΈΠ²ΠΎΠΉΒ». Π Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅, Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ»ΠΈ ΡΠ΅Π±Ρ Π½Π° ΠΌΠ΅ΡΡΠ΅ ΠΊΡΠ°ΡΠΈΠ²ΠΎΠΉ, Π½ΠΎ Π³ΠΎΡΠ΄ΠΎΠΉ [β¦] ΠΠΎΠ»ΡΡΠ΅
ΠΡΠΎ Π²Ρ Π½Π° ΠΊΡΡ Π½Π΅? Π’Π΅ΡΡ
ΠΡΠΎ Π²Ρ Π½Π° ΠΊΡΡ Π½Π΅? Π’Π΅ΡΡ — ΡΠ΅ΡΡ Π½Π° Gastronom.ruΠΡΠ΅ ΠΌΡ ΠΈΠ³ΡΠ°Π΅ΠΌ ΡΠ°Π·Π½ΡΠ΅ ΡΠΎΠ»ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΆΠΈΠ·Π½ΠΈ, Π½ΠΎ ΠΈ Π½Π° ΠΊΡΡ Π½Π΅. ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π½Π°Ρ ΡΠ΅ΡΡ ΠΈ ΡΠ·Π½Π°ΠΉΡΠ΅, Π° ΠΊΡΠΎ Π½Π° ΠΊΡΡ Π½Π΅ Π²Ρ.
ΠΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΈ ΠΊ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ: shutterstock
Β
ΠΠΠ₯ΠΠΠΠ ΠΠΠ’ΠΠ ΠΠΠΠ«
4,5 0
ΠΡΠΎ Π²Ρ Π½Π° ΠΊΡΡ Π½Π΅? Π’Π΅ΡΡΒ ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π½Π°Ρ ΡΠ΅ΡΡ ΠΈ ΡΠ·Π½Π°ΠΉΡΠ΅, Π½Π° ΠΊΠ°ΠΊΡΡ ΠΊΡΡ ΠΎΠ½Π½ΡΡ ΡΡΠ²Π°ΡΡ Π²Ρ ΠΏΠΎΡ ΠΎΠΆΠΈ. Π’ΠΎΠ»ΡΠΊΠΎ Π±Π΅Π· ΠΎΠ±ΠΈΠ΄.
4,5 5
Π§Π°ΡΡΠΎ, ΠΊΡΠΏΠΈΠ² ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΊΡΡ ΠΎΠ½Π½ΡΠΉ Π³Π°Π΄ΠΆΠ΅Ρ, ΠΌΡ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°Π΅ΠΌ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ . ΠΠ»ΠΈ …
4,8 8
ΠΡΠΎ Π²Π°Ρ Π²ΡΠ°Π³ Π½Π° ΠΊΡΡ Π½Π΅?ΠΡΡ Π½Ρ — ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΌΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ: ΠΏΡΠΎΠΉΠ΄ΠΈΡΠ΅ ΡΠ΅ΡΡ ΠΈ ΡΠ·Π½Π°ΠΉΡΠ΅, ΠΊΡΠΎ Π²Π°ΠΌ Π½Π° ΠΊΡΡ Π½Π΅ Π·Π»Π΅ΠΉΡΠΈΠΉ Π²ΡΠ°Π³ …
}ΠΠ°ΠΊΡΡΡΡ
ΠΠ° ΠΠ΅Ρ
ΠΠ ΠΠΠ¬ ΠΠ 0Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² ΠΊΠΎΡΠ·ΠΈΠ½Ρ
ΠΠΠ ΠΠΠΠ 0ΠΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ Π½Π° Π½Π°Ρ
ΠΈ Π½Π°ΡΠΈ Π½ΠΎΠ²ΠΎΡΡΠΈ, ΡΠ΅ΡΠ΅ΠΏΡΡ ΠΈ ΡΠΎΠ²Π΅ΡΡ
Π£ΡΠ°, ΠΡ Ρ Π½Π°ΠΌΠΈ!
Test Kitchen
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Test Kitchen Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ²Π°ΡΠ΅Π½Π½ΡΡ ΠΊΠ½ΠΈΠ³ Π΄Π»Ρ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ Π½Π°Π±ΠΎΡΠΎΠ² ΡΠ΅ΡΡΠΎΠ²:
- ΠΠ°Π±ΠΎΡΡ ΡΠ΅ΡΡΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ kitchen. yml. Π‘ΠΌ. Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΉ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅.
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½ΡΡ ΠΊΠ½ΠΈΠ³ Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ² ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡ Chefβs ΠΡΠΎΠ΅ΠΊΡ ΠΠ΅Π½ΡΠΎ.
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ Test Kitchen:
- ΠΠ»Π°ΡΡΠΎΡΠΌΠ° β ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠ»ΠΈ ΡΠ΅Π»Π΅Π²Π°Ρ ΡΡΠ΅Π΄Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ΅ΡΡΠΈΡΡΠ΅ΡΡΡ ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π°. ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΠΌΡ
- ΠΡΠ°ΠΉΠ²Π΅Ρ β ΡΡΠΎ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ β ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ ΡΡ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π° ΡΡΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Chef Infra, Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½ΡΡ ΠΊΠ½ΠΈΠ³, Π·Π°ΠΏΡΡΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Chef Infra ΠΈ Ρ.Β Π΄.), Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΠ΄Π½ΠΎΠ³ΠΎ (ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ) ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠ½Π²Π΅ΡΠ³Π΅Π½ΡΠΈΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°
- ΠΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ β ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΊΠΎΠ΄ Chef Infra Client Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ chef-zero ΠΈΠ»ΠΈ chef-solo ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ
chef_zero
ΠΈchef_solo
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ
Bento
Bento is a Chef Software ΠΏΡΠΎΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² VirtualBox, Parallels ΠΈ VMware Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ Test Kitchen. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π’Π΅ΡΡ ΠΡΡ Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Bento, Ρ ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ±ΡΠ°Π½ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ HashiCorp Packer.
ΠΡΠ°ΠΉΠ²Π΅ΡΡ
Test Kitchen ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ Test Kitchen ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Π½Π° ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Amazon EC2, Google Compute Engine ΠΈ Microsoft Azure. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ VMware, Hyper-V ΠΈΠ»ΠΈ VirtualBox.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
Π Π°Π±ΠΎΡΠ°Ρ ΡΡΠ°Π½ΡΠΈΡ Chef ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Test Kitchen.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΈΠΌΠ΅ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π»Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΡΠ°ΠΉΠ» kitchen.yml Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Test Kitchen ΡΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ²Π°ΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΡΡΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π»Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ:
kitchen-azurerm | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Microsoft Azure. |
kitchen-cloudstack | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ CloudStack. |
kitchen-digitalocean | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ DigitalOcean. ΠΡΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠΈΠΈ Chef. |
kitchen-dokken | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Docker. ΠΡΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠΈΠΈ Chef. |
ΠΊΡΡ Π½Ρ-Π΄ΡΠΊ | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Windows PowerShell Desired State Configuration (DSC). |
kitchen-ec2 | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Amazon EC2. ΠΡΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠΈΠΈ Chef. |
kitchen-google | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Google Compute Engine. ΠΡΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠΈΠ΅ΠΉ Chef |
kitchen-hyperv | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Microsoft Hyper-V Server. ΠΡΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠΈΠΈ Chef. |
ΠΊΡΡ Π½Ρ-ΠΎΡΠΊΡΡΡΠ°Ρ ΡΠΌΠ° | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ OpenStack. ΠΡΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠΈΠΈ Chef. |
ΠΊΡΡ Π½Ρ-ΡΡΠΎΠΉΠΊΠ° | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ ΡΡΠΎΠΉΠΊΠΈ. |
ΠΊΡΡ Π½Ρ-Π±ΡΠΎΠ΄ΡΠ³Π° | ΠΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π΄Π»Ρ HashiCorp Vagrant. ΠΡΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠΈΠΈ Chef. |
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ InSpec
Test Kitchen ΡΠΎΠ·Π΄Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈΠ»ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Chef Infra Client ΠΊ ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ Chef Infra Client Ρ Π²Π°ΡΠΈΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΡΠ»ΠΈΠ½Π°ΡΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π°. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ, Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΏΠΎΡΡΡΠΎΠΈΠ»ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΅Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ. Test Kitchen ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅ΡΡΡ InSpec ΠΏΡΠΎΡΠΈΠ² Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½Π²Π΅ΡΠ³Π΅Π½ΡΠ½Π°Ρ ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π° Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π°ΡΠ΅ΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ.
ΠΊΡΡ Π½Ρ (ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ»)
ΠΊΡΡ Π½Ρ β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ Test Kitchen, ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ Chef Software. Π’Π΅ΡΡΠΎΠ²Π°Ρ ΠΊΡΡ Π½Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΈΠ² Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΡΠ΅ΡΡΠΎΠ² Π»ΡΠΊΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΅Π΄ΠΈΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎ, Π³Π°ΡΠ°Π½ΡΠΈΡΡΡ, ΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠΈΡΡΡΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΡΠ±Π°Ρ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π° Test Kitchen, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ kitchen
ΡΠΌ.
ΠΊΡΡ
Π½Ρ.
kitchen.yml
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ°ΠΉΠ» kitchen.yml, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Test Kitchen, Π²ΠΊΠ»ΡΡΠ°Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ, ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ, ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ Π½Π°Π±ΠΎΡΡ ΡΠ΅ΡΡΠΎΠ².
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ°ΠΉΠ»Π΅ kitchen.yml ΡΠΌ. ΠΊΡΡ Π½Ρ.yml.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΠ°Π·ΠΎΠ²Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΡΠ°ΠΉΠ»Π° kitchen.yml Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π΄ΡΠ°ΠΉΠ²Π΅Ρ: ΠΈΠΌΡ: ΠΈΠΌΡ_Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊ: ΠΈΠΌΡ: ΠΈΠΌΡ_ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ: ΠΈΠΌΡ: ΠΈΠΌΡ_Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΡΠ°Π½ΡΠΏΠΎΡΡ: ΠΈΠΌΡ: ΠΈΠΌΡ_ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ: - Π½Π°Π·Π²Π°Π½ΠΈΠ΅: ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°-Π²Π΅ΡΡΠΈΡ ΠΠΎΠ΄ΠΈΡΠ΅Π»Ρ: ΠΈΠΌΡ: ΠΈΠΌΡ_Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ - Π½Π°Π·Π²Π°Π½ΠΈΠ΅: ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°-Π²Π΅ΡΡΠΈΡ Π»ΡΠΊΡΡ: - ΠΈΠΌΡ: suite_name run_list: - ΡΠ΅ΡΠ΅ΠΏΡ[ΠΈΠΌΡ_ΠΏΠΎΠ²Π°ΡΠ΅Π½Π½ΠΎΠΉ_ΠΊΠ½ΠΈΠ³ΠΈ::ΠΈΠΌΡ_ΡΠ΅ΡΠ΅ΠΏΡΠ°] Π°ΡΡΠΈΠ±ΡΡΡ: {foo: "Π±Π°Ρ"} ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ: - ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ - ΠΈΠΌΡ: suite_name ΠΠΎΠ΄ΠΈΡΠ΅Π»Ρ: ΠΈΠΌΡ: ΠΈΠΌΡ_Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ run_list: - ΡΠ΅ΡΠ΅ΠΏΡ[ΠΈΠΌΡ_ΠΏΠΎΠ²Π°ΡΠ΅Π½Π½ΠΎΠΉ_ΠΊΠ½ΠΈΠ³ΠΈ::ΠΈΠΌΡ_ΡΠ΅ΡΠ΅ΠΏΡΠ°] Π°ΡΡΠΈΠ±ΡΡΡ: {foo: "Π±Π°Ρ"} Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ: - ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ
Π³Π΄Π΅:
ΠΈΠΌΡ_Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°
ΠΈΠΌΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ Π½Π°Π±ΠΎΡΠΎΠ² , ΠΊΡΠΎΠΌΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈΠ»ΠΈ Suite ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΄ΡΠ°ΠΉΠ²Π΅Ρprovisioner_name
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Chef Infra Client Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.chef_zero
ΠΈchef_solo
ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½ΡΡ ΠΊΠ½ΠΈΠ³verifier_name
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠ΅ΡΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊinspec
transport_name
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ°Π½ΡΠΏΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅.winrm
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡ Π² Windows. Π’ΡΠ°Π½ΡΠΏΠΎΡΡssh
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ.Π²Π΅ΡΡΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ
β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Test Kitchen. Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,ubuntu-20.04
ΠΈΠ»ΠΈΡΠ΅Π½ΡΠΎΡ-7
; Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ΅Π½Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΈ URL-Π°Π΄ΡΠ΅ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Ρ ΠΎΠ±Π»Π°ΡΠ½ΡΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ OpenStack ΠΈΠ»ΠΈ Amazon EC2 β ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΡ
ΠΌΠΎΠ³ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΎΠ±ΡΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ Chef Infra Server ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π½Π°Π±ΠΎΡΠΎΠ² ΡΠ΅ΡΡΠΎΠ²suites
β Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ Π½Π°Π±ΠΎΡΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡsuite_name
Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ°Ρ Π°ΡΠΏΠ΅ΠΊΡ ΠΏΠΎΠ²Π°ΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΠΈΠΉ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΆΠ΄ΡΠΉsuite_name
Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π°ΠΏΡΡΠΊΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:ΡΠΏΠΈΡΠΎΠΊ_Π·Π°ΠΏΡΡΠΊΠ°: - ΡΠ΅ΡΠ΅ΠΏΡ[ΠΈΠΌΡ_ΠΏΠΎΠ²Π°ΡΠ΅Π½Π½ΠΎΠΉ_ΠΊΠ½ΠΈΠ³ΠΈ::ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ] - ΡΠ΅ΡΠ΅ΠΏΡ[ΠΈΠΌΡ_ΠΏΠΎΠ²Π°ΡΠ΅Π½Π½ΠΎΠΉ_ΠΊΠ½ΠΈΠ³ΠΈ::ΠΈΠΌΡ_ΡΠ΅ΡΠ΅ΠΏΡΠ°]
ΠΠ°ΠΆΠ΄Π°Ρ Π³ΡΡΠΏΠΏΠ°
suite_name
ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ°ΡΡΠΈΠ±ΡΡΠ°
Π² Π²ΠΈΠ΄Π΅ Ρ ΡΡΠ°:{ foo: "Π±Π°Ρ" }
ΠΡΡΠΏΠΏΠ°
suite_name
ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ
, Π°Π²ΠΊΠ»ΡΡΠ°Π΅Ρ
Π² ΠΈΡΠΊΠ»ΡΡΠΈΡΡ/Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΎΠ΄Π½Ρ (ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅) ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ: - ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ - platform-version # Π΄Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°ΠΉΠ» kitchen.yml:
Π΄ΡΠ°ΠΉΠ²Π΅Ρ: ΠΈΠΌΡ: Π±ΡΠΎΠ΄ΡΠ³Π° ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊ: ΠΈΠΌΡ: ΡΠ΅Ρ-ΠΏΠΎΠ²Π°Ρ_Π½ΠΎΠ»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ: - ΠΈΠΌΡ: ΡΠ±ΡΠ½ΡΡ-20.04 - Π½Π°Π·Π²Π°Π½ΠΈΠ΅: ΡΠ΅Π½ΡΠΎΡ-8 - ΠΈΠΌΡ: Π΄Π΅Π±ΠΈΠ°Π½-10 Π»ΡΠΊΡΡ: - ΠΈΠΌΡ: ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ run_list: - ΡΠ΅ΡΠ΅ΠΏΡ[apache::httpd] ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ: - Π΄Π΅Π±ΠΈΠ°Π½-10
ΠΡΠΎΡ ΡΠ°ΠΉΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ HashiCorp Vagrant Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Test Kitchen, chef-zero Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° ΠΈ ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ² (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Ubuntu 20.04 ΠΈ CentOS 7.
Π Π°Π±ΠΎΡΠ° Ρ ΠΏΡΠΎΠΊΡΠΈ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ http_proxy
, https_proxy
ΠΈ ftp_proxy
ΠΎΡΠΌΠ΅ΡΠ΅Π½Ρ Test Kitchen Π΄Π»Ρ ΠΏΡΠΎΠΊΡΠΈ. Π€Π°ΠΉΠ» client.rb ΡΠΈΡΠ°Π΅ΡΡΡ Π²
ΠΈΡΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠΊΡΠΈ. ΠΡΠ»ΠΈ http_proxy
, https_proxy
,
ΠΈ ftp_proxy
ΡΠΊΠ°Π·Π°Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅ client. rb, Chef Infra Client
Π½Π°ΡΡΡΠΎΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ENV
Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΈΡ
(ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
) ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
http_proxy 'http://proxy.example.org:8080' http_proxy_user 'Ρ' http_proxy_pass 'ΠΠ°ΡΠΎΠ»Ρ1'
Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π°:
ENV['http_proxy'] = 'http://myself:[email protected]:8080'
Test Kitchen ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ http_proxy
ΠΈ https_proxy
Π² ΡΠ°ΠΉΠ» kitchen.yml
. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΡ
Π²ΡΡΡΠ½ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΈΡ
ΠΈΠ·
Π²Π°ΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ:
Π΄ΡΠ°ΠΉΠ²Π΅Ρ: ΠΈΠΌΡ: Π±ΡΠΎΠ΄ΡΠ³Π° ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊ: ΠΈΠΌΡ: ΡΠ΅Ρ-ΠΏΠΎΠ²Π°Ρ_Π½ΠΎΠ»Ρ # Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠΊΡΠΈ Π²ΡΡΡΠ½ΡΡ ΠΈΠ»ΠΈ http_proxy: 'http://ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ:ΠΏΠ°ΡΠΎΠ»Ρ@ΡΠ΅ΡΠ²Π΅Ρ:ΠΏΠΎΡΡ' https_proxy: 'http://ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ:ΠΏΠ°ΡΠΎΠ»Ρ@ΡΠ΅ΡΠ²Π΅Ρ:ΠΏΠΎΡΡ' # Π§ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ http_proxy: <%= ENV['http_proxy'] %> https_proxy: <%= ENV['https_proxy'] %>
ΠΡΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ ΠΏΡΠΎΠΊΡΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΡΠ΅ΠΌ Π¨Π΅Ρ. ΠΠ»Π°Π³ΠΈΠ½ Vagrant, vagrant-proxyconf, ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ ΠΏΡΠΎΠΊΡΠΈ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Π½ΡΡΡΠΈ ΠΠ.
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Test Kitchen:
- kitchen.ci
- ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ Ρ Test Kitchen
ΠΡΠ»Π° Π»ΠΈ ΡΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
ΠΠΎΠΌΠΎΠ³ΠΈΡΠ΅ Π½Π°ΠΌ ΡΠ»ΡΡΡΠΈΡΡ ΡΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ.
ΠΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π½Π° GitHub.
ΠΡΠ΅ Π΅ΡΠ΅ Π·Π°Π²ΠΈΡΠ°Π΅Ρ?
Π‘Π²ΡΠ·Π°ΡΡΡΡ ΡΠΎ ΡΠ»ΡΠΆΠ±ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΠ°Π΄Π°ΡΡ Π²ΠΎΠΏΡΠΎΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Ρ
ΠΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ»ΡΡΡΠΈΡΡ ΡΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ?
Π£ΠΊΠ°ΠΆΠΈΡΠ΅ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ ΠΎΡ Π³ΡΡΠΏΠΏΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ) ΠΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ»ΡΡΡΠΈΡΡ ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ? ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π±ΡΠ΄ΡΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Ρ. ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 100 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΎΡΠ·ΡΠ²!
Test Kitchen
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Test Kitchen Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ²Π°ΡΠ΅Π½Π½ΡΡ ΠΊΠ½ΠΈΠ³ Π΄Π»Ρ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ Π½Π°Π±ΠΎΡΠΎΠ² ΡΠ΅ΡΡΠΎΠ²:
- ΠΠ°Π±ΠΎΡΡ ΡΠ΅ΡΡΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ kitchen. yml. Π‘ΠΌ. Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΉ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅.
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½ΡΡ ΠΊΠ½ΠΈΠ³ Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ² ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡ Chefβs ΠΡΠΎΠ΅ΠΊΡ ΠΠ΅Π½ΡΠΎ.
ΠΠ»ΡΡΠ΅Π²ΡΠΌΠΈ ΠΏΠΎΠ½ΡΡΠΈΡΠΌΠΈ Test Kitchen ΡΠ²Π»ΡΡΡΡΡ:
- ΠΠ»Π°ΡΡΠΎΡΠΌΠ° β ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠ»ΠΈ ΡΠ΅Π»Π΅Π²Π°Ρ ΡΡΠ΅Π΄Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ΅ΡΡΠΈΡΡΠ΅ΡΡΡ ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π°
- ΠΠ°Π±ΠΎΡ β ΡΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Chef Infra, ΡΠ°ΠΉΠ» ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) Π°ΡΡΠΈΠ±ΡΡΡ ΡΠ·Π»Π°
- ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΠΌΡ
- ΠΡΠ°ΠΉΠ²Π΅Ρ β ΡΡΠΎ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π΄Π»Ρ ΠΊΠΎΠ½Π²Π΅ΡΠ³Π΅Π½ΡΠΈΠΈ Π½Π° ΡΡΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Chef Infra, Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½ΡΡ ΠΊΠ½ΠΈΠ³, Π·Π°ΠΏΡΡΠΊ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Chef Infra ΠΈ Ρ. Π΄.). on), Π½Π°ΡΡΡΠΎΠΉΡΠ΅ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ Π΅ΡΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΎΠ΄ΠΈΠ½ (ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ) ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠ½Π²Π΅ΡΠ³Π΅Π½ΡΠΈΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ½ΠΈΡΡΠΎΠΆΡΡΠ΅ ΡΡΠΎΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ
- ΠΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ β ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΊΠΎΠ΄ Chef Infra Client, Π»ΠΈΠ±ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ chef-zero, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ²Π°Ρ-ΡΠΎΠ»ΠΎ ΡΠ΅ΡΠ΅Π·
chef_zero
ΠΈchef_solo
ΠΏΡΠΎΠ²ΠΈΠ·ΠΎΡΠΎΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ
Bento
Bento β ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Chef Software, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² VirtualBox, Parallels ΠΈ VMware Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ Test Kitchen. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π’Π΅ΡΡ ΠΡΡ Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Bento, Ρ ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ±ΡΠ°Π½ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ HashiCorp Packer.
ΠΡΠ°ΠΉΠ²Π΅ΡΡ
Test Kitchen ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ Test Kitchen ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Π½Π° ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Amazon EC2, Google Compute Engine ΠΈ Microsoft Azure. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ VMware, Hyper-V ΠΈΠ»ΠΈ VirtualBox.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
Π Π°Π±ΠΎΡΠ°Ρ ΡΡΠ°Π½ΡΠΈΡ Chef ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Test Kitchen.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΈΠΌΠ΅ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π»Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΡΠ°ΠΉΠ» kitchen.yml Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Test Kitchen ΡΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ²Π°ΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΡΡΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π»Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°:
ΠΊΡΡ Π½Ρ-Π°Π·ΡΡΠ΅ΡΠΌ | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Microsoft Azure. |
kitchen-cloudstack | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ CloudStack. |
kitchen-digitalocean | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ DigitalOcean. ΠΡΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠΈΠΈ Chef. |
kitchen-dokken | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Docker. ΠΡΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠΈΠΈ Chef. |
kitchen-dsc | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Windows PowerShell Desired State Configuration (DSC). |
kitchen-ec2 | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Amazon EC2. ΠΡΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠΈΠΈ Chef. |
kitchen-google | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Google Compute Engine. ΠΡΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠΈΠ΅ΠΉ Chef |
kitchen-hyperv | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Microsoft Hyper-V Server. ΠΡΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠΈΠΈ Chef. |
kitchen-openstack | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ OpenStack. ΠΡΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠΈΠΈ Chef. |
ΠΊΡΡ ΠΎΠ½Π½ΡΠΉ ΡΡΠ΅Π»Π»Π°ΠΆ | ΠΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Rackspace. |
ΠΊΡΡ Π½Ρ-Π±ΡΠΎΠ΄ΡΠ³Π° | ΠΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π΄Π»Ρ HashiCorp Vagrant. ΠΡΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠΈΠΈ Chef. |
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ InSpec
Test Kitchen ΡΠΎΠ·Π΄Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈΠ»ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Chef Infra Client ΠΊ ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ Chef Infra Client Ρ Π²Π°ΡΠΈΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΡΠ»ΠΈΠ½Π°ΡΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π°. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ, Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΏΠΎΡΡΡΠΎΠΈΠ»ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΅Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ. Test Kitchen ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅ΡΡΡ InSpec ΠΏΡΠΎΡΠΈΠ² Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½Π²Π΅ΡΠ³Π΅Π½ΡΠ½Π°Ρ ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π° Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π°ΡΠ΅ΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ.
ΠΊΡΡ Π½Ρ (ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ»)
ΠΊΡΡ Π½Ρ β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ Test Kitchen, ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ Chef Software. Π’Π΅ΡΡΠΎΠ²Π°Ρ ΠΊΡΡ Π½Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΈΠ² Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΡΠ΅ΡΡΠΎΠ² Π»ΡΠΊΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΅Π΄ΠΈΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎ, Π³Π°ΡΠ°Π½ΡΠΈΡΡΡ, ΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠΈΡΡΡΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΡΠ±Π°Ρ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π° Test Kitchen, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ kitchen
ΡΠΌ.
ΠΊΡΡ
Π½Ρ.
kitchen.yml
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ°ΠΉΠ» kitchen.yml, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Test Kitchen, Π²ΠΊΠ»ΡΡΠ°Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ, ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ, ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ Π½Π°Π±ΠΎΡΡ ΡΠ΅ΡΡΠΎΠ².
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ°ΠΉΠ»Π΅ kitchen.yml ΡΠΌ. ΠΊΡΡ Π½Ρ.yml.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΠ°Π·ΠΎΠ²Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΡΠ°ΠΉΠ»Π° kitchen.yml Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π΄ΡΠ°ΠΉΠ²Π΅Ρ: ΠΈΠΌΡ: ΠΈΠΌΡ_Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊ: ΠΈΠΌΡ: ΠΈΠΌΡ_ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ: ΠΈΠΌΡ: ΠΈΠΌΡ_Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΡΠ°Π½ΡΠΏΠΎΡΡ: ΠΈΠΌΡ: ΠΈΠΌΡ_ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ: - Π½Π°Π·Π²Π°Π½ΠΈΠ΅: ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°-Π²Π΅ΡΡΠΈΡ ΠΠΎΠ΄ΠΈΡΠ΅Π»Ρ: ΠΈΠΌΡ: ΠΈΠΌΡ_Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ - Π½Π°Π·Π²Π°Π½ΠΈΠ΅: ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°-Π²Π΅ΡΡΠΈΡ Π»ΡΠΊΡΡ: - ΠΈΠΌΡ: suite_name run_list: - ΡΠ΅ΡΠ΅ΠΏΡ[ΠΈΠΌΡ_ΠΏΠΎΠ²Π°ΡΠ΅Π½Π½ΠΎΠΉ_ΠΊΠ½ΠΈΠ³ΠΈ::ΠΈΠΌΡ_ΡΠ΅ΡΠ΅ΠΏΡΠ°] Π°ΡΡΠΈΠ±ΡΡΡ: {foo: "Π±Π°Ρ"} ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ: - ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ - ΠΈΠΌΡ: suite_name ΠΠΎΠ΄ΠΈΡΠ΅Π»Ρ: ΠΈΠΌΡ: ΠΈΠΌΡ_Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ run_list: - ΡΠ΅ΡΠ΅ΠΏΡ[ΠΈΠΌΡ_ΠΏΠΎΠ²Π°ΡΠ΅Π½Π½ΠΎΠΉ_ΠΊΠ½ΠΈΠ³ΠΈ::ΠΈΠΌΡ_ΡΠ΅ΡΠ΅ΠΏΡΠ°] Π°ΡΡΠΈΠ±ΡΡΡ: {foo: "Π±Π°Ρ"} Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ: - ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ
Π³Π΄Π΅:
ΠΈΠΌΡ_Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°
ΠΈΠΌΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ Π½Π°Π±ΠΎΡΠΎΠ² , ΠΊΡΠΎΠΌΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈΠ»ΠΈ Suite ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΄ΡΠ°ΠΉΠ²Π΅Ρprovisioner_name
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Chef Infra Client Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.chef_zero
ΠΈchef_solo
ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½ΡΡ ΠΊΠ½ΠΈΠ³verifier_name
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠ΅ΡΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊinspec
transport_name
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ°Π½ΡΠΏΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅.winrm
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡ Π² Windows. Π’ΡΠ°Π½ΡΠΏΠΎΡΡssh
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ.Π²Π΅ΡΡΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ
β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Test Kitchen. Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡΠ»ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,ubuntu-20.04
ΠΈΠ»ΠΈΡΠ΅Π½ΡΠΎΡ-7
; Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ΅Π½Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΈ URL-Π°Π΄ΡΠ΅ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Ρ ΠΎΠ±Π»Π°ΡΠ½ΡΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ OpenStack ΠΈΠ»ΠΈ Amazon EC2 β ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΡ
ΠΌΠΎΠ³ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΎΠ±ΡΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ Chef Infra Server ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π½Π°Π±ΠΎΡΠΎΠ² ΡΠ΅ΡΡΠΎΠ²suites
β Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ Π½Π°Π±ΠΎΡΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡsuite_name
Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ°Ρ Π°ΡΠΏΠ΅ΠΊΡ ΠΏΠΎΠ²Π°ΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΠΈΠΉ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΆΠ΄ΡΠΉsuite_name
Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π°ΠΏΡΡΠΊΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:ΡΠΏΠΈΡΠΎΠΊ_Π·Π°ΠΏΡΡΠΊΠ°: - ΡΠ΅ΡΠ΅ΠΏΡ[ΠΈΠΌΡ_ΠΏΠΎΠ²Π°ΡΠ΅Π½Π½ΠΎΠΉ_ΠΊΠ½ΠΈΠ³ΠΈ::ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ] - ΡΠ΅ΡΠ΅ΠΏΡ[ΠΈΠΌΡ_ΠΏΠΎΠ²Π°ΡΠ΅Π½Π½ΠΎΠΉ_ΠΊΠ½ΠΈΠ³ΠΈ::ΠΈΠΌΡ_ΡΠ΅ΡΠ΅ΠΏΡΠ°]
ΠΠ°ΠΆΠ΄Π°Ρ Π³ΡΡΠΏΠΏΠ°
suite_name
ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ°ΡΡΠΈΠ±ΡΡΠ°
Π² Π²ΠΈΠ΄Π΅ Ρ ΡΡΠ°:{ foo: "Π±Π°Ρ" }
ΠΡΡΠΏΠΏΠ°
suite_name
ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ
, Π°Π²ΠΊΠ»ΡΡΠ°Π΅Ρ
Π² ΠΈΡΠΊΠ»ΡΡΠΈΡΡ/Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΎΠ΄Π½Ρ (ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅) ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ: - ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ - platform-version # Π΄Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°ΠΉΠ» kitchen.yml:
Π΄ΡΠ°ΠΉΠ²Π΅Ρ: ΠΈΠΌΡ: Π±ΡΠΎΠ΄ΡΠ³Π° ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊ: ΠΈΠΌΡ: ΡΠ΅Ρ-ΠΏΠΎΠ²Π°Ρ_Π½ΠΎΠ»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ: - ΠΈΠΌΡ: ΡΠ±ΡΠ½ΡΡ-20.04 - Π½Π°Π·Π²Π°Π½ΠΈΠ΅: ΡΠ΅Π½ΡΠΎΡ-8 - ΠΈΠΌΡ: Π΄Π΅Π±ΠΈΠ°Π½-10 Π»ΡΠΊΡΡ: - ΠΈΠΌΡ: ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ run_list: - ΡΠ΅ΡΠ΅ΠΏΡ[apache::httpd] ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ: - Π΄Π΅Π±ΠΈΠ°Π½-10
ΠΡΠΎΡ ΡΠ°ΠΉΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ HashiCorp Vagrant Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Test Kitchen, chef-zero Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° ΠΈ ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ² (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Ubuntu 20.04 ΠΈ CentOS 7.
Π Π°Π±ΠΎΡΠ° Ρ ΠΏΡΠΎΠΊΡΠΈ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ http_proxy
, https_proxy
ΠΈ ftp_proxy
ΠΎΡΠΌΠ΅ΡΠ΅Π½Ρ Test Kitchen Π΄Π»Ρ ΠΏΡΠΎΠΊΡΠΈ. Π€Π°ΠΉΠ» client.rb ΡΠΈΡΠ°Π΅ΡΡΡ Π²
ΠΈΡΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠΊΡΠΈ. ΠΡΠ»ΠΈ http_proxy
, https_proxy
,
ΠΈ ftp_proxy
ΡΠΊΠ°Π·Π°Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅ client. rb, Chef Infra Client
Π½Π°ΡΡΡΠΎΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ENV
Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΈΡ
(ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
) ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
http_proxy 'http://proxy.example.org:8080' http_proxy_user 'Ρ' http_proxy_pass 'ΠΠ°ΡΠΎΠ»Ρ1'
Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π°:
ENV['http_proxy'] = 'http://myself:[email protected]:8080'
Test Kitchen ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ http_proxy
ΠΈ https_proxy
Π² ΡΠ°ΠΉΠ» kitchen.yml
. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΡ
Π²ΡΡΡΠ½ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΈΡ
ΠΈΠ·
Π²Π°ΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ:
Π΄ΡΠ°ΠΉΠ²Π΅Ρ: ΠΈΠΌΡ: Π±ΡΠΎΠ΄ΡΠ³Π° ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊ: ΠΈΠΌΡ: ΡΠ΅Ρ-ΠΏΠΎΠ²Π°Ρ_Π½ΠΎΠ»Ρ # Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠΊΡΠΈ Π²ΡΡΡΠ½ΡΡ ΠΈΠ»ΠΈ http_proxy: 'http://ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ:ΠΏΠ°ΡΠΎΠ»Ρ@ΡΠ΅ΡΠ²Π΅Ρ:ΠΏΠΎΡΡ' https_proxy: 'http://ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ:ΠΏΠ°ΡΠΎΠ»Ρ@ΡΠ΅ΡΠ²Π΅Ρ:ΠΏΠΎΡΡ' # Π§ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ http_proxy: <%= ENV['http_proxy'] %> https_proxy: <%= ENV['https_proxy'] %>
ΠΡΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ ΠΏΡΠΎΠΊΡΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.