ΠΠΊΠΎ Π½Π΅ ΡΡΠ΅ ΠΎΠ±ΡΡΠ½Π°Π»ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ Π₯ΡΠΈΡΡΠΎ Π½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈ Π΅Π΄Π½ΠΎ -ΠΈΠ·Π»Π°Π³Π°Π½Π΅-/
ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ Π½Π° ΡΠ΅ΠΌΠ° Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΡΠ½Ρ Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡ. ΠΠΊΠΎ Π³ΠΎ ΠΈΠ·Π½Π΅ΡΠ΅ΠΌ ΠΈΠ·Π²ΡΠ½
ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΎ Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΡΠΎ ΠΏΡΡΠΊΠ°Π½Π΅ Π²
Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ, ΠΈΠ»ΠΈ "release-Π²Π°Π½Π΅". ΠΠ½Π°ΠΌ ΠΊΠ°ΠΊ ΡΠ΅ ΡΠΈΠ»ΠΈΠΉΡΠ²Π°Ρ ΡΠ΅Π»ΡΠΈ, ΠΈ
Π³Π»Π΅Π΄Π°ΠΌ ΠΊΠ°ΠΊ ΡΡΠ°Π²Π° ΠΏΡΠΈ .Π½Π΅Ρ-Π° (ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π·Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°). ΠΡΠ»Π½Π°
ΠΌΡΠ³Π»Π° ΠΌΠΈ Π΅ ΠΊΠ°ΠΊ ΡΡΠΎΡΡ Π½Π΅ΡΠ°ΡΠ° Π² Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ. ΠΠ°ΠΊ Π΅ Π² ΠΠΈΡΠΎΠ½? Π ΠΏΡΠΈ
ΠΠ₯Π? ΠΡΠ°ΡΠΈ Π±Π΅ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ» ΡΠ΅ΡΠ΅ΠΏΡΠΈ Π·Π° Π΄Π΅ΠΏΠ»ΠΎΠΉ Π½Π° ΠΠ₯Π ΠΏΡΠ΅Π· ΠΊΠ°ΠΏΠΈΡΡΡΠ°Π½ΠΎ. Π
Π΄ΠΆΠ°Π²ΡΡΠΈΡΠ΅ ΠΊΠ°ΠΊ Π΄Π΅ΠΏΠ»ΠΎΠΉΠ²Π°Ρ?
Π©Π΅ ΡΠ΅ ΡΠ°Π΄Π²Π°ΠΌ Π΄Π° ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΌΠ°Π»ΠΊΠΎ ΠΈΡΡΠΎΡΠΈΠΈ Π·Π° Π²Π°ΡΠΈΡ ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΠΏΡΡΠΊΠ°Π½Π΅ Π²
Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ.
ΠΠ΅ΡΡΠΎ
Π PHP ΡΠ²Π΅ΡΠ° Π½ΡΠΌΠ° ΡΡΠ²ΡΡΠ΄Π΅Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° deploy. ΠΡΠΊΠΎΠΈ ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΊΠ°ΠΏΠΈΡΡΡΠ°Π½ΠΎ,
Π½ΡΠΊΠΎΠΈ ΡΠ΅Ρ
Π½ΠΈ ΡΠΈ Π½Π΅ΡΠ°. ΠΡΠΌΠ° Π½ΠΈΡΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΎ ΠΈ Π³ΠΎΡΠΈΠ½ΠΎ.
> Π©Π΅ ΡΠ΅ ΡΠ°Π΄Π²Π°ΠΌ Π΄Π° ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΌΠ°Π»ΠΊΠΎ ΠΈΡΡΠΎΡΠΈΠΈ Π·Π° Π²Π°ΡΠΈΡ ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΠΏΡΡΠΊΠ°Π½Π΅ Π²
> Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ.
ΠΠ²Π° Π°ΡΠΏΠ΅ΠΊΡΠ° β ΡΠΈΠ»ΠΎΡΠΎΡΡΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ.
Π€ΠΈΠ»ΠΎΡΠΎΡΡΠΊΠΈ:
* ΠΡΠ΅ΠΊΠΈ, ΠΊΠΎΠΉΡΠΎ ΠΈΠΌΠ° commit ΠΏΡΠ°Π²Π° Π΄ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° deploy-Π²Π°. ΠΠΎΡΠΈ
ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠΈΡΠ΅.
* ΠΡΠΈΡΠΊΠΈ ΡΠ΅ ΠΎΠΊΡΡΠ°ΠΆΠ°Π²Π°Ρ Π΄Π° Π³ΠΎ ΠΏΡΠ°Π²ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ ΡΠ΅ΡΡΠΎ. Π’Π°ΠΊΠ° ΡΠ²ΠΈΠΊΠ²Π°Ρ Π΄Π° ΡΠΈ
ΡΠ΅ΠΏΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π΄ΡΠ΅Π±Π½ΠΈ *ΠΈ* ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ°.
* ΠΡΠΎΡΠ΅ΡΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅ΡΠ΅Π½. ΠΠ΄ΠΈΠ½ Π±ΡΡΠΎΠ½ ΠΈΠ»ΠΈ Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ°.
* ΠΡΠΎΡΠ΅ΡΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ Π±ΡΡΠ·. ΠΠ° ΡΠΎΠ²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠΈ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅
Π³Π»ΡΠΏΠΎΡΡΠΈ.
Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ:
* svn up Π½Π° Π²ΡΡΠΊΠ° ΠΌΠ°ΡΠΈΠ½Π°
* ΠΠΌΠ° ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ checkout, Π½ΡΠΌΠ° ΡΠΈΠΌΠ²ΠΎΠ»Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠΈ ΠΊΠ°ΠΏΠΈΡΡΡΠ°Π½ΠΎ. ΠΠΊΠΎ ΠΈΡΠΊΠ°Ρ
Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π΄Π° ΡΠΌΠ΅Π½ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅ΡΠ½ΠΎ ΠΌΠ΅ΠΆΡ ΡΡΠ°ΡΠΎ ΠΈ Π½ΠΎΠ²ΠΎ ΠΊΠΎΠΏΠΈΠ΅ ΠΈΠΌΠ° Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°:
= Π±Π°Π²Π΅Π½ β Π²ΡΠ΅ΠΊΠΈ ΠΏΡΡ checkout-Π²Π°Ρ Π½ΠΎΠ²ΠΎ ΠΊΠΎΠΏΠΈΠ΅ ΠΈ ΡΠΌΠ΅Π½ΡΡ ΡΡΡ ΡΡΠ°ΡΠΎΡΠΎ ΠΏΡΠΈ
deploy (ΡΠ°ΠΊΠ° ΠΏΡΠ°Π²ΠΈ ΠΊΠ°ΠΏΠΈΡΡΡΠ°Π½ΠΎ);
= ΡΠ»ΠΎΠΆΠ΅Π½ β ΠΏΠ°Π·ΠΈΡ Π΄Π²Π΅ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΊΠΎΠΏΠΈΡ. ΠΡΠΈ deploy svn up-Π²Π°Ρ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎΡΠΎ,
ΡΠΌΠ΅Π½ΡΡ Π³ΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅ svn up-Π²Π°Ρ Π΄ΡΡΠ³ΠΎΡΠΎ.
ΠΠΎΡΠ΅Π³Π° (ΠΏΡΠΎΡΠΈΠ²Π½ΠΎ Π½Π° ΠΌΠΎΠΈΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΈΡ), Π½Π΅ ΡΠΌΠ΅ ΠΈΠΌΠ°Π»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. ΠΠΊΠΎ Π½ΡΠΊΡΠ΄Π΅ ΠΈΠΌΠ°
ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡΡ svn up-Π°, ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ²ΡΡΡΡ ΡΠ΅ Π²Π°Π΄ΠΈ ΠΎΡ ΡΠΎΡΠ°ΡΠΈΡΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ.
* Π‘ΡΡΠ²ΡΡΠΈΡΠ΅ ΡΠ° ΡΠ²ΡΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ Π΅Π΄ΠΈΠ½ svn ΡΡΡΠ²ΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΄ΡΡΠΆΠΈ Π²ΡΠΈΡΠΊΠΈ
ΠΆΠ΅Π»Π°Π΅ΡΠΈ. ΠΠ°ΡΠΎΠ²Π° ΡΠ΅ Π½Π°Π»Π°Π³Π° Π΄Π° ΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ° Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ ΡΡΡ svnsync Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ
slave-Π° ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅.
* ΠΡΠΌΠ° svn externals, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΠΌΠ΅ ΠΈ ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΌΠΈΠ½Π΅ΠΌ ΠΏΡΠ΅Π·
svnsync. Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΠ±ΡΠ° ΠΈΠ΄Π΅Ρ ΡΠ°ΠΊΠ° ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅.
* ΠΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ svn externals, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠΈ ΠΏΡΠΈ Π½Π°Ρ ΠΈ ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ ΡΠ΅
deploy-Π²Π°Ρ, Π°ΠΊΠΎ Π½Π΅ ΡΠΈ Π³ΠΈ ΠΏΠΈΠΏΠ°Π»: ΠΏΡΠ΅Π²ΠΎΠ΄ΠΈ, ΡΠ΅ΠΌΠΈ, ΡΠ°ΠΊΠΈΠ²Π° Π½Π΅ΡΠ°.
* ΠΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°ΠΌΠ΅ Π½ΠΈΡΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° deploy. CSS ΠΈ JavaScript ΡΠ΅ ΠΌΠ°ΡΠΊΠ°Ρ
on-the-fly ΡΡΡ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎΡΠΎ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎ ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅. Π’Π°ΠΊΠ° ΡΠ΅ ΠΈΠ·Π±ΡΠ³Π²Π°Ρ ΡΡΠΏΠΈ
Π½Π΅ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΎΡΡΠ°Π²Π° Π±ΡΡΠ·.
* Π‘ΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° svn up Π·Π°Π²ΠΈΡΠΈ ΠΎΡ ΠΊΠ΅ΡΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΡΠΈ Π΄Π²Π° Π±Π»ΠΈΠ·ΠΊΠΈ
Π²ΡΠ² Π²ΡΠ΅ΠΌΠ΅ΡΠΎ deploy-Π° Π²ΡΠΎΡΠΈΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ·, Π·Π°ΡΠΎΡΠΎ Π²ΡΠΈΡΠΊΠΎ,
ΠΊΠΎΠ΅ΡΠΎ ΠΌΡ ΡΡΡΠ±Π²Π° Π½Π° svn up Π΅ Π² stat ΠΊΠ΅ΡΠ°.
* 10-20 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
Π Π·Π° Π½Π°ΠΊΡΠ°Ρ, deploy Π½Π° ΡΡ
Π΅ΠΌΠ° Π½Π° Π±Π°Π·Π°ΡΠ° ΠΎΡ Π΄Π°Π½Π½ΠΈ. ΠΠ°ΠΊΡΠ°ΡΠΊΠΎ β Π½Π° ΡΡΠΊΠ° Ρ Π»Π΅ΡΠ΅Π½
Π½Π°ΡΠΈΠ½ Π·Π° Π²ΡΡΡΠ°Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, Π°ΠΊΠΎ Π½Π΅ΡΠΎ ΡΠ΅ ΠΎΠΌΠ°ΠΆΠ΅.
ΠΠΌΠ°ΠΌΠ΅ ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ ΠΌΠΈΠ½Π°Π²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΡ Π΅Π΄Π½Π° ΡΡ
Π΅ΠΌΠ° Π½Π° Π΄ΡΡΠ³Π°. Π’Π°ΠΊΠ° ΡΠ΅ upgrade-Π²Π°
WordPress. ΠΠΎ ΠΏΡΠΈ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ° ΠΈ ΡΠ»ΠΎΠΆΠ½Π° Π±Π°Π·Π° Π½Π΅ΡΠ°ΡΠ° Π½Π΅ ΡΠ° ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΡΠΎΡΡΠΈ.
Π MySQL ALTER TABLE Π·Π°ΠΊΠ»ΡΡΠ²Π° ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° ΠΈ Π½Π΅ Π΄Π°Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ°Π²ΠΈ Π½ΠΈΡΠΎ ΠΏΠΎ Π½Π΅Ρ, Π΄ΠΎΠΊΠ°ΡΠΎ
Π½Π΅ ΡΠ²ΡΡΡΠΈ. ΠΠ΄ΠΈΠ½ Π³ΡΠ΅ΡΠ΅Π½ ALTER TABLE, ΠΏΠΎΡΠ»Π΅ ΡΡΠ» ΠΆΠΈΠ²ΠΎΡ replciation lag.
ΠΠ°ΡΠΎΠ²Π° ΠΌΠΈΠ½Π°Ρ
ΠΌΠ΅
Π½Π° ΠΏΠΎ-ΡΡΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π²ΡΠΈΡΠΊΠΈ Π΄Π° ΠΎΡΡΠ·Π½Π°Π²Π°Ρ ΠΈ ΠΏΠΎ-Π²Π°ΠΆΠ½ΠΎΡΠΎ β Π΄Π°
Π²ΠΈΠΆΠ΄Π°Ρ Π½Π°Π²ΡΠ΅ΠΌΠ΅
ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡΠ° ΡΠΈ. ΠΠ΅ΠΆΠ΄ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΅Π΄ΠΈΠ½ Π±ΠΎΡ Π²ΡΡΠ²ΠΈ ΠΈ ΡΠ»Π΅Π΄ΠΈ Π·Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²
ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΈ Π³ΠΈ Π΄ΡΡΠΆΠΈ Π² svn. ΠΠΎΡΠ»Π΅ ΠΌΠΎΠΆΠ΅ Ρ Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅Ρ Π½Π° ΠΏΡΠ΅Π΄Π½Π°
ΡΠ΅Π²ΠΈΠ·ΠΈΡ, Π°ΠΊΠΎ Π½Π΅ΡΠΎ Π½Π΅ ΡΠΈ Ρ
Π°ΡΠ΅ΡΠ²Π° ΠΈ Π½Π΅ ΠΈΡΠΊΠ°Ρ Π΄Π° ΡΠΈΡΠΊΡΠ²Π°Ρ Π΄Π° Π²ΡΡΡΠ°Ρ ΡΡΠ°ΡΠ°ΡΠ°
ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΡΡΠΊΠ°.
Π.
--
Subscription settings: http://groups.google.com/group/software-craftsmanship-bulgaria/subscribe?hl=bg
ΠΠ°ΠΉ-Π½Π°ΠΏΡΠ΅Π΄ ΠΈΡΠΊΠ°ΠΌ Π΄Π° Π²ΠΈ ΠΏΠΎΠ·Π΄ΡΠ°Π²Ρ Π·Π° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡΡΠ° - Π°ΠΊΠΎ ΡΡΠ΄Ρ ΠΏΠΎ
ΠΎΡΠ·ΠΈΠ²ΠΈΡΠ΅ Π½Π° Ρ
ΠΎΡΠ°ΡΠ° ΠΎΠΊΠΎΠ»ΠΎ ΠΌΠ΅Π½, ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ΅ ΡΠ΅ -ΠΈΠ·Π»ΠΎΠΆΠΈΠ»ΠΈ- Π΄ΠΎΡΡΠ°
ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½ΠΎ :-)
ΠΠ°ΠΊ Π½ΠΈΠ΅ Π΄Π΅ΠΏΠ»ΠΎΠΉΠ²Π°ΠΌΠ΅ PHP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
ΠΠΌΠΈ ΠΏΠΎΠ½Π΅ΠΆΠ΅ Π²ΡΠ΅ ΠΎΡΠ΅ Continuous integration ΡΡΠ΅ΠΊΠ° Π½Π΅ Π½ΠΈ Π΅ ΠΏΡΠ»Π΅Π½ (Π΄ΠΎΡΡΠ°
legacy code, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ΡΠ΅ΡΡΠ²Π°Π΅ΠΌ) Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΡΠ½ΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π½Π° 2
ΡΡΡΠΏΠΊΠΈ:
* ΠΡΡΠ΄ΠΆΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π²ΠΈΠ·ΠΈΠΈ Π² production Π±ΡΠ°Π½ΡΠ°
* Π‘ΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° PHING Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΡΠ½Ρ ΡΠΊΡΠΈΠΏΡ (http://phing.info)
PHING Π΅ ΠΏΠΎΡΡ Π½Π° Apache ANT, Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° PHP, ΠΊΠΎΠ΅ΡΠΎ Π³ΠΎ ΠΏΡΠ°Π²ΠΈ Π΄ΠΎΡΡΠ° Π»Π΅ΡΠ΅Π½
Π·Π° ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΡΡΠ°Π±ΠΈΠ»Π½Π° Π²Π΅ΡΡΠΈΡ Π»ΠΈΠΏΡΠ²Π°ΡΠ΅
SshTask, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΠΎΠ»Π·Π²Π° Π°ΠΊΠΎ ΠΈΡΠΊΠ°Ρ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π½Π°
ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° - ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΡΠ½Ρ. ΠΡΠΊΠΎΠΉ Π±Π΅ΡΠ΅
Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Ρ 30-40 ΡΠ΅Π΄Π° PHP ΠΊΠΎΠ΄, Π° ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ Π²Π»Π΅Π·Π΅ Π²
ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΡΡΠ°Π±ΠΈΠ»Π½Π° Π²Π΅ΡΡΠΈΡ.
ΠΡΠΌΠ° Π΄Π° ΡΠ΅ Π²ΠΏΡΡΠΊΠ°ΠΌ Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π·Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° PHING - ΠΊΠΎΠΉΡΠΎ
Π²Π΅ΡΠ΅ Π΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅Π³Π»Π΅Π΄Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠ°ΠΉΡΠ° ΠΈΠΌ -
ΡΠ°ΠΌΠΎ ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π° 2-3 ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π½Π΅ΡΠ°, ΠΊΠΎΠΈΡΠΎ Π½ΠΈΠ΅ ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π² Π½Π°ΡΠΈΡΠ΅ build
ΡΡΠ΅Π½Π°ΡΠΈΠΈ:
* ΠΠ·ΡΡΠΈΠ²Π°ΠΌΠ΅ ΠΏΡΠ΅Π΄Π½ΠΈΡ ΡΠΈΠ»ΠΈΠΉΠ· ΠΎΡ Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° - ΡΠ°Π·ΠΈ ΠΎΡ ΠΊΠΎΡΡΠΎ ΡΠ΅
ΡΡΠ°ΡΡΠΈΡΠ° Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΡΠ½ΡΠ° (DeleteTask)
* Π‘ΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ ΡΡΡΠ°ΡΠ° ΠΏΠ°ΠΏΠΊΠ° (MkdirTask)
* ΠΠΊΡΠΏΠΎΡΡΠΈΡΠ°ΠΌΠ΅ production Π±ΡΠ°Π½ΡΠ° (SvnExportTask)
* ΠΠΎΠ΄ΠΌΠ΅Π½ΡΠΌΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Ρ
ΠΏΡΠ΅Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΊΠΈΠ²Π° Π² *.properties ΡΠ°ΠΉΠ» (FileSet, ReflexiveTask,
ReplaceRegexp)
* ΠΠ°ΡΠ΅ΡΠΈΠΌ Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° (ScpTask, FtpDeployTask, ExecTask +
rsync)
ΠΡΠΎ ΡΡΠΊ ΡΡΠΌ ΠΏΠΎΡΡΠ½Π°Π» ΠΏΡΠΈΠΌΠ΅ΡΠ΅Π½ build XML ΡΠΊΡΠΈΠΏΡ ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΌΠΎΠΈΡΠ΅
ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΠΏΠΈΡΠ°Π½ Π½Π° CakePHP: http://pastebin.com/6cp75P1u
ΠΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ - ${...}, ΡΠ΅ Π·Π°ΠΌΠ΅ΡΡΠ²Π°Ρ Ρ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΈ ΠΎΡ
ΡΡΠΏΡΡΡΡΠ²Π°ΡΠΈΡ build.properties ΡΠ°ΠΉΠ», ΠΊΠΎΠΉΡΠΎ Π½Π΅ ΡΡΠΌ ΠΏΠΎΡΡΠ½Π°Π» (ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡΡ
Π΅ variable=value ΡΠ΅Π΄ΠΎΠ²Π΅)
ΠΠ΅ ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΈΠΌΠ»ΠΈΠ½ΠΊΠΎΠ²Π΅, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π· ΠΎΠΊΠΎΠ»ΠΎ 10-ΡΠ΅
ΡΠ΅ΠΊΡΠ½Π΄ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΠ°Π΅ Π΄Π΅ΠΏΠ»ΠΎΡΠΌΡΠ½ΡΠ° ΠΌΠΎΠΆΠ΅ Π½ΡΠΊΠΎΠΉ Π΄Π° Π²ΠΈΠ΄ΠΈ Π³ΡΠ΅ΡΠΊΠ°. Π ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ
ΡΠ»ΡΡΠ°ΠΈ ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ RSYNC ΠΊΠ°ΡΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ΅Π½ ΡΠ»ΠΎΠΉ, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΊ ΠΊΠ°ΡΠ²Π° ΡΠ°ΠΌΠΎ
Π΄Π΅Π»ΡΠΈΡΠ΅, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΎΡΠ²Π΅Π½ Π°ΠΊΠΎ Π½Π΅ Π΅ Π½Π°ΡΠ°Π»Π΅Π½ Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΡΠ½Ρ ΠΏΠΎΡΡΠΈ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ°ΠΌΠΎΡΠΎ
ΠΊΠ°ΡΠ²Π°Π½Π΅ Π½Π΅ ΠΎΡΠ½Π΅ΠΌΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 4-5 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
ΠΠΊΠΎ ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅ ΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ, ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ»Π±Π°ΠΊΠ²Π°ΠΌΠ΅
ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° ΡΠ΅Π²ΠΈΠ·ΠΈΡ ΠΎΡ Production Π±ΡΠ°Π½ΡΠ° ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉΠ²Π°ΠΌΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ.
ΠΠΌΠΈ ΡΠΎΠ²Π° Π΅, ΡΠ΅ ΡΠ΅ ΡΠ°Π΄Π²Π°ΠΌ Π½Π° ΠΊΡΠΈΡΠΈΠΊΠΈ ΠΈ ΠΈΠ΄Π΅ΠΈ Π·Π° ΡΡΡΠ²ΡΡΡΠ΅Π½ΡΡΠ²Π°Π½Π΅ Π½Π°
ΠΏΡΠΎΡΠ΅ΡΠ° Π½ΠΈ.
ΠΠΎΠ·Π΄ΡΠ°Π²ΠΈ,
ΠΡΠ°Π½Π°Ρ ΠΠ°ΡΠΈΠ»Π΅Π²
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π° ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ ΡΠΈ, ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΡΠ΅ ΠΎΠ±ΠΌΠΈΡΠ»Ρ Π²ΡΠΈΡΠΊΠΈ
Π°ΡΠΏΠ΅ΠΊΡΠΈ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΈ ΠΎΡΠ΅ Π²Π΅Π΄Π½ΡΠΆ.
On 04/26/2010 10:56 AM, Hristo Deshev wrote:
> ΠΠ΄ΡΠ°Π²Π΅ΠΉ, ΠΡΠ°Π½Π°ΡΠ΅,
>
> ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° ΠΏΠΎΡΡΠ°. ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΌΠΈ Π±Π΅ΡΠ΅ Π΄Π° Π½Π°ΡΡΠ°, ΡΠ΅ ΠΈΠΌΠ° ΠΏΠΎΡΡ Π½Π° Ant Π·Π°
> PHP. ΠΠ°Π»ΠΈ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊΠ²Π° Π΅ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Ant ΠΈ Maven Π·Π° Π΄ΠΆΠ°Π²Π°
> Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΡΠ½Ρ - Π°Π²ΡΠΎΡΡΡ Π½Π° Ant ΡΠ΅ ΠΈΠ·Π²ΠΈΠ½ΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π·Π° ΡΠΆΠ°ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ
> ΠΏΡΠΈΡΠΈΠ½ΠΈ Ρ ΡΠΎΠ·ΠΈ XML, Π° ΡΠΈΡ ΠΎΡ Maven ΠΎΡΠ΅ ΡΠΈ ΠΌΡΠ»ΡΠ°Ρ. :-)
>
Π£ΠΌΠΈΡΠ»Π΅Π½ΠΎ ΠΏΡΠ΅ΡΠΊΠΎΡΠΈΡ
ΠΠ°ΠΏΠΈΡΡΡΠ°Π½ΠΎ ΠΊΠ°ΡΠΎ Π²Π°ΡΠΈΠ°Π½Ρ, Π·Π°ΡΠΎΡΠΎ Π²Π»Π΅ΡΠ΅ ΡΡΡ ΡΠ΅Π±Π΅ ΡΠΈ
Π΄ΠΎΡΡΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΊΡΠΌ Π²ΡΠ½ΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ Π΄ΠΎΡΠΈ Π½Π΅ ΡΠ° Π½Π΅ΠΉΡΠΈΠ² Π·Π°
ΡΠΈΠΏΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π΄Π°, ΠΊΠΎΡΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ PHP ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Ρ Π½Π°
ΠΊΠΎΠΌΠΏΡΡΡΠΈΡΠ΅ ΡΠΈ. Π’ΠΎΠ²Π° ΠΎΡ Π΅Π΄Π½Π° ΡΡΡΠ°Π½Π° Π±ΠΈ Π·Π°ΡΠΎΡΠΌΠΎΠ·ΠΈΠ»ΠΎ ΡΠ΅ΡΡΠΏΠ²Π°Π½Π΅ΡΠΎ ΠΌΡ Π½Π°
Π²ΡΠΈΡΠΊΠΈ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅ΡΡΠΊΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, Π° ΠΎΡ Π΄ΡΡΠ³Π° - Π½ΡΠΌΠ° Π΄Π° Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° Π³ΠΎ
ΡΠ°Π·ΡΠΈΡΡΠ²Π°ΠΌΠ΅ ΠΊΠΎΠ³Π°ΡΠΎ/Π°ΠΊΠΎ ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ, Π·Π°ΡΠ°Π΄ΠΈ ΡΠΎΠ²Π°, ΡΠ΅ Π½Π΅ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π½Π°
Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅.
ΠΡΡΠ³Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΏΡΠΈΡΠΈΠ½Π° Π΅, ΡΠ΅ Phing ΠΌΠΎΠΆΠ΅ ΠΏΠΎΡΡΠΈ Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π΄ΡΡΠ³ΠΈ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΡΡΡ ΡΡΠ²ΡΠ΅ΠΌ ΠΊΠΎΠ·ΠΌΠ΅ΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Π±ΠΈΠ»Π΄-ΡΠ°ΠΉΠ»Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°
ΠΈ ΠΎΡ ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π°, ΠΊΠΎΠ΅ΡΠΎ Π½Π΅ Π±ΠΈ Π±ΠΈΠ»ΠΎ Π²ΡΡΠ½ΠΎ Π·Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°
Ρ ΠΠ°ΠΏΠΈΡΡΡΠ°Π½ΠΎ. ΠΠ΅ ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ°ΠΊΡΠ² Π±ΠΈΠ»Π΄, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΠ° ΠΎΡ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½Π°ΡΠ°
ΠΌΠ°ΡΠΈΠ½Π°, Π½ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡΡ ΡΠΈ Π±Π΅ΡΠ΅ Π½Π°Π»ΠΈΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ Π²Π·ΠΈΠΌΠ°Ρ
ΠΌΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°.
> ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ Π·Π° Π±ΠΈΠ»Π΄Π° ΡΠΈ, ΠΌΠΈ ΠΏΡΠ°Π²ΠΈ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½Π½ΠΎΡΠΎ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΠ½Π΅ Ρ
> ΡΠ΅Π³Π΅ΠΊΡΠΈ Π½Π° ΡΠ°Π·Π½ΠΈ ΠΏΡΠΎΠΏΡΡΡΠΈΡΠ° Π² ΠΊΠΎΠ½ΡΠΈΠ³ ΡΠ°ΠΉΠ». ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΠΌ ΡΠΎΠ²Π° ΡΠΈ ΡΡΡΠ±Π²Π°,
> Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ - ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³, ΠΏΡΠΎΠ΄ΡΠΊΡΡΠ½ ΠΈ Ρ.Π½.
> ΠΠ³ΡΠ°Π» ΡΡΠΌ Ρ ΡΠ°Π·ΠΈ ΠΈΠ³ΡΠ° ΠΈ ΡΠΏΠΎΡΠ΅Π΄ ΠΌΠ΅Π½ Π΅ ΠΏΠΎ-ΠΏΡΠΎΡΡΠΎ ΡΠ΅Π·ΠΈ Π½Π΅ΡΠ° Π΄Π° ΡΠ΅ Π΄ΡΡΠΏΠ½Π°Ρ
> Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΊΠΎΠ½ΡΠΈΠ³ ΡΠ°ΠΉΠ», ΠΊΠΎΠΉΡΠΎ ΠΈΠΌΠ° ΡΡΡΠΎΡΠΎ ΠΈΠΌΠ΅ - staging.config,
> production.config, etc. Π’Π°ΠΊΠ° ΠΏΡΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠΏΠΈΡΠ°Ρ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Ρ
> ΡΠ°ΠΉΠ»Π° Π΄ΠΎ therealconfig.config ΠΈ ΡΠΈ Π³ΠΎΡΠΎΠ².
ΠΡΠ°Π² ΡΠΈ ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡΡ Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π΅ Π΄ΠΎΡΡΠ°
ΠΏΠΎ-ΡΠΈΡΡ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅. ΠΠΎΡΡΠ° ΠΎΠ±ΠΎΡΠ½ΠΎΠ²ΠΊΠ° Π΅, ΡΠ΅ ΠΈΡΠΊΠ°Ρ
Π² ΡΠ»ΡΡΠ°ΠΈΡΠ΅ ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°
Π·Π°Π±ΡΡΠΊΠ°Π½ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 2-3 ΡΠ°ΠΉΠ»Π°, Π² ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ° environment-specific
Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π° ΠΌΠΎΠΆΠ΅ Ρ Π±ΡΡΠ· ΠΏΠΎΠ³Π»Π΅Π΄ Π² Π΅Π΄ΠΈΠ½ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ ΡΠ°ΠΉΠ» Π½Π° Π²ΡΠ΅ΠΊΠΈ Π΄Π° ΠΌΡ
ΡΡΠ°Π½Π΅ ΡΡΠ½ΠΎ, ΠΊΠΎΠΈ ΡΠ° ΡΠ΅ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠΎΡΠ½ΠΎ ΡΠ΅ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ. ΠΡΠΈ ΡΠ²ΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ Π·Π° Π΄Π°
ΡΡΠ°Π½Π΅ ΡΡΠ½ΠΎ ΠΊΠΎΠΈ ΡΠ° ΡΠ΅Π·ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π±ΠΈ Π±ΠΈΠ»ΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ Π³Π»Π΅Π΄Π° Π² ΠΎΡΠ΄Π΅Π»Π½ΠΈΡΠ΅
ΠΏΠ°ΠΏΠΊΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ. ΠΠ°ΠΊΡΠΎ Π²Π΅ΡΠ΅ ΠΏΠΈΡΠ°Ρ
, ΡΠ΅ ΡΠ΅Π²ΠΈΠ·ΠΈΡΠ°ΠΌ Π±ΠΈΠ»Π΄Π° ΡΠΈ.
>
> ΠΠ½Π°ΡΠ΅ ΡΠΈ ΠΈΠΌΠ°ΠΌ Π΅Π΄Π½ΠΎ ΠΌΡΡΠ½ΠΊΠ°Π½Π΅ Π·Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π½ΠΈ ΠΊΠ°ΡΠ°Ρ Π΄Π°
> ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΠΌΠ΅ Ρ XML...
>
> ΠΠΎΠ½Π΅ΠΆΠ΅ ΡΡΠΌ ΠΏΠΎΡΡΠΎΡΠΈΠ» ΡΡΡΠ°ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅ Ρ XML-Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π±ΠΈΠ»Π΄/Π΄Π΅ΠΏΠ»ΠΎΠΉ
> ΡΡΠ»ΠΎΠ²Π΅, Π²Π΅ΡΠ΅ ΡΡΠΌ 100% ΡΠ±Π΅Π΄Π΅Π½, ΡΠ΅ ΡΠ°ΠΊΠΈΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±ΡΠ³Π²Π°Ρ ΠΏΡΠΈ
> Π²ΡΡΠΊΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ. Ant/NAnt/MSBuild ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ (ΡΠ΅Π·ΠΈ, Ρ ΠΊΠΎΠΈΡΠΎ ΡΡΠΌ
> ΡΠ°Π±ΠΎΡΠΈΠ») ΡΠ° Π°Π΄ΡΠΊΠΈ Π΄ΠΎΠ±ΡΠΈ Π·Π° ΠΏΡΠ΅ΠΌΡΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π°ΡΠ°ΠΌ-Π½Π°ΡΠ°ΠΌ -
> Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈΡΠ΅ Π·Π° ΡΠ°ΠΉΠ»ΡΠ΅ΡΠΎΠ²Π΅ΡΠ΅ ΡΠ° Π΄ΠΎΡΡΠ° Π΄ΠΎΠ±ΡΠΈ ΠΈ Π²ΡΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°. ΠΠ±Π°ΡΠ΅, Π·Π°
> Π΄ΡΡΠ³ΠΈ Π½Π΅ΡΠ°, ΡΠ΅Π·ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΡΠ° ΠΏΡΠ»Π½Π° Π΄ΡΠΏΠΊΠ°. ΠΠΊΠΎ ΠΈΡΠΊΠ°Ρ Π½Π΅ΡΠΎ
> ΠΏΠΎ-ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ - Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ ΠΏΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° Π½Π΅ΡΠΎ ΠΎΡ ΡΠ°ΠΉΠ», ΡΠ΅ΡΠ΅Π½Π΅ ΠΎΡ ΠΏΠ°ΠΉΠΏ,
> Π²ΠΈΠΊΠ°Π½Π΅ Π½Π° .NET, COM ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠ²ΠΎΡΠΎ ΠΈ Π΄Π° Π΅ API, ΡΠΈ ΡΠ°ΠΌ - ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΠΏΠΈΡΠ΅Ρ
> ΡΠ²ΠΎΠΈ ΡΠ°ΡΠΊΠΎΠ²Π΅ Π΄ΠΎ ΠΏΠΎΠ»ΡΠ΄ΡΠ²Π°Π½Π΅. ΠΡΡΠ³ΠΎ ΡΠΈ Π΅ Π΄Π° ΠΈΠΌΠ°Ρ ΠΈΡΡΠΈΠ½ΡΠΊΠΈ Π΅Π·ΠΈΠΊ Π·Π°
> ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ - Π² ΡΠΎΠ²Π° ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Rake Π΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΈΡΡ ΡΠ°ΠΌΠΏΠΈΠΎΠ½ Π·Π° ΠΌΠ΅Π½.
>
> ΠΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΎΡΠΎ ΠΏΠΎΠΏΠ°Π΄Π½Π°Ρ
Π½Π° Rake ΠΏΠΎΡΡ Π·Π° PHP - Phake:
> http://github.com/jaz303/phake. ΠΠ΅ Π·Π½Π°ΠΌ ΠΊΠΎΠ»ΠΊΠΎ Π΅ Π·Π°Π²ΡΡΡΠ΅Π½ ΠΎΠ±Π°ΡΠ΅. ΠΠΎΠ½Π΅
> ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ.
>
ΠΠ° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅ Phake Π΅ Π·Π° PHP 5.3, ΠΊΠΎΠ΅ΡΠΎ Π½Π΅ ΠΌΠΎΠ³Π° Π΄Π° ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠ°ΠΌ, ΠΊΠΎΠ³Π° ΡΠ΅
ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π·Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ°ΠΈΡΡΠΈΠ½Π° Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π°ΠΊΠΎ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΡΡ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ Π±ΠΈΠ»Π΄ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ,
ΡΠ°ΠΊΠ° Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ Π½Π°ΡΡΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎ.
//Π.
ΠΡΠ΅Π· Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΡΡΠΌ ΠΎΠΏΠΈΡΠ²Π°Π» Π΄ΠΎΡΡΠ° Π²Π°ΡΠΈΠ°Π½ΡΠΈ... Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΊΠΎΠΈΡΠΎ (ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΈ
ΡΡΡΠ΄Π²Π°ΡΠΎ ΠΈ Π·Π° ΠΌΠ΅Π½) Π±Π΅ΡΠ΅, ΡΡΠ΅Π· svn up. Π Π°Π±ΠΎΡΠΈ...ΡΠ°ΠΊΠ°, ΡΠ΅ ΠΌΠΈΡΠ»Ρ, ΡΠ΅ Π½Π°
Π½Π΅Π³ΠΎ ΡΠ΅ ΡΠΈ ΠΎΡΡΠ°Π½Π° :)
Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΡΠΈ ΠΈΠΌΠ°ΠΌ 10-20 ΡΠ΅Π΄Π° ΠΊΠΎΠ΄ ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ²Π΅Π½ svn up, ΠΌΠΈ ΠΏΡΠ°Π²ΡΡ
post-update ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΠΊΠΈΡΠ΅.
ΠΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅, ΠΈΠΌΠ°ΠΌ Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡΡΠ° ΠΎΡ ΠΊΠΎΡΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Ρ, Π° Π½Π΅ ΠΎΠ±ΠΈΡΠ°ΠΌ Π΄Π°
ΠΌΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Ρ :)
> Subscription settings:http://groups.google.com/group/software-craftsmanship-bulgaria/subscr...
ΠΠ½ΠΎΠ³ΠΎ ΡΠ΅Π½Π½Π° Π΄ΠΈΡΠΊΡΡΠΈΡ! ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΌΠΈ Ρ
Π°ΡΠ΅ΡΠ° ΠΎΠ±ΠΎΡΠ½ΠΎΠ²ΠΊΠ°ΡΠ° Π·Π°ΡΠΎ ant Π΅ Π·Π»Π΅.
ΠΠ°ΠΏΡΠ»Π½ΠΎ ΡΡΠΌ ΡΡΠ³Π»Π°ΡΠ΅Π½ Ρ Π½Π΅Ρ. ΠΠ½Π°ΡΠ΅ Π½ΠΈΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΌΠΈΡΠ»Ρ, ΡΠ΅ ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅
capistrano, Π½ΠΎ ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅ ΡΡΠΌ Π°Π· ΡΠΎΠ·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π° Ρ ΡΠ΅Π·ΠΈ Π½Π΅ΡΠ°,
Π½Π΅ ΡΡΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°ΡΡΠ½ΠΎ. ΠΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π΄ΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΡΡΡΠΏΠΊΠ° Π½Π° ΠΏΡΡΠΊΠ°Π½Π΅
Π½Π° smoke ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ Π²ΡΡΡ
Ρ Π΄Π΅ΠΏΠ»ΠΎΠΉΠ½Π°ΡΠΈΡΠ΅ Π½Π΅ΡΠ° Π·Π° Π΄Π° ΡΠ΅
ΠΏΡΠΎΠ²Π΅ΡΠΈ Π΄Π°Π»ΠΈ Π½Π΅ΡΠΎ Π½Π΅ Π΅ ΠΈΠ·Π³ΡΡΠΌΡΠ»ΠΎ ΠΈ ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅ Π°ΠΊΠΎ Π½Π΅ΡΠΎ Π½Π΅ Π΅ Π½Π°ΡΠ΅Π΄ ΡΠ΅
ΠΏΡΠ°Π²ΠΈ rollback. ΠΠΊΠΎ Π½Π°ΡΡΠ° Π½Π΅ΡΠΎ ΠΏΠΎ-ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠ΅ ΠΏΠΈΡΠ° :-)
ΠΠΎΠ·Π΄ΡΠ°Π²ΠΈ,
ΠΠ°Π»ΡΠΎ
2010/5/2 Liubomir Petrov <liubomi...@gmail.com>:
Π‘ΠΏΡΠΈ ΠΊΠ°ΠΊΠ²ΠΎΡΠΎ ΠΏΡΠ°Π²ΠΈΡ ΠΈ ΡΠΈ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π»ΠΎΠ³Π²Π° ΠΏΡΠ΅Π· ssh ΠΊΡΠΌ
Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΡΠΈ ΡΡΡΠ²ΡΡΠΈ ΠΈ Π²ΠΈΠΊΠ° ΡΠΎΠ·ΠΈ ./svnup ΠΠ°ΠΈΡΡΠΈΠ½Π° ΡΠΈ ΡΡΡΠ±Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ
Π΄Π° deploy-Π²Π°Ρ Ρ *Π΅Π΄Π½ΠΎ* Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°. ΠΡΠΊΠΎΡ Π½ΠΎΡ ΡΠ΅ ΡΠ΅ ΡΡΡΠΏΠΈ
Π½Π΅ΡΠΎ, ΡΠ΅ ΡΠΈ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΈΡΠ½, ΡΠ΅ ΡΠ΅ ΡΠΈ ΡΠΈ Π·Π°Π±ΡΠ°Π²ΠΈΠ» ΠΈ ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠΈΡΠ΅,
Π½ΠΎ Π½ΡΠΌΠ° Π΄Π° ΡΠΈ Π·Π°Π±ΡΠ°Π²ΠΈΠ» ΠΊΠ°ΠΊ Π΄Π° Π²ΠΈΠΊΠ°Ρ ./svnup ΠΠ°ΠΊΡΠ°ΡΠΊΠΎ β Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ Π΄Π°
ΠΏΡΠ°Π²ΠΈΡ 3-4-5 Π½Π΅ΡΠ°, Π²ΡΠ΅ ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈΡ ΠΊΠΎΠ΅ Π΄Π° ΠΎΠ±ΡΡΠΊΠ°Ρ. ΠΠ· Π»ΠΈΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ
Π²ΡΡΠΊΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΠΎΠ±ΡΡΠΊΠ°ΠΌ Π½Π΅ΡΠΎ :-)
Π ΡΠΊΡΠΈΠΏΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π΄Π° ΡΠΈ Π²ΠΊΠ°ΡΠ°Ρ ΠΈ svn up-Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄-ΡΠΈΡΡΠ΅ΠΌΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ
ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΌΡ Π΄Π°Π²Π°Ρ ΠΏΠΎ-Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΊΠ°ΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈ ΡΠΎΠΉ
ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π° ΡΠ°ΠΌΠΎ Π½Π΅Ρ.
>
> ΠΠ½Π°ΡΠ΅ ΠΎΡ Π½ΡΠΊΡΠ΄Π΅ ΠΌΠΈ Ρ
ΡΡΠΌΠ½Π° ΠΈΠ΄Π΅ΡΡΠ° (ΠΌΠ°ΠΉ ΡΡΠΌ Π³ΠΎ ΡΠ΅Π» Π½ΡΠΊΡΠ΄Π΅) Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π°
> ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π² pkg (debian/ubuntu) ΠΈ Π»ΠΎΠΊΠ°Π»Π΅Π½ ΡΡΡΠ²ΡΡ, ΠΊΠΎΠΈΡΠΎ Π΄Π° Π³ΠΈ Π΄ΡΡΠΆΠΈ...
> Π΄ΠΎΡΡΠ° ΡΠ΄ΠΎΠ±Π½ΠΎ Π·Π° maintaince ΠΌΠΈ ΡΠ΅ ΡΡΡΡΠ²Π°, Π½ΡΠΊΠΎΠΉ ΠΎΡ Π²Π°Ρ ΠΏΡΠΎΠ±Π²Π°Π» Π»ΠΈ Π΅ Π½Π΅ΡΠΎ
> ΡΠ°ΠΊΠΎΠ²Π°?
ΠΡΠΎΠ±Π²Π°Π» ΡΡΠΌ Π³ΠΎ Π½Π°Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Ρ FreeBSD. Π£Π΄ΠΎΠ±Π½ΠΎ Π΅, Π·Π°ΡΠΎΡΠΎ ΠΈΠΌΠ°Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ,
Ρ ΠΊΠΎΠΈΡΠΎ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠΈ Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Ρ ΠΈ Π΄Π° ΠΎΠΏΡΠ°Π²ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°
ΠΎΠ±Π°ΡΠ΅ ΡΠ΅Π·ΠΈ Π½Π΅ΡΠ° Π½Π΅ ΡΠΈ ΡΡΡΠ±Π²Π°Ρ.
Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΡΡΡΠ²ΡΡΠΈΡΠ΅ ΡΠΈ ΡΠ° Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π΅Π΄Π½Π°ΠΊΠ²ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π΄Π° ΡΠ»Π°Π³Π°Ρ Π΅Π΄Π½ΠΎ ΠΈ
ΡΡΡΠΎ Π½Π΅ΡΠΎ Ρ Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΠΌΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΠΎΡΠΈ Π½Π° Π½ΡΠΊΠΎΠΉ ΡΡΡΠ²ΡΡ Π΄Π° ΡΠ»ΠΎΠΆΠΈΡ
Π½ΡΠΊΠΎΠΉ ΠΈΠ·Π»ΠΈΡΠ΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΈ Π·Π°ΡΠ»ΡΠΆΠ°Π²Π° Π·Π°ΡΠ°Π΄ΠΈ Π΅Π΄Π½Π°ΠΊΠ²ΠΎΡΡΡΠ°. ΠΠΊΠΎ ΠΏΡΠΊ Π½ΡΠΊΠΎΠΉ
ΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ ΡΠΈ Π΅ ΡΠΎΠΎΠΎΠ»ΠΊΠΎΠ²Π° Π³ΠΎΠ»ΡΠΌ ΡΠ΅ ΠΌΡ ΠΌΠΈΡΠ»ΠΈΡ ΡΠΎΠ³Π°Π²Π° :-)
>
> Π ΠΈ ΠΊΠ°ΡΠΎ Π·Π°Π³ΠΎΠ²ΠΎΡΠΈΡ
ΠΌΠ΅ Π·Π° ΡΠ΅ΡΠΌΠΈ... ΠΏΠΎ-ΡΠ΅ΡΠΈΠΎΠ·Π΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΌΠΈ ΡΠ΅ ΡΡΡΡΠ²Π° ΠΊΠ°ΠΊ Π΄Π°
> ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌ 100 ΡΡΡΠ²ΡΡΠ° Ρ up-to-date packages?
ΠΠΊΠΎ ΡΡΡΠ²ΡΡΠΈΡΠ΅ ΡΠ° Π΅Π΄Π½Π°ΠΊΠ²ΠΈ Π½ΡΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. ΠΡΡΠΊΠ°Ρ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ
Π°ΠΊΠΎ Π½ΡΠΌΠ° Π΄ΡΠ°ΠΌΠΈ, ΠΏΡΡΠΊΠ°Ρ ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΡΠ΅.
ΠΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠΈΠ»ΠΎΡΠΎΡΠΈΡΡΠ° Π½Π° Debian Stable Π΄Π°
ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Ρ ΡΡΠ»Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΡΠ΄ΠΊΠΎ. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, Π²Π°ΠΆΠ½ΠΈΡΠ΅ ΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠΈ Π³ΠΈ
ΠΏΡΠ΅-ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Ρ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Ρ ΡΠ°ΠΌ, Π½ΠΎ ΡΠ΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ° ΠΌΠ°Π»ΠΊΠΎ.
Π.
> Π€Π΅ΡΠΌΠ°, Π·Π° ΡΠ΅Π³Π° Π½Π΅...ΠΈΠΌΠ°ΠΌΠ΅ 3-4-5 ΡΡΡΠ²ΡΡΠ° ΠΏΠΎΠ΄ ΡΡΠΊΠ° ΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΠΌΠΈΡΠ»Ρ, ΡΠ΅ ΠΌΠΈ Π΅Π‘ΠΏΡΠΈ ΠΊΠ°ΠΊΠ²ΠΎΡΠΎ ΠΏΡΠ°Π²ΠΈΡ ΠΈ ΡΠΈ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π»ΠΎΠ³Π²Π° ΠΏΡΠ΅Π· ssh ΠΊΡΠΌ
> ΡΠΎΠ»ΠΊΠΎΠ²Π° ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π·Ρ ΠΎΠ΄Ρ ΠΈ Π΄Π° Π½Π°ΠΏΡΠ°Π²Ρ ./svnup
> ΠΡ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, ΡΠ°ΠΌΠ°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΊΠΎΡΡΠΎ Π°Π· ΠΏΠΎΠ»Π·Π²Π°ΠΌ...ΡΡΠΌ ΡΠ°Π·Π΄Π΅Π»ΠΈΠ»
> ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π»ΠΊΠΈ ""ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈΠΉΡΠ°"", ΠΊΠΎΠΈΡΠΎ ΡΠΏΠ΄Π΅ΠΉΡΠ²Π°ΠΌ ΠΈ ΡΠ»Π΅Π΄Ρ ΠΏΠΎ
> ΠΎΡΠ΄Π΅Π»Π½ΠΎ. ΠΠΎ-Π»Π΅ΡΠ½ΠΎ ΠΌΠΈ Π΅ :)
Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΡΠΈ ΡΡΡΠ²ΡΡΠΈ ΠΈ Π²ΠΈΠΊΠ° ΡΠΎΠ·ΠΈ ./svnup ΠΠ°ΠΈΡΡΠΈΠ½Π° ΡΠΈ ΡΡΡΠ±Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ
Π΄Π° deploy-Π²Π°Ρ Ρ *Π΅Π΄Π½ΠΎ* Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°. ΠΡΠΊΠΎΡ Π½ΠΎΡ ΡΠ΅ ΡΠ΅ ΡΡΡΠΏΠΈ
Π½Π΅ΡΠΎ, ΡΠ΅ ΡΠΈ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΈΡΠ½, ΡΠ΅ ΡΠ΅ ΡΠΈ ΡΠΈ Π·Π°Π±ΡΠ°Π²ΠΈΠ» ΠΈ ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠΈΡΠ΅,
Π½ΠΎ Π½ΡΠΌΠ° Π΄Π° ΡΠΈ Π·Π°Π±ΡΠ°Π²ΠΈΠ» ΠΊΠ°ΠΊ Π΄Π° Π²ΠΈΠΊΠ°Ρ ./svnup ΠΠ°ΠΊΡΠ°ΡΠΊΠΎ β Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ Π΄Π°
ΠΏΡΠ°Π²ΠΈΡ 3-4-5 Π½Π΅ΡΠ°, Π²ΡΠ΅ ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈΡ ΠΊΠΎΠ΅ Π΄Π° ΠΎΠ±ΡΡΠΊΠ°Ρ. ΠΠ· Π»ΠΈΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ
Π²ΡΡΠΊΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΠΎΠ±ΡΡΠΊΠ°ΠΌ Π½Π΅ΡΠΎ :-)
Π ΡΠΊΡΠΈΠΏΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π΄Π° ΡΠΈ Π²ΠΊΠ°ΡΠ°Ρ ΠΈ svn up-Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄-ΡΠΈΡΡΠ΅ΠΌΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ
ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΌΡ Π΄Π°Π²Π°Ρ ΠΏΠΎ-Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΊΠ°ΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈ ΡΠΎΠΉ
ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π° ΡΠ°ΠΌΠΎ Π½Π΅Ρ.
ΠΡΠΎΠ±Π²Π°Π» ΡΡΠΌ Π³ΠΎ Π½Π°Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Ρ FreeBSD. Π£Π΄ΠΎΠ±Π½ΠΎ Π΅, Π·Π°ΡΠΎΡΠΎ ΠΈΠΌΠ°Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ,
>
> ΠΠ½Π°ΡΠ΅ ΠΎΡ Π½ΡΠΊΡΠ΄Π΅ ΠΌΠΈ Ρ ΡΡΠΌΠ½Π° ΠΈΠ΄Π΅ΡΡΠ° (ΠΌΠ°ΠΉ ΡΡΠΌ Π³ΠΎ ΡΠ΅Π» Π½ΡΠΊΡΠ΄Π΅) Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π°
> ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π² pkg (debian/ubuntu) ΠΈ Π»ΠΎΠΊΠ°Π»Π΅Π½ ΡΡΡΠ²ΡΡ, ΠΊΠΎΠΈΡΠΎ Π΄Π° Π³ΠΈ Π΄ΡΡΠΆΠΈ...
> Π΄ΠΎΡΡΠ° ΡΠ΄ΠΎΠ±Π½ΠΎ Π·Π° maintaince ΠΌΠΈ ΡΠ΅ ΡΡΡΡΠ²Π°, Π½ΡΠΊΠΎΠΉ ΠΎΡ Π²Π°Ρ ΠΏΡΠΎΠ±Π²Π°Π» Π»ΠΈ Π΅ Π½Π΅ΡΠΎ
> ΡΠ°ΠΊΠΎΠ²Π°?
Ρ ΠΊΠΎΠΈΡΠΎ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠΈ Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Ρ ΠΈ Π΄Π° ΠΎΠΏΡΠ°Π²ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°
ΠΎΠ±Π°ΡΠ΅ ΡΠ΅Π·ΠΈ Π½Π΅ΡΠ° Π½Π΅ ΡΠΈ ΡΡΡΠ±Π²Π°Ρ.
Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΡΡΡΠ²ΡΡΠΈΡΠ΅ ΡΠΈ ΡΠ° Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π΅Π΄Π½Π°ΠΊΠ²ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π΄Π° ΡΠ»Π°Π³Π°Ρ Π΅Π΄Π½ΠΎ ΠΈ
ΡΡΡΠΎ Π½Π΅ΡΠΎ Ρ Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΠΌΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΠΎΡΠΈ Π½Π° Π½ΡΠΊΠΎΠΉ ΡΡΡΠ²ΡΡ Π΄Π° ΡΠ»ΠΎΠΆΠΈΡ
Π½ΡΠΊΠΎΠΉ ΠΈΠ·Π»ΠΈΡΠ΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΈ Π·Π°ΡΠ»ΡΠΆΠ°Π²Π° Π·Π°ΡΠ°Π΄ΠΈ Π΅Π΄Π½Π°ΠΊΠ²ΠΎΡΡΡΠ°. ΠΠΊΠΎ ΠΏΡΠΊ Π½ΡΠΊΠΎΠΉ
ΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ ΡΠΈ Π΅ ΡΠΎΠΎΠΎΠ»ΠΊΠΎΠ²Π° Π³ΠΎΠ»ΡΠΌ ΡΠ΅ ΠΌΡ ΠΌΠΈΡΠ»ΠΈΡ ΡΠΎΠ³Π°Π²Π° :-)
ΠΠΊΠΎ ΡΡΡΠ²ΡΡΠΈΡΠ΅ ΡΠ° Π΅Π΄Π½Π°ΠΊΠ²ΠΈ Π½ΡΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. ΠΡΡΠΊΠ°Ρ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ
>
> Π ΠΈ ΠΊΠ°ΡΠΎ Π·Π°Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΌΠ΅ Π·Π° ΡΠ΅ΡΠΌΠΈ... ΠΏΠΎ-ΡΠ΅ΡΠΈΠΎΠ·Π΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΌΠΈ ΡΠ΅ ΡΡΡΡΠ²Π° ΠΊΠ°ΠΊ Π΄Π°
> ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌ 100 ΡΡΡΠ²ΡΡΠ° Ρ up-to-date packages?
Π°ΠΊΠΎ Π½ΡΠΌΠ° Π΄ΡΠ°ΠΌΠΈ, ΠΏΡΡΠΊΠ°Ρ ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΡΠ΅.
ΠΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠΈΠ»ΠΎΡΠΎΡΠΈΡΡΠ° Π½Π° Debian Stable Π΄Π°
ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Ρ ΡΡΠ»Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΡΠ΄ΠΊΠΎ. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, Π²Π°ΠΆΠ½ΠΈΡΠ΅ ΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠΈ Π³ΠΈ
ΠΏΡΠ΅-ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Ρ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Ρ ΡΠ°ΠΌ, Π½ΠΎ ΡΠ΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ° ΠΌΠ°Π»ΠΊΠΎ.
Π.
On May 2, 8:30Β pm, Liubomir Petrov <liubomir.pet...@gmail.com> wrote:
> 2010/5/2 Liubomir Petrov <liubomir.pet...@gmail.com>: