ΠΠ½Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ, Π³Π΄Π΅ Ρ ΠΌΠΎΠ³Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠΉ Π΄ΠΎΠΊΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΌΠΎΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌΡ ΠΎΠ±ΡΠ°Π·Ρ Π΄ΠΎΠΊΠ΅ΡΠ°. ΠΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈΠ· ΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ.
β ΠΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ ΡΡΠΎΡ ΡΠ°Π·Π΄Π΅Π».
@timmydo Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΎΡΠ·ΡΠ². ΠΡ Π²Π΅Π΄Π΅ΠΌ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠΊΠΎΡΠΎ ΡΠ²ΡΠΆΠ΅ΠΌΡΡ Ρ Π²Π°ΠΌΠΈ.
ΠΡΠΈΠ²Π΅Ρ, @timmydo, Ρ Dockerfile
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ENV
ΠΏΠ΅ΡΠ΅Π΄ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π° Π² ΡΠ΅Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Azure? Π’Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡ
Π½Π΅ Π²ΠΈΠ΄Π΅Π»ΠΈ:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΡΠ΅Π΄Ρ Π² Π²Π°ΡΠΈΡ
ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°Ρ
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
https://docs.microsoft.com/en-us/azure/container-instances/container-instances-using-azure-container-registry
Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Π² ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Azure ΠΈΠ· ΡΠ΅Π΅ΡΡΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Azure
https://docs.microsoft.com/en-us/azure/container-instances/container-instances-environment-variables
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΡΡΡΠ»ΠΊΠΈ. Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ. Π ΠΌΠΎΠ΅ΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Ρ Π·Π°ΠΏΡΡΠΊΠ°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π²Π½ΡΡΡΠΈ ΡΠ»ΡΠΆΠ±Ρ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄. (Π― ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ ΡΠ»ΡΠΆΠ±Π° Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΌΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅Ρ HTTP-Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΠΏΠΎΡΡ 80)
Π― Π½Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ env Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ Π΄ΠΎΠΊΠ΅ΡΠΎΠ², ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΠΎΠΉ ΡΠ°ΠΉΠ» Π΄ΠΎΠΊΠ΅ΡΠΎΠ² Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ Π² ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ git, ΠΈ Ρ Π½Π΅ Ρ ΠΎΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΡΡΠ΄Π° ΡΠ΅ΠΊΡΠ΅ΡΡ. ΠΠΎΠ»Π°Π³Π°Ρ, Ρ ΠΌΠΎΠ³ Π±Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΡΠΎ, ΡΠΎΠ·Π΄Π°Π² Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π΄ΠΎΠΊΠ΅ΡΠΎΠ² Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ΅Π΄Ρ, Π½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π΅Π³ΠΎ Π² ΠΏΠΎΡΡΠ°Π» Azure (ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ azure?).
@timmydo ΠΠ³Π° , ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½Π΅ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ (ΠΏΠ°ΡΡ ΠΊΠ»ΡΡ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅), ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ environment
, Π° Π½Π΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ . ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»ΡΠΆΠ±Ρ Azure Key Vault
Π² ΡΠ²ΠΎΠ΅ΠΌ Dockerfile
Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π½ΠΎ Π²Π°ΠΌ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ tenant_id
, subscription_id
Ρ. Π. Π Π²Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ Dockerfile (Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΅ΡΠΈΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈΡ
Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» env
, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΡΡΡ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎ) .. ΠΠΎΡ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ ΡΡΠΎΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ:
Π‘ ΡΡΠ΅ΡΠΎΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠΌ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ (ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ±ΠΎΡΠΊΠΈ) Ρ VSTS Π² Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²:
ΠΠ°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΏΡΡΠΊΠ° Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π² Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²?
https://docs.microsoft.com/en-us/vsts/build-release/apps/cd/deploy-docker-webapp?view=vsts
ΠΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ VSTS, Π½ΠΎ ΡΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, ΠΎΠ±ΡΡΡΠ½ΡΡΡΠΈΠΉ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ ΡΠ°Π³ΠΎΠΌ VSTS, Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΎΠ± ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΠΎΠ² / ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ. ΠΠ°Π΄Π°ΡΠ° VSTS ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π·Π° Π΄ΠΎΠΊΠ΅ΡΠ° ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΡ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠΊΠ΅ΡΠ°, Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
Π― ΠΌΠΎΠ³ Π±Ρ Π²ΡΡΡΠΎΠΈΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ PowerShell Π³Π΄Π΅-Π½ΠΈΠ±ΡΠ΄Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠΊΠ΅ΡΠ° ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΡΡΠ°ΠΏΠ° ΡΠ±ΠΎΡΠΊΠΈ Π΄ΠΎΠΊΠ΅ΡΠ°, Π½ΠΎ ΡΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° Π²Π·Π»ΠΎΠΌ. Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π²ΠΈΠ½Π° Π΄ΠΎΠΊΠ΅ΡΠ°
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ kubernetes pod yaml Π² Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π° ΠΏΠΎΡΡΠ°Π»Π΅ Azure Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ, Π½ΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Ρ ΠΎΡΠΎΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ. ΠΡΠΎ Π½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌ ΠΌΠ΅ΡΡΠΎΠΌ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΌΡΡΠ»Π° ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ.
ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π°ΠΏΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ env vars ΠΊΠΎΠΌΠ°Π½Π΄Π΅ docker run Π½Π° ΠΏΠΎΡΡΠ°Π»Π΅ Azure?
@neilpeterson ΠΌΠΎΠΆΠ΅Ρ
Π― ΡΠ°ΠΌ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π» Ρ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π±ΡΡΡΡΠΎΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ --settings
ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ CLI.
--settings WEBSITES_PORT=8000
ΠΠ»ΡΠ΄Ρ Π½Π° ΠΏΠΎΡΡΠ°Π», Ρ Π½Π΅ Π²ΠΈΠΆΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΡΠΎΠ³ΠΎ. ΠΠ°ΠΊ ΡΠΊΠ°Π·Π°Π» @timmydo , ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Docker Compose ΠΈΠ»ΠΈ Kubernetes, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠΌΠΎΡΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°Π±ΠΎΡΠ°ΡΡ (Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ»).
version: '3'
services:
demo-env:
image: microsoft/sample-aks-helloworld
container_name: aks-helloworld
environment:
TITLE: test-environment-var
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΆΠΈΠ΄Π°Π» Π±Ρ ΡΠ΅Π³ΠΎ-ΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ, ΠΏΠΎΡ
ΠΎΠΆΠ΅Π³ΠΎ Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½Ρ --settings
CLI.
@ SyntaxC4 ΠΈ ΠΌΡΡΠ»ΠΈ ΠΏΠΎ ΡΡΠΎΠΌΡ
@timmydo ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
az webapp config appsettings set --name webapp-name --resource-group dev --settings DB_NAME = dbname DB_HOST = ourhost.database.windows.net DB_USER = dbuser DB_PASSWD = passwd WEBSITES_ENABLE_APP_SERVICE_STORAGE = true
ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΠΎΠ½ΠΈ Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ.
@saschwarz Π― Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ -e
Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ docker run
Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΡ
Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ?
@timmydo ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠ°Π·Π½ΡΡ
ΡΠΏΠΎΡΠΎΠ±Π°Ρ
Π·Π°ΠΏΡΡΠΊΠ° docker-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π² Azure? Π Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Ρ Π½Π΅ Π²ΡΠ΄Π°Ρ docker run
. Π― ΠΏΠΎΠΌΠ΅ΡΠ°Ρ ΠΎΠ±ΡΠ°Π· Π² Π½Π°Ρ ΡΠ°ΡΡΠ½ΡΠΉ ΡΠ΅Π΅ΡΡΡ Azure, Π²ΡΠ±ΠΈΡΠ°Ρ ΡΠ΅Π³ Π² ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅ WebApp Π½Π° ΠΏΠΎΡΡΠ°Π»Π΅ (ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· Azure cli), ΠΈ ΠΎΠ½ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π΅ΡΡΡ / Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²Π²Π΅Π΄Π΅Π½Π½ΡΠΌΠΈ Π² ΡΡΠ΅Π΄Ρ:
@timmydo ΠΡΠΏΡΠ°Π²ΡΡΠ΅ Π·Π°ΠΏΡΠΎΡ Π½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ Azure, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠ³Π»ΠΎ ΠΏΡΠΎΠ³ΠΎΠ»ΠΎΡΠΎΠ²Π°ΡΡ Π·Π° ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π° Π½Π°ΡΠ° Π³ΡΡΠΏΠΏΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ΄ΡΠΊΡΠ° ΠΌΠΎΠ³Π»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ Π·Π°ΠΊΡΡΡΠΈΡ ΡΡΠΎΠΉ ΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ Π΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π΅Π³ΠΎ, ΠΈ ΠΌΡ Ρ ΡΠ°Π΄ΠΎΡΡΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅.
ΠΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ, ΡΡΠΎ Ρ ΠΈΡΠΊΠ°Π» / ΠΈΡΠΊΠ°Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π½Π΅ΠΉ. Π ΠΊΠΎΠ½ΡΠ΅ Ρ Π·Π°Π΄Π°Π» Π²ΠΎΠΏΡΠΎΡ ΠΎ stackoverflow (https://stackoverflow.com/questions/50681821/deploy-azure-webapp-with-custom-container-environment-variables), ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ Π½Π° ΡΠ²ΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ.
Π ΠΌΠΎΠ΅ΠΌ ΠΎΠ±Ρ
ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΡΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΡΠ°ΠΉΠ» docker-compose, Π½ΠΎ Ρ docker-compose Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ (ΠΏΠΎΠΊΠ°) ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ACR.
Π’ΠΎΡ ΠΆΠ΅ Π²ΠΎΠΏΡΠΎΡ Π·Π΄Π΅ΡΡ. Π ΠΏΠΎΠΊΠ° Ρ ΠΏΡΠΎΡΡΠΎ Ρ ΠΎΡΡ ΡΠΊΠ°Π·Π°ΡΡ: ΡΡΠΏΠ°Ρ Π»Π°Π·ΡΡΡ!
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ,
ΠΡΠ±ΠΎΠΉ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ ΠΏΠΎ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅? ΠΡ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π² 2019 Π³ΠΎΠ΄Ρ, ΠΏΡΡΠ°ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ (ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ) Π² ΠΌΠΎΠΉ ΡΠ°ΡΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π· Π΄ΠΎΠΊΠ΅ΡΠ° ΡΠ΅ΡΠ΅Π· ΡΠ»ΡΠΆΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π² Azure ... ΡΡΠΎ Π²ΡΠ΅Π³Π΄Π° ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΡΡΡΠΎΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΠ°Π·Π΄Π΅Π»Π° Π² ΡΠ»ΡΠΆΠ±Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ env.
ΠΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΠΌΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ .nercore Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ ΠΈΠ· ACR, Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ»ΡΠΆΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΏΠΎΡΡΠ°Π»Π΅ Azure. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ Π²Π²ΠΎΠ΄ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ docker run
- ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ°Ρ ΠΈ Π²Π°ΠΆΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ.
Π― Π½Π΅ ΡΠ΄ΠΈΠ²Π»Π΅Π½, ΡΡΠΎ ΡΠ½ΠΎΠ²Π° Azure ΡΠ΄Π°Π΅ΡΡΡ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ ΡΡΠΎ-ΡΠΎ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π² ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π½Π° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΠΌΠ΅Π½Ρ ΡΡ ΠΎΠ΄ΠΈΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΎΠ±ΡΠ°Π·Ρ Π΄ΠΎΠΊΠ΅ΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Π΄ΠΎΠΊΠ΅ΡΠΎΠ² Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 5 ΠΌΠ΅ΡΡΡΠ΅Π² Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ...
ΠΠΎΠ³Π΄Π° Ρ ΡΠ»Π΅ΠΆΡ Π·Π° log stream
ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Ρ Π²ΠΈΠΆΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π΄Π»Ρ ΡΠ°ΡΠΊΡΡΡΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. Π₯ΠΎΡΡ ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ENV_VARS
, ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΡΠ΅ Π΅ΡΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ.
docker run -d -p 7312:80 --name container_name -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITE_SITE_NAME=appservice-name -e WEBSITE_AUTH_ENABLED=False -e PORT=80 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=appservice-name.azurewebsites.net -e WEBSITE_INSTANCE_ID=INSTANCE_ID -e HTTP_LOGGING_ENABLED=1 repo.azurecr.io/container:tag
ΠΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ Π²Π²ΠΎΠ΄ΡΡΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π°, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ. Π‘ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°Π΅Ρ.
Π£ Π²Π°Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ, ΠΈ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π΅ΡΠ½ΡΡΡ Π΅Π΅ Π² ΠΎΠ½Π»Π°ΠΉΠ½. ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡ Π½Π° 5 ΡΠ°ΡΠΎΠ²
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π’ΠΎΡ ΠΆΠ΅ Π²ΠΎΠΏΡΠΎΡ Π·Π΄Π΅ΡΡ. Π ΠΏΠΎΠΊΠ° Ρ ΠΏΡΠΎΡΡΠΎ Ρ ΠΎΡΡ ΡΠΊΠ°Π·Π°ΡΡ: ΡΡΠΏΠ°Ρ Π»Π°Π·ΡΡΡ!