แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜, แƒžแƒแƒขแƒแƒ แƒ แƒ—แƒ”แƒแƒ แƒ˜แƒ. แฒ แƒ แƒ›แƒแƒฎแƒ“แƒ แƒ—แƒแƒ แƒ›แƒ”แƒขแƒ˜ แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ?

แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒ—, แƒ”แƒก แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜แƒ SaaS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒ‘แƒšแƒแƒ“, แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ DevOps แƒ˜แƒœแƒŸแƒ˜แƒœแƒ แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒ˜แƒ แƒ”แƒ‘แƒแƒก แƒ˜แƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ’แƒ•แƒฎแƒ•แƒ“แƒ”แƒ‘แƒ แƒ—แƒแƒœแƒแƒ›แƒ”แƒ“แƒ แƒแƒ•แƒ” แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒกแƒแƒก.

แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ แƒจแƒ”แƒฅแƒ›แƒœแƒ”แƒก Heroku แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ›แƒ.

แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒ˜แƒฅแƒœแƒแƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ”แƒœแƒแƒ–แƒ” แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒš แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ–แƒ” แƒ“แƒ แƒ“แƒแƒ›แƒฎแƒ›แƒแƒ แƒ” แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ™แƒแƒ›แƒ‘แƒ˜แƒœแƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— (แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ˜, แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ แƒ˜แƒ’แƒ”แƒ‘แƒ˜, แƒฅแƒ”แƒจแƒ˜ แƒ“แƒ แƒ.แƒจ.).

แƒ›แƒแƒ™แƒšแƒ”แƒ“ แƒคแƒแƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ–แƒ”แƒช แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ”แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒ:

  1. Codebase โ€“ แƒ”แƒ แƒ—แƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒ‘แƒแƒ–แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ—แƒ•แƒแƒšแƒงแƒฃแƒ แƒก แƒแƒ“แƒ”แƒ•แƒœแƒ”แƒ‘แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒก โ€“ แƒ›แƒ แƒแƒ•แƒแƒšแƒฏแƒ”แƒ แƒแƒ“แƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ
  2. แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ - แƒ›แƒ™แƒแƒคแƒ˜แƒแƒ“ แƒ’แƒแƒ›แƒแƒแƒชแƒฎแƒแƒ“แƒ”แƒ— แƒ“แƒ แƒ˜แƒ–แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜
  3. แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ - แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ— แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก
  4. แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ โ€“ แƒ’แƒแƒœแƒ˜แƒฎแƒ˜แƒšแƒ”แƒ— แƒ“แƒแƒ›แƒฎแƒ›แƒแƒ แƒ” แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒ“แƒแƒœแƒแƒ›แƒแƒขแƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜
  5. แƒแƒจแƒ”แƒœแƒ”แƒ‘แƒ, แƒ’แƒแƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒšแƒ”แƒ‘แƒ, แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ โ€“ แƒ›แƒ™แƒแƒชแƒ แƒแƒ“ แƒ’แƒแƒ›แƒแƒงแƒแƒ•แƒ˜แƒ— แƒจแƒ”แƒ™แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ”แƒขแƒแƒžแƒ”แƒ‘แƒ˜
  6. ะŸั€ะพั†ะตััั‹ โ€“ แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒ”แƒ แƒ—แƒ˜ แƒแƒœ แƒ›แƒ”แƒขแƒ˜ แƒ›แƒแƒฅแƒแƒšแƒแƒฅแƒ”แƒแƒ‘แƒ˜แƒก แƒแƒ แƒ›แƒฅแƒแƒœแƒ” แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜
  7. แƒžแƒแƒ แƒขแƒ˜แƒก แƒจแƒ”แƒ™แƒ•แƒ แƒ โ€“ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ”แƒฅแƒกแƒžแƒแƒ แƒขแƒ˜ แƒžแƒแƒ แƒขแƒ˜แƒก แƒกแƒแƒ•แƒแƒšแƒ“แƒ”แƒ‘แƒฃแƒšแƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—
  8. แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒ˜แƒ–แƒ›แƒ˜ - แƒ’แƒแƒแƒคแƒแƒ แƒ—แƒแƒ•แƒ”แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—
  9. แƒ”แƒ แƒ—แƒฏแƒ”แƒ แƒแƒ“แƒแƒ‘แƒ - แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒแƒ“ แƒ’แƒแƒ–แƒแƒ แƒ“แƒ”แƒ— แƒกแƒแƒ˜แƒ›แƒ”แƒ“แƒแƒแƒ‘แƒ แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒกแƒฃแƒคแƒ—แƒ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒ—
  10. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ/แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒžแƒแƒ แƒ˜แƒขแƒ”แƒขแƒ˜ - แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก, แƒ“แƒแƒ“แƒ’แƒ›แƒ˜แƒก แƒ“แƒ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒ›แƒ แƒ แƒแƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜
  11. แƒฎแƒ”-แƒขแƒงแƒ” - แƒ˜แƒฎแƒ˜แƒšแƒ”แƒ— แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒแƒ“แƒ˜
  12. แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜ โ€“ แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜/แƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ ad hoc แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒ›แƒ”แƒขแƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ 12 แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ:

แƒ แƒ แƒแƒ แƒ˜แƒก แƒšแƒฃแƒ แƒฏแƒ˜-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ?

แƒšแƒฃแƒ แƒฏแƒ˜-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ แƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜แƒก แƒ›แƒ˜แƒฌแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒ•แƒ”แƒ  แƒฎแƒ”แƒ“แƒแƒ•แƒก แƒ แƒแƒ˜แƒ›แƒ” แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒแƒก แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒฎแƒ แƒ˜แƒ“แƒแƒœ. แƒกแƒฎแƒ•แƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒ— แƒ แƒแƒ› แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ แƒœแƒฃแƒšแƒ˜แƒ— downtime.

แƒ™แƒšแƒแƒกแƒ˜แƒ™แƒฃแƒ แƒ˜ BG Deploy แƒกแƒฅแƒ”แƒ›แƒ แƒฐแƒ’แƒแƒ•แƒก แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒกแƒฃแƒ แƒแƒ—แƒ–แƒ” แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜.

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

  • แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜ แƒแƒ แƒ˜แƒก 2 แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ แƒแƒ“ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ™แƒแƒ“แƒ˜แƒ—, แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒ—, แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒ— แƒ“แƒ แƒแƒ แƒ˜แƒก แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜ (แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜).
  • แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜ แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒแƒ•แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ— แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” (แƒ›แƒฌแƒ•แƒแƒœแƒ”).
  • แƒ˜แƒ› แƒ›แƒแƒ›แƒ”แƒœแƒขแƒจแƒ˜, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ, แƒ›แƒ—แƒ”แƒšแƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ’แƒแƒœแƒแƒฎแƒšแƒ“แƒ”แƒ‘แƒ แƒกแƒฎแƒ•แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” (ะกะธะฝะธะน), แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ›แƒŸแƒแƒ›แƒแƒ“ แƒแƒ แƒชแƒ”แƒ แƒ— แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒก แƒแƒ  แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก.
  • แƒ™แƒแƒ“แƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒšแƒฃแƒ แƒฏแƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒ แƒแƒฃแƒขแƒ”แƒ แƒก แƒ”แƒซแƒšแƒ”แƒ•แƒ แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒ›แƒฌแƒ•แƒแƒœแƒ” on ะกะธะฝะธะน แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜.
  • แƒแƒฎแƒšแƒ แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒฎแƒ”แƒ“แƒแƒ•แƒก แƒ™แƒแƒ“แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒก แƒšแƒฃแƒ แƒฏแƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜.
  • แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒžแƒ”แƒ แƒ˜แƒแƒ“แƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜, แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒ”แƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒก แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ ะกะธะฝะธะน แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒ“แƒ แƒ›แƒแƒ แƒชแƒฎแƒ˜แƒกแƒ แƒ“แƒ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜ แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒœแƒแƒ™แƒแƒ“แƒก แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒซแƒ•แƒ”แƒšแƒ˜ แƒกแƒขแƒแƒ‘แƒ˜แƒšแƒฃแƒ แƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒ— แƒ“แƒ แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ“แƒ˜ แƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒ”แƒ‘แƒ แƒ’แƒแƒ“แƒแƒกแƒ˜แƒœแƒฏแƒ•แƒ˜แƒกแƒ แƒ“แƒ แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.
  • แƒ“แƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒ‘แƒแƒšแƒแƒก, แƒ˜แƒ’แƒ˜ แƒ’แƒแƒœแƒแƒฎแƒšแƒ“แƒ”แƒ‘แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒ’แƒ–แƒ˜แƒ— แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜. แƒ“แƒ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜ แƒชแƒ•แƒšแƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒœแƒแƒ™แƒแƒ“แƒก แƒฃแƒ™แƒแƒœ แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜.

แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ แƒ“แƒ แƒ”แƒ แƒ—แƒ˜ แƒจแƒ”แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒ›แƒแƒก แƒแƒ แƒแƒœแƒแƒ˜แƒ แƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒแƒ  แƒฃแƒœแƒ“แƒ แƒฐแƒฅแƒแƒœแƒ“แƒ”แƒก.
แƒ›แƒแƒ’แƒ แƒแƒ› แƒ แƒแƒ“แƒ’แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒ•แƒชแƒฎแƒแƒ•แƒ แƒแƒ‘แƒ— แƒ—แƒแƒœแƒแƒ›แƒ”แƒ“แƒ แƒแƒ•แƒ” แƒกแƒแƒ›แƒงแƒแƒ แƒแƒจแƒ˜, แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒ”แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ™แƒšแƒแƒกแƒ˜แƒ™แƒฃแƒ  แƒกแƒฅแƒ”แƒ›แƒแƒจแƒ˜, แƒแƒ  แƒฏแƒ“แƒ”แƒ‘แƒ. แƒฉแƒแƒฌแƒ”แƒ แƒ”แƒ— แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒแƒ› แƒ“แƒ แƒแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒก แƒ›แƒแƒ’แƒ•แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒแƒ•แƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ”แƒ‘แƒ˜แƒ—.

แƒชแƒฃแƒ“แƒ˜ แƒ“แƒ แƒ™แƒแƒ แƒ’แƒ˜ แƒ แƒฉแƒ”แƒ•แƒ

แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ˜แƒก แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜: แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒงแƒ•แƒแƒœแƒ˜แƒšแƒ˜ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜ แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ”แƒ‘แƒก/แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒกแƒแƒช แƒ›แƒ” แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘, แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ แƒแƒ“ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒ•แƒ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ—.

แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒก แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒแƒ‘แƒ แƒแƒ›แƒ แƒ—แƒฃ แƒ˜แƒ› แƒ’แƒ–แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ˜แƒ™แƒ•แƒ”แƒ—แƒ”แƒ‘แƒ แƒ•แƒ”แƒ‘-แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒแƒกแƒ—แƒแƒœ (แƒ”แƒก แƒกแƒ˜แƒฃแƒ แƒžแƒ แƒ˜แƒ–แƒ˜แƒ), PHP-แƒ—แƒแƒœ แƒ“แƒ Docker-แƒ—แƒแƒœ.

แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒแƒ‘แƒ–แƒแƒชแƒ”แƒ‘แƒ˜ แƒ’แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒ— แƒคแƒแƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ แƒขแƒ˜แƒ• แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒฃแƒš แƒแƒฆแƒฌแƒ”แƒ แƒแƒก แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—; แƒ—แƒฃ แƒ’แƒกแƒฃแƒ แƒ— แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒ›แƒ”แƒขแƒ˜ แƒ—แƒ”แƒแƒ แƒ˜แƒ แƒแƒ› แƒ—แƒ”แƒ›แƒแƒ–แƒ”, แƒ›แƒ˜แƒฐแƒงแƒ”แƒ•แƒ˜แƒ— แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒ‘แƒ›แƒฃแƒšแƒ”แƒ‘แƒก แƒแƒ แƒ˜แƒ’แƒ˜แƒœแƒแƒšแƒฃแƒ  แƒฌแƒงแƒแƒ แƒแƒกแƒ—แƒแƒœ.

1. Codebase

แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— FTP แƒ“แƒ FileZilla แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ–แƒ” แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒแƒกแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ“, แƒแƒ  แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒแƒ— แƒ™แƒแƒ“แƒ˜ แƒกแƒฎแƒ•แƒ แƒแƒ“แƒ’แƒ˜แƒšแƒแƒก, แƒ’แƒแƒ แƒ“แƒ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”.

แƒžแƒ แƒแƒ”แƒฅแƒขแƒก แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒฃแƒœแƒ“แƒ แƒฐแƒฅแƒแƒœแƒ“แƒ”แƒก แƒ”แƒ แƒ—แƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒ‘แƒแƒ–แƒ, แƒแƒœแƒฃ แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒ“แƒ˜ แƒ”แƒ แƒ—แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ“แƒ˜แƒก แƒฌแƒแƒกแƒ•แƒšแƒ แƒกแƒแƒชแƒแƒ•แƒ˜. แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜ (แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ, แƒ“แƒแƒ“แƒ’แƒ›แƒ, แƒขแƒ”แƒกแƒขแƒ˜1, แƒขแƒ”แƒกแƒขแƒ˜2...) แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒœ แƒ™แƒแƒ“แƒก แƒ”แƒ แƒ—แƒ˜ แƒกแƒแƒ”แƒ แƒ—แƒ แƒกแƒแƒชแƒแƒ•แƒ˜แƒก แƒคแƒ˜แƒšแƒ˜แƒแƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ. แƒแƒ› แƒ’แƒ–แƒ˜แƒ— แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ•แƒแƒฆแƒฌแƒ”แƒ•แƒ— แƒ™แƒแƒ“แƒ˜แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒแƒ‘แƒแƒก.

2. แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜

แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”แƒ”แƒ‘แƒจแƒ˜ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒซแƒ˜แƒ แƒจแƒ˜. แƒ’แƒแƒœแƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ— แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ˜แƒก แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”แƒจแƒ˜ แƒ’แƒแƒ“แƒแƒขแƒแƒœแƒ˜แƒ—. แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ™แƒแƒ›แƒฃแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒ”แƒš แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”, แƒกแƒแƒ“แƒแƒช แƒ™แƒ˜แƒ“แƒ”แƒ• 20 แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก.

แƒžแƒ แƒแƒ”แƒฅแƒขแƒก แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒฃแƒœแƒ“แƒ แƒฐแƒฅแƒแƒœแƒ“แƒ”แƒก แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒแƒจแƒ™แƒแƒ แƒแƒ“ แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒ˜ แƒกแƒ˜แƒ (แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒจแƒ˜ แƒ•แƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒแƒ‘ แƒ’แƒแƒ แƒ”แƒ›แƒแƒกแƒแƒช). แƒงแƒ•แƒ”แƒšแƒ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ›แƒ™แƒแƒคแƒ˜แƒแƒ“ แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒฃแƒšแƒ˜ แƒ“แƒ แƒ˜แƒ–แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜.
แƒแƒ•แƒ˜แƒฆแƒแƒ— แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“ แƒ“แƒแƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒขแƒ”แƒ‘แƒแƒก ะธ docker.

แƒ“แƒแƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒขแƒ”แƒ‘แƒแƒก โ€” แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒ›แƒ”แƒœแƒ”แƒฏแƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒแƒ— แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ”แƒ‘แƒ˜ PHP-แƒจแƒ˜. แƒ™แƒแƒ›แƒžแƒแƒ–แƒ˜แƒขแƒแƒ แƒ˜ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ›แƒ™แƒแƒชแƒ แƒแƒ“ แƒแƒœ แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒšแƒแƒ“ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒ™แƒแƒคแƒ˜แƒแƒ“ แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜. แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก 20 แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ“แƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒก แƒ”แƒฅแƒœแƒ”แƒ‘แƒ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ”แƒ‘แƒ˜แƒก แƒžแƒ”แƒ แƒกแƒแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒ แƒ›แƒ”แƒแƒ แƒ˜แƒกแƒ’แƒแƒœ แƒ“แƒแƒ›แƒแƒฃแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒ”แƒšแƒ˜.

docker โ€” แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ— แƒ“แƒ แƒ’แƒแƒ›แƒแƒงแƒแƒ— แƒ’แƒแƒ แƒ”แƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก. แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒ˜แƒกแƒ”แƒ•แƒ” แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒแƒ›แƒžแƒแƒ–แƒ˜แƒขแƒแƒ แƒ—แƒแƒœ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฃแƒคแƒ แƒ แƒกแƒแƒคแƒฃแƒซแƒ•แƒšแƒ˜แƒแƒœแƒแƒ“, แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒœแƒ•แƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ—, แƒ—แƒฃ แƒ แƒแƒกแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ. แƒแƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— PHP-แƒ˜แƒก แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ, แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜, แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒ˜ แƒแƒ แƒแƒคแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒ“แƒ แƒ แƒแƒช แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜แƒ, แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒ”แƒšแƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒกแƒ แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒกแƒ แƒ“แƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜ แƒฉแƒแƒ แƒ”แƒ•แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒแƒœแƒฃ Docker-แƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ— แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒš แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒงแƒ•แƒ”แƒšแƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒก แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ แƒแƒ“ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ˜ แƒ“แƒ แƒกแƒ แƒฃแƒšแƒ˜แƒแƒ“ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒ แƒ”แƒ›แƒ.

3. แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ

แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ— แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒ”แƒ‘แƒแƒ“ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒ™แƒแƒ“แƒจแƒ˜. แƒชแƒแƒšแƒ™แƒ” แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒ”แƒ‘แƒ˜ แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒชแƒแƒšแƒ™แƒ” แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ“แƒแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒฃแƒจแƒฃแƒแƒšแƒแƒ“ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ‘แƒ˜แƒ–แƒœแƒ”แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒแƒจแƒ˜ if else แƒ™แƒแƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ - แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ”แƒ แƒ—แƒแƒ“แƒ”แƒ แƒ—แƒ˜ แƒ’แƒ–แƒ, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ“แƒ”แƒ‘แƒแƒ“แƒ”แƒก. แƒ˜แƒ“แƒ”แƒแƒšแƒฃแƒ  แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ˜แƒแƒ แƒแƒก แƒ’แƒแƒ แƒ”แƒ›แƒแƒก แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒจแƒ˜ (env vars).

แƒแƒœแƒฃ, แƒ›แƒแƒจแƒ˜แƒœแƒแƒช แƒ™แƒ˜, แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ˜แƒœแƒแƒฎแƒแƒ•แƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒก .config.prod .config.local แƒ“แƒ แƒ’แƒแƒ“แƒแƒแƒ แƒฅแƒ›แƒ”แƒ•แƒ— แƒ›แƒแƒ— แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก .config-แƒ–แƒ” (แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ, แƒกแƒแƒ˜แƒ“แƒแƒœแƒแƒช แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ™แƒ˜แƒ—แƒฎแƒฃแƒšแƒแƒ‘แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก) - แƒ”แƒก แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒกแƒฌแƒแƒ แƒ˜ แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒกแƒแƒฏแƒแƒ แƒแƒ“ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒกแƒแƒฌแƒแƒ แƒ›แƒแƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ’แƒแƒขแƒ”แƒฎแƒ˜แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ. แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒจแƒ”แƒœแƒแƒฎแƒฃแƒšแƒ˜ แƒฃแƒจแƒฃแƒแƒšแƒแƒ“ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜ (CI/CD) แƒ“แƒ แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒแƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒกแƒ—แƒ•แƒ˜แƒก, แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ’แƒแƒ แƒ”แƒ›แƒแƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก.

4. แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ›แƒฎแƒแƒ แƒ˜แƒก แƒ›แƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ

แƒ˜แƒงแƒแƒ•แƒ˜แƒ— แƒ›แƒ™แƒแƒชแƒ แƒแƒ“ แƒ›แƒ˜แƒ‘แƒ›แƒฃแƒšแƒ˜ แƒ’แƒแƒ แƒ”แƒ›แƒแƒกแƒ—แƒแƒœ, แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜ แƒ˜แƒ›แƒแƒ•แƒ” แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜.

แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜, แƒ”แƒก แƒžแƒฃแƒœแƒฅแƒขแƒ˜ แƒ›แƒ™แƒแƒชแƒ แƒแƒ“ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒก, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ› แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒ แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ“แƒ, แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒแƒ แƒแƒคแƒ แƒ˜แƒก แƒ›แƒแƒ›แƒขแƒแƒœแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ.

แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒ’แƒแƒ แƒ” แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ—แƒแƒœ, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒ แƒ˜แƒ’แƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ˜, แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜, แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ แƒแƒ’แƒแƒ แƒช แƒแƒ“แƒ’แƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ’แƒแƒ แƒ”แƒ›แƒแƒกแƒ—แƒ•แƒ˜แƒก, แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ›แƒฎแƒแƒ แƒ˜แƒก/แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒ›แƒแƒกแƒ—แƒ•แƒ˜แƒก. แƒกแƒฎแƒ•แƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒ— แƒ แƒแƒ› แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ“แƒ แƒแƒก, แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒก แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒ—, แƒจแƒ”แƒ›แƒ˜แƒซแƒšแƒ˜แƒ แƒจแƒ”แƒ•แƒชแƒ•แƒแƒšแƒ แƒ–แƒแƒ แƒ”แƒ‘แƒ˜ #1 แƒ‘แƒแƒ–แƒแƒ–แƒ” แƒ‘แƒแƒ–แƒ˜แƒ— #2 แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒแƒœ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒฌแƒ˜แƒœแƒกแƒ•แƒšแƒ˜แƒก แƒงแƒฃแƒ แƒ”แƒ‘แƒ, แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒกแƒ™แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒ— แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ แƒ แƒแƒ˜แƒ›แƒ” แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒ˜แƒ— แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒฅแƒ”แƒจแƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

5. แƒแƒจแƒ”แƒœแƒ”แƒ‘แƒ, แƒ’แƒแƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒšแƒ”แƒ‘แƒ, แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ

แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒ’แƒฅแƒแƒœแƒ“แƒ”แƒ— แƒ™แƒแƒ“แƒ˜แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒ•แƒ”แƒ แƒกแƒ˜แƒ, แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒฃแƒ™แƒแƒœ แƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒแƒœแƒกแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒจแƒ”แƒ•แƒกแƒ”แƒ‘แƒ. แƒ•แƒ˜แƒœแƒช แƒคแƒ˜แƒฅแƒ แƒแƒ‘แƒก, แƒ แƒแƒ› แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒ— แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒ™แƒแƒ“แƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ, แƒชแƒฃแƒ“แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒกแƒขแƒ˜แƒ!

แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ”แƒขแƒแƒžแƒ˜ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ˜แƒกแƒ’แƒแƒœ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜.

แƒ’แƒฅแƒแƒœแƒ“แƒ”แƒ— แƒฃแƒ™แƒแƒœ แƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒแƒœแƒกแƒ˜. แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒ แƒ”แƒšแƒ˜แƒ–แƒ”แƒ‘แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒซแƒ•แƒ”แƒšแƒ˜ แƒแƒกแƒšแƒ”แƒ‘แƒ˜แƒ— (แƒฃแƒ™แƒ•แƒ” แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒ˜ แƒ“แƒ แƒ‘แƒ แƒซแƒแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒ–แƒแƒ“) แƒจแƒ”แƒœแƒแƒฎแƒฃแƒšแƒ˜ แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ—, แƒ แƒแƒ—แƒ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒจแƒ”แƒซแƒšแƒแƒ— แƒซแƒ•แƒ”แƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ. แƒแƒœแƒฃ แƒžแƒ˜แƒ แƒแƒ‘แƒ˜แƒ—แƒแƒ“ แƒแƒ แƒ˜แƒก แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ” แƒ แƒ”แƒšแƒ˜แƒ–แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ” แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”แƒ“แƒ แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ˜แƒก แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒฃแƒ แƒ˜ แƒ‘แƒ›แƒฃแƒšแƒ˜แƒ— แƒแƒฎแƒแƒš แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒแƒกแƒ—แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒ”แƒ•แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— แƒ แƒ”แƒšแƒ˜แƒ–แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ›แƒ แƒ˜แƒก แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒฌแƒแƒ“แƒ”แƒ‘แƒ˜แƒ—.

แƒ”แƒก แƒแƒ แƒ˜แƒก แƒแƒ“แƒ’แƒ˜แƒšแƒ˜, แƒกแƒแƒ“แƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฎแƒกแƒแƒ•แƒก แƒšแƒฃแƒ แƒฏแƒ˜-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ’แƒแƒ“แƒแƒฎแƒ•แƒ˜แƒ“แƒ”แƒ— แƒ™แƒแƒ“แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ’แƒแƒ“แƒแƒฎแƒ•แƒ˜แƒ“แƒ”แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒกแƒ แƒ“แƒ แƒ—แƒฃแƒœแƒ“แƒแƒช แƒ’แƒแƒ แƒ”แƒ›แƒแƒก แƒจแƒแƒ แƒ˜แƒก, แƒงแƒ•แƒ”แƒšแƒแƒคแƒ แƒ˜แƒก แƒฃแƒ™แƒแƒœ แƒ’แƒแƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒ—.

6. แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜

แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ— แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒฃแƒจแƒฃแƒแƒšแƒแƒ“ แƒ—แƒแƒ•แƒแƒ“ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜. แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒกแƒ”แƒกแƒ˜แƒ”แƒ‘แƒ˜ แƒ—แƒแƒ•แƒแƒ“ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก RAM-แƒจแƒ˜. แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ แƒแƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒ”แƒขแƒ˜ แƒ’แƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒ แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ›แƒฎแƒแƒ แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก. แƒ“แƒแƒ”แƒงแƒ แƒ“แƒ”แƒœแƒ˜แƒ— แƒ˜แƒ› แƒคแƒแƒฅแƒขแƒก, แƒ แƒแƒ› แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฐแƒฅแƒแƒœแƒ“แƒ”แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ“แƒ แƒแƒ  แƒ“แƒแƒฃแƒจแƒ•แƒแƒก แƒกแƒ™แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒ.

แƒ แƒแƒช แƒจแƒ”แƒ”แƒฎแƒ”แƒ‘แƒ แƒกแƒ”แƒกแƒ˜แƒ”แƒ‘แƒก, แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฅแƒ”แƒจแƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ‘แƒก แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ›แƒฎแƒแƒ แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ (memcached, redis), แƒแƒกแƒ” แƒ แƒแƒ›, แƒ›แƒแƒจแƒ˜แƒœแƒแƒช แƒ™แƒ˜, แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒฅแƒ•แƒ— 20 แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜, แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜, แƒฅแƒ”แƒจแƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒจแƒ”แƒซแƒšแƒ”แƒ‘แƒก แƒ’แƒแƒแƒ’แƒ แƒซแƒ”แƒšแƒแƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒกแƒ—แƒแƒœ แƒกแƒฎแƒ•แƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒจแƒ˜. แƒแƒ› แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ˜แƒ—, แƒ’แƒแƒ›แƒแƒ“แƒ˜แƒก, แƒ แƒแƒ› แƒแƒ  แƒแƒฅแƒ•แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœ แƒแƒกแƒšแƒก แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ›แƒฎแƒแƒ แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก, แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ แƒแƒ“ แƒ“แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฌแƒ•แƒ“แƒแƒ›แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”.

7. แƒžแƒแƒ แƒขแƒ˜แƒก แƒจแƒ”แƒ™แƒ•แƒ แƒ

แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ›แƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒชแƒแƒ“แƒ”แƒก แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ›แƒฎแƒแƒ แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ. แƒแƒœ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜, แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ›แƒฎแƒแƒ แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ—. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ แƒแƒ’แƒแƒ แƒช PHP แƒ›แƒแƒ“แƒฃแƒšแƒ˜ Apache-แƒจแƒ˜.
แƒงแƒ•แƒ”แƒšแƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ—แƒแƒœ แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒ›แƒ” แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒกแƒ แƒ“แƒ แƒžแƒแƒ แƒขแƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒ’แƒ–แƒ˜แƒ— (localgost:5432, localhost:3000, nginx:80, php-fpm:9000), แƒแƒœแƒฃ nginx-แƒ“แƒแƒœ แƒจแƒ”แƒ›แƒ˜แƒซแƒšแƒ˜แƒ แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒ แƒแƒ’แƒแƒ แƒช php-fpm, แƒแƒกแƒ”แƒ•แƒ” postgres แƒ“แƒ php-fpm-แƒ“แƒแƒœ postgres-แƒ›แƒ“แƒ” แƒ“แƒ nginx-แƒ›แƒ“แƒ” แƒ“แƒ แƒ แƒ”แƒแƒšแƒฃแƒ แƒแƒ“ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒ“แƒแƒœ แƒจแƒ”แƒ›แƒ˜แƒซแƒšแƒ˜แƒ แƒกแƒฎแƒ•แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ. แƒแƒ› แƒ’แƒ–แƒ˜แƒ—, แƒ›แƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒชแƒแƒชแƒฎแƒšแƒ˜แƒกแƒฃแƒœแƒแƒ แƒ˜แƒแƒœแƒแƒ‘แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒ‘แƒ›แƒฃแƒšแƒ˜ แƒกแƒฎแƒ•แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒกแƒ˜แƒชแƒแƒชแƒฎแƒšแƒ˜แƒกแƒฃแƒœแƒแƒ แƒ˜แƒแƒœแƒแƒ‘แƒแƒกแƒ—แƒแƒœ.

8. แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒ˜แƒ–แƒ›แƒ˜

แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ— แƒ”แƒ แƒ— แƒžแƒ แƒแƒชแƒ”แƒกแƒ—แƒแƒœ, แƒ—แƒแƒ แƒ”แƒ› แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒก แƒ•แƒ”แƒ  แƒจแƒ”แƒ”แƒ’แƒฃแƒ”แƒ‘แƒ!

แƒ“แƒแƒขแƒแƒ•แƒ”แƒ— แƒแƒ“แƒ’แƒ˜แƒšแƒ˜ แƒกแƒ™แƒแƒšแƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. Docker Swarm แƒจแƒ”แƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜แƒ แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.
Docker Swarm แƒแƒ แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“ แƒ“แƒ แƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก, แƒแƒกแƒ”แƒ•แƒ” แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒ˜แƒ’แƒฃแƒšแƒก แƒจแƒแƒ แƒ˜แƒก แƒ˜แƒ›แƒแƒ•แƒ” แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒ–แƒ”.

Swarm-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ›แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒœแƒ•แƒกแƒแƒ–แƒฆแƒ•แƒ แƒ, แƒ แƒแƒ›แƒ“แƒ”แƒœ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒก แƒ’แƒแƒ›แƒแƒ•แƒงแƒแƒค แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒžแƒ แƒแƒชแƒ”แƒกแƒก แƒ“แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœ แƒžแƒ แƒแƒชแƒ”แƒกแƒก แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒ˜ แƒ˜แƒ›แƒแƒ•แƒ” แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฎแƒแƒšแƒ แƒจแƒ˜แƒ“แƒ แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒžแƒแƒ แƒขแƒ–แƒ”, แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ’แƒแƒ“แƒแƒกแƒชแƒ”แƒ›แƒก แƒ›แƒแƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒก. แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ•แƒฎแƒ”แƒ“แƒแƒ•, แƒ แƒแƒ› แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒ’แƒแƒ˜แƒ–แƒแƒ แƒ“แƒ, แƒจแƒ”แƒ›แƒ˜แƒซแƒšแƒ˜แƒ แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒ แƒ›แƒ”แƒขแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜, แƒ แƒ˜แƒ—แƒแƒช แƒจแƒ”แƒ•แƒแƒ›แƒชแƒ˜แƒ แƒ”แƒ‘ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ–แƒ”.

9. แƒ”แƒ แƒ—แƒฏแƒ”แƒ แƒแƒ“แƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ

แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ แƒ˜แƒ’แƒ”แƒ‘แƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ—แƒแƒœ แƒ“แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ”แƒ แƒ—แƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒ›แƒแƒ™แƒ•แƒšแƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒแƒก แƒ›แƒ—แƒ”แƒš แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒ–แƒ”. แƒ—แƒฃ แƒ”แƒ แƒ—แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒ˜แƒ™แƒšแƒ”แƒ‘แƒก, แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒ™แƒšแƒ”แƒ‘แƒก.

แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ แƒ—แƒแƒ— แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ“แƒ แƒแƒก แƒ“แƒ แƒ”แƒก แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ˜แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒแƒก แƒกแƒฎแƒ•แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ–แƒ” (แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒ”แƒก แƒแƒ  แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒ›แƒ˜แƒฃแƒฌแƒ•แƒ“แƒแƒ›แƒ”แƒšแƒ˜แƒ แƒกแƒฎแƒ•แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒฎแƒ•แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒ แƒ—แƒ•แƒ”แƒ‘แƒ แƒแƒ› แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’). แƒงแƒ•แƒ”แƒšแƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ“แƒ”แƒก แƒ™แƒ”แƒ—แƒ˜แƒšแƒกแƒ˜แƒœแƒ“แƒ˜แƒกแƒ˜แƒ”แƒ แƒแƒ“, แƒ แƒแƒ—แƒ แƒ›แƒแƒ—แƒ˜ แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒกแƒแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒแƒ  แƒ“แƒแƒ–แƒ˜แƒแƒœแƒ“แƒ”แƒก แƒ“แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒ› แƒกแƒฌแƒแƒ แƒแƒ“ แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒฏแƒ”แƒ แƒ–แƒ”, แƒ แƒแƒชแƒ แƒฉแƒแƒ แƒ—แƒแƒ•แƒ—. แƒแƒœแƒฃ, แƒ’แƒแƒ“แƒแƒฃแƒ“แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜แƒช แƒ™แƒ˜, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ–แƒ˜แƒแƒœแƒ“แƒ”แƒก (แƒแƒฅ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜ แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜แƒ, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฏแƒ’แƒฃแƒคแƒฃแƒ แƒแƒ“ แƒ“แƒ แƒ—แƒฃ แƒฏแƒ’แƒฃแƒคแƒ˜แƒ“แƒแƒœ แƒ”แƒ แƒ—แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ›แƒแƒ˜แƒœแƒช แƒ•แƒ”แƒ  แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ“แƒ แƒแƒœ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒฏแƒ’แƒฃแƒคแƒ˜แƒ“แƒแƒœ แƒแƒ แƒชแƒ”แƒ แƒ—แƒ˜ แƒกแƒฎแƒ•แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒกแƒแƒ‘แƒแƒšแƒแƒแƒ“ แƒ›แƒแƒ แƒชแƒฎแƒ“แƒ”แƒ‘แƒ).

10. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ/แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒžแƒแƒ แƒ˜แƒขแƒ”แƒขแƒ˜

แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ, แƒ“แƒแƒ“แƒ’แƒ›แƒ แƒ“แƒ แƒšแƒแƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก. แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— Yii Lite แƒฉแƒแƒ แƒฉแƒแƒก แƒ“แƒ แƒแƒ“แƒ’แƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ•แƒแƒ“ Yii-แƒก, แƒ แƒแƒ—แƒ แƒ˜แƒก แƒฃแƒคแƒ แƒ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ”แƒก แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒแƒจแƒ˜!

แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜, แƒงแƒ•แƒ”แƒšแƒ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ แƒ“แƒ แƒ™แƒแƒ“แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒฃแƒ  แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜ (แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ•แƒกแƒแƒฃแƒ‘แƒ แƒแƒ‘แƒ— แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ  แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒแƒ–แƒ”). แƒแƒกแƒ”แƒ•แƒ”, แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ—แƒแƒœแƒแƒ›แƒจแƒ แƒแƒ›แƒ”แƒšแƒก แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ”แƒซแƒšแƒแƒก แƒ™แƒแƒ“แƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒแƒจแƒ˜ แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ“แƒ แƒแƒ แƒ แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒแƒ“ แƒ›แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒ”แƒ•แƒแƒžแƒ˜แƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ›แƒฎแƒแƒšแƒแƒ“ แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒ›แƒขแƒ™แƒ˜แƒชแƒ˜แƒก แƒฌแƒงแƒแƒšแƒแƒ‘แƒ˜แƒ— แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒแƒจแƒ˜ แƒแƒงแƒ•แƒแƒœแƒ.

Docker แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒ•แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ แƒแƒ›แƒแƒจแƒ˜. แƒ—แƒฃ แƒงแƒ•แƒ”แƒšแƒ แƒฌแƒ˜แƒœแƒ แƒžแƒฃแƒœแƒฅแƒขแƒ˜ แƒ“แƒแƒชแƒฃแƒšแƒ˜แƒ, แƒ“แƒแƒ™แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒ’แƒแƒ แƒ”แƒ›แƒแƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒก แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒแƒ–แƒ”, แƒแƒกแƒ”แƒ•แƒ” แƒแƒ“แƒ’แƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ• แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒ–แƒ” แƒ”แƒ แƒ—แƒ˜ แƒแƒœ แƒแƒ แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒงแƒ•แƒแƒœแƒแƒ›แƒ“แƒ”.

11. แƒ›แƒแƒ แƒ”แƒ‘แƒ˜

แƒฉแƒ•แƒ”แƒœ แƒ•แƒฌแƒ”แƒ แƒ— แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒกแƒ แƒ“แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ–แƒ”! แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ•แƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ”แƒ‘แƒ— แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒก แƒ“แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ. แƒ›แƒแƒ“แƒ˜แƒ— แƒ•แƒ˜แƒงแƒ˜แƒ“แƒแƒ— แƒ›แƒงแƒแƒ แƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ˜ 9000 แƒžแƒ”แƒขแƒ แƒ‘แƒแƒ˜แƒขแƒ˜แƒ— แƒ“แƒ แƒ”แƒก แƒ™แƒแƒ แƒ’แƒ˜แƒ.

แƒงแƒ•แƒ”แƒšแƒ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜ แƒฃแƒœแƒ“แƒ แƒฉแƒแƒ˜แƒ—แƒ•แƒแƒšแƒแƒก แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒแƒ“แƒแƒ“. แƒ—แƒแƒ•แƒแƒ“ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒแƒจแƒ˜. แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒ“แƒ”แƒก แƒแƒœ stdout-แƒจแƒ˜ แƒแƒœ แƒ’แƒแƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒแƒก แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜แƒ—, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ udp, แƒ แƒแƒ—แƒ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒ› แƒแƒ  แƒจแƒ”แƒฃแƒฅแƒ›แƒœแƒแƒก แƒ แƒแƒ˜แƒ›แƒ” แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก. แƒ’แƒ แƒ”แƒ˜แƒšแƒแƒ’แƒ˜ แƒ™แƒแƒ แƒ’แƒ˜แƒ แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ’แƒ แƒ”แƒ˜แƒšแƒแƒ’แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒฆแƒ”แƒ‘แƒก แƒงแƒ•แƒ”แƒšแƒ แƒŸแƒฃแƒ แƒœแƒแƒšแƒก udp-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— (แƒ”แƒก แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜ แƒแƒ  แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒก แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒก แƒ›แƒแƒšแƒแƒ“แƒ˜แƒœแƒก แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘) แƒแƒ แƒแƒœแƒแƒ˜แƒ แƒแƒ“ แƒแƒ  แƒ”แƒ แƒ”แƒ•แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก แƒ“แƒ แƒ”แƒฎแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒแƒก แƒ“แƒ แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒแƒก. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒ แƒแƒ  แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ แƒแƒกแƒ”แƒ— แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒแƒก.

12. แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ.แƒจ. แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— API-แƒจแƒ˜ แƒชแƒแƒšแƒ™แƒ” แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜, แƒ›แƒ˜แƒกแƒ˜ แƒ–แƒ”แƒ“แƒ˜แƒ–แƒ”แƒ“ 2-แƒฏแƒ”แƒ  แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ แƒ˜แƒก แƒ“แƒฃแƒ‘แƒšแƒ˜แƒ แƒ”แƒ‘แƒแƒก. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒกแƒฃแƒšแƒ”แƒšแƒ˜ แƒแƒ  แƒฎแƒแƒ แƒ—, แƒแƒ แƒฏแƒ”แƒ  แƒแƒ  แƒ“แƒแƒแƒฌแƒ™แƒแƒžแƒฃแƒœแƒ”แƒ‘แƒ— แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒ˜แƒ’แƒ แƒแƒชแƒ˜แƒ.

แƒงแƒ•แƒ”แƒšแƒ แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒ“แƒแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒก แƒ˜แƒ›แƒแƒ•แƒ” แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒ“แƒ˜, แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ–แƒ”. แƒแƒœแƒฃ, แƒ—แƒฃ แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒแƒ›แƒแƒก แƒฎแƒ”แƒšแƒ˜แƒ— แƒแƒ  แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ— แƒกแƒ•แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒ— แƒ“แƒ แƒแƒฎแƒšแƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒ–แƒ˜แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—. แƒแƒกแƒ”แƒ—แƒ˜ แƒ แƒแƒ›แƒ”แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒชแƒแƒšแƒ™แƒ”แƒฃแƒš แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒก - แƒ›แƒ˜แƒ’แƒ แƒแƒชแƒ˜แƒแƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒงแƒ•แƒ”แƒšแƒ’แƒแƒœ แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜ แƒ”แƒ แƒ—แƒœแƒแƒ˜แƒ แƒแƒ“ แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ แƒกแƒแƒ”แƒ แƒ—แƒ แƒ“แƒ แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜แƒ—. แƒงแƒ•แƒ”แƒšแƒ แƒกแƒฎแƒ•แƒ แƒแƒ›แƒแƒชแƒแƒœแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ•แƒกแƒ”แƒ‘แƒ, แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒ”แƒ‘แƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒฅแƒœแƒแƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜.

แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜ PHP, Laravel, Laradock, Docker-Compose-แƒจแƒ˜

P.S แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ MacOS-แƒ–แƒ”. แƒ›แƒแƒ—แƒ˜ แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒแƒ‘แƒ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜แƒ Linux-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ•แƒ˜แƒœแƒ“แƒแƒฃแƒกแƒ˜แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ, แƒ›แƒแƒžแƒแƒขแƒ˜แƒ”แƒ—, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ•แƒ˜แƒœแƒ“แƒแƒฃแƒกแƒ–แƒ” แƒ“แƒ˜แƒ“แƒ˜ แƒฎแƒแƒœแƒ˜แƒ แƒแƒ  แƒ•แƒ›แƒฃแƒจแƒแƒแƒ‘.

แƒฌแƒแƒ แƒ›แƒแƒ•แƒ˜แƒ“แƒ’แƒ˜แƒœแƒแƒ— แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช PHP-แƒ˜แƒก แƒแƒ แƒช แƒ”แƒ แƒ—แƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒแƒ  แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฉแƒ•แƒ”แƒœแƒก แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒ–แƒ” แƒ“แƒ แƒกแƒแƒ”แƒ แƒ—แƒแƒ“ แƒแƒ แƒแƒคแƒ”แƒ แƒ˜.
แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— docker แƒ“แƒ docker-compose-แƒ˜แƒก แƒฃแƒแƒฎแƒšแƒ”แƒกแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ˜. (แƒ”แƒก แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒจแƒ˜)

docker -v && 
docker-compose -v

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

1. แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒ”แƒ— แƒšแƒแƒ แƒแƒ“แƒแƒ™แƒ˜

git clone https://github.com/Laradock/laradock.git && 
ls

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

แƒšแƒแƒ แƒแƒ“แƒแƒ™แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ— แƒ•แƒ˜แƒขแƒงแƒ•แƒ˜, แƒ แƒแƒ› แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒ’แƒแƒ แƒ˜ แƒ แƒแƒ›แƒ”แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒฃแƒแƒ›แƒ แƒแƒ• แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒก แƒ“แƒ แƒ“แƒแƒ›แƒฎแƒ›แƒแƒ แƒ” แƒœแƒ˜แƒ•แƒ—แƒ”แƒ‘แƒก. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒ” แƒแƒ  แƒ’แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— Laradock-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒแƒกแƒ”แƒ—แƒ˜, แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒแƒจแƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒ›แƒ˜แƒกแƒ˜ แƒกแƒ˜แƒญแƒแƒ แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ. แƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ˜แƒ แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜ Laradock-แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ–แƒ” แƒ“แƒแƒงแƒ แƒ“แƒœแƒแƒ‘แƒ˜แƒ—, แƒ”แƒก แƒ‘แƒ”แƒ•แƒ แƒแƒ“ แƒฃแƒคแƒ แƒ แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ แƒแƒ•แƒ˜แƒก แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜, แƒ แƒแƒช แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒแƒ แƒ˜แƒก.

2. แƒ“แƒแƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ— Laradock แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“.

cd laradock && 
cp env-example .env

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

2.1. แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ˜แƒ— habr แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ (แƒ›แƒจแƒแƒ‘แƒ”แƒšแƒ˜ แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒ™แƒšแƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ laradock) แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— แƒ แƒ”แƒ“แƒแƒฅแƒขแƒแƒ แƒจแƒ˜. (แƒฉแƒ”แƒ›แƒก PHPStorm แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜)

แƒแƒ› แƒ”แƒขแƒแƒžแƒ–แƒ” แƒฉแƒ•แƒ”แƒœ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒžแƒ แƒแƒ”แƒฅแƒขแƒก แƒ•แƒแƒซแƒšแƒ”แƒ•แƒ— แƒกแƒแƒฎแƒ”แƒšแƒก.

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

2.2. แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜. (แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒแƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ“แƒ แƒ แƒ“แƒแƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ)
Workspace แƒแƒ แƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒแƒ“ แƒ›แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ— แƒคแƒ แƒ”แƒ˜แƒ›แƒแƒ แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒ“แƒ˜แƒ•แƒแƒ แƒ— แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒจแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

docker-compose up -d workspace && 
docker-compose exec workspace bash

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

2.3. แƒšแƒแƒ แƒแƒ•แƒ”แƒšแƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ

composer create-project --prefer-dist laravel/laravel application

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

2.4. แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜แƒ แƒ—แƒฃ แƒแƒ แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ แƒ“แƒ kill compose.

ls
exit
docker-compose down

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

2.5. แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒ•แƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ”แƒ— PHPStorm-แƒก แƒ“แƒ แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒแƒ— แƒกแƒฌแƒแƒ แƒ˜ แƒ’แƒ–แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ laravel แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜แƒกแƒ™แƒ”แƒœ .env แƒคแƒแƒ˜แƒšแƒจแƒ˜.

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

3. แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒ“แƒ˜ Git-แƒจแƒ˜.

แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒกแƒแƒชแƒแƒ•แƒก Github-แƒ–แƒ” (แƒแƒœ แƒกแƒฎแƒ•แƒแƒ’แƒแƒœ). แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒ“แƒ”แƒ— แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒแƒšแƒจแƒ˜ habr แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒ“แƒ แƒจแƒ”แƒ•แƒแƒกแƒ แƒฃแƒšแƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ™แƒแƒ“แƒ˜.

echo "# habr-12factor" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin [email protected]:nzulfigarov/habr-12factor.git # ะทะดะตััŒ ะฑัƒะดะตั‚ ััั‹ะปะบะฐ ะฝะฐ ะฒะฐัˆ ั€ะตะฟะพ
git push -u origin master
git status

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ แƒ˜แƒ’แƒ–แƒ”แƒ แƒ—แƒฃ แƒแƒ แƒ.

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒฃแƒšแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒ” แƒ’แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜ Git-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฉแƒ”แƒ›แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ”แƒก แƒแƒกแƒ”แƒ แƒ’แƒ˜แƒขแƒ™แƒ แƒแƒ™แƒ”แƒœแƒ˜. (แƒแƒฅ แƒแƒ แƒ˜แƒก แƒ แƒ”แƒคแƒ”แƒ แƒแƒšแƒฃแƒ แƒ˜ แƒ‘แƒ›แƒฃแƒšแƒ˜)

4. แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ—!

แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒแƒ›แƒ“แƒ” แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ˜แƒ—, แƒ แƒแƒ› แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒฉแƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ 80 แƒ“แƒ 443 แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ–แƒ”.

docker-compose up -d nginx php-fpm

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœแƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ 3 แƒชแƒแƒšแƒ™แƒ”แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒกแƒ’แƒแƒœ:

  • nginx - แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜
  • php-fpm - php แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒแƒ“
  • แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒแƒ“แƒ’แƒ˜แƒšแƒ˜ - php แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

แƒแƒ› แƒ“แƒ แƒแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ•แƒแƒฆแƒฌแƒ˜แƒ”แƒ— แƒ˜แƒ›แƒแƒก, แƒ แƒแƒ› แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ™แƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒก 4 แƒฅแƒฃแƒšแƒแƒก 12-แƒ“แƒแƒœ, แƒ™แƒ”แƒ แƒซแƒแƒ“:

1. Codebase โ€” แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒแƒ“แƒ˜ แƒ”แƒ แƒ— แƒกแƒแƒชแƒแƒ•แƒจแƒ˜แƒ (แƒžแƒแƒขแƒแƒ แƒ แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ: แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒกแƒฌแƒแƒ แƒ˜ แƒ˜แƒงแƒแƒก แƒ“แƒแƒ™แƒ”แƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ แƒšแƒแƒ แƒแƒ•แƒ”แƒšแƒ˜แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒจแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜).

2. แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ - แƒงแƒ•แƒ”แƒšแƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ แƒชแƒแƒšแƒกแƒแƒฎแƒแƒ“ แƒแƒ แƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ application/composer.json-แƒจแƒ˜ แƒ“แƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš Dockerfile-แƒจแƒ˜.

3. แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ โ€” แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ (php-fom, nigx, แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ”) แƒ—แƒแƒ•แƒ˜แƒกแƒ˜ แƒชแƒฎแƒแƒ•แƒ แƒ”แƒ‘แƒ˜แƒ— แƒชแƒฎแƒแƒ•แƒ แƒแƒ‘แƒก แƒ“แƒ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ’แƒแƒ แƒ”แƒ“แƒแƒœ แƒ“แƒ แƒ”แƒ แƒ— แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒแƒก แƒ›แƒ”แƒแƒ แƒ”แƒ–แƒ” แƒแƒ  แƒ˜แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก.

4. ะŸั€ะพั†ะตััั‹ โ€” แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒ”แƒ แƒ—แƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒ. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒแƒ  แƒ˜แƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒก แƒจแƒ˜แƒ“แƒ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒก.

5. แƒžแƒแƒ แƒขแƒ˜แƒก แƒจแƒ”แƒ™แƒ•แƒ แƒ

docker ps

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

แƒ แƒแƒ’แƒแƒ แƒช แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒกแƒแƒ™แƒฃแƒ—แƒแƒ  แƒžแƒแƒ แƒขแƒ–แƒ” แƒ“แƒ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ แƒงแƒ•แƒ”แƒšแƒ แƒกแƒฎแƒ•แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

6. แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒ˜แƒ–แƒ›แƒ˜

Docker แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒ•แƒแƒซแƒšแƒ”แƒ•แƒก แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒ”แƒ แƒ—แƒ˜ แƒ“แƒ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜, แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒ“แƒแƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ‘แƒ˜แƒ—.

แƒ’แƒแƒ•แƒแƒฉแƒ”แƒ แƒแƒ— แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ’แƒแƒ•แƒแƒขแƒแƒ แƒแƒ— แƒ“แƒ แƒแƒจแƒแƒ–แƒ” -- แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜

docker-compose down && 
docker-compose up -d --scale php-fpm=3 nginx php-fpm

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

แƒ แƒแƒ’แƒแƒ แƒช แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ php-fpm แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒแƒกแƒšแƒ”แƒ‘แƒ˜. แƒแƒ› แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒแƒก แƒแƒ แƒแƒคแƒ แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ แƒแƒ  แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ. แƒฉแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒ•แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒ— แƒ›แƒแƒกแƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒแƒก 9000 แƒžแƒแƒ แƒขแƒ–แƒ” แƒ“แƒ Docker แƒแƒ แƒ”แƒ’แƒฃแƒšแƒ˜แƒ แƒ”แƒ‘แƒก แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒก แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก.

7. แƒ”แƒ แƒ—แƒฏแƒ”แƒ แƒแƒ“แƒแƒ‘แƒ - แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒ›แƒแƒ™แƒ•แƒšแƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ›แƒ”แƒแƒ แƒ˜แƒก แƒ–แƒ˜แƒแƒœแƒ˜แƒก แƒ›แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒฉแƒ”แƒ แƒ”แƒ‘แƒ แƒแƒœ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒแƒ  แƒ˜แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒ–แƒ” แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒแƒฌแƒ”แƒ•แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ“แƒ แƒแƒก.

8. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ/แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒžแƒแƒ แƒ˜แƒขแƒ”แƒขแƒ˜ - แƒฉแƒ•แƒ”แƒœแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒ’แƒแƒ แƒ”แƒ›แƒ แƒ”แƒ แƒ—แƒœแƒแƒ˜แƒ แƒ˜แƒ. แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒจแƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒ—, แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒ— แƒ แƒแƒ˜แƒ›แƒ”แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒจแƒ˜. แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒ’แƒ˜แƒ•แƒ”แƒœแƒแƒ˜แƒ แƒแƒ“ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ Docker-แƒ–แƒ”.

9. แƒฎแƒ”-แƒขแƒงแƒ” โ€” แƒแƒ› แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒก แƒœแƒแƒ™แƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒฉแƒแƒœแƒก Docker แƒ™แƒแƒœแƒกแƒแƒšแƒจแƒ˜. (แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒคแƒแƒฅแƒขแƒแƒ‘แƒ แƒ˜แƒ•แƒแƒ“, แƒกแƒฎแƒ•แƒ แƒฎแƒ”แƒšแƒœแƒแƒ™แƒ”แƒ—แƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ”แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒ  แƒ˜แƒงแƒแƒก, แƒ—แƒฃ แƒแƒ  แƒ˜แƒ–แƒ แƒฃแƒœแƒ”แƒ‘แƒ— แƒ›แƒแƒกแƒ–แƒ”)

 docker-compose logs -f

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒ˜แƒก แƒ˜แƒก, แƒ แƒแƒ› แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ PHP-แƒกแƒ แƒ“แƒ Nginx-แƒจแƒ˜ แƒแƒกแƒ”แƒ•แƒ” แƒฌแƒ”แƒ แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒก แƒคแƒแƒ˜แƒšแƒจแƒ˜. 12 แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒกแƒแƒ™แƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒฉแƒแƒฌแƒ”แƒ แƒ แƒคแƒแƒ˜แƒšแƒจแƒ˜ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜ แƒชแƒแƒšแƒ™แƒ”.

Docker แƒแƒกแƒ”แƒ•แƒ” แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ stdout-แƒจแƒ˜, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ˜แƒกแƒ”แƒ— แƒœแƒ˜แƒ•แƒ—แƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒ’แƒ แƒ”แƒ˜แƒšแƒแƒ’แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ–แƒ”แƒ›แƒแƒ— แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒ”. แƒ“แƒ แƒ’แƒ แƒ”แƒ˜แƒšแƒแƒ’แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ—, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ•แƒ˜แƒ›แƒฃแƒจแƒแƒแƒ— แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜ แƒ˜แƒกแƒ”, แƒ แƒแƒ’แƒแƒ แƒช แƒ’แƒ•แƒกแƒฃแƒ แƒก แƒ“แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒแƒ›แƒแƒก แƒ•แƒ”แƒ แƒแƒœแƒแƒ˜แƒ แƒแƒ“ แƒ•แƒ”แƒ  แƒจแƒ”แƒแƒ›แƒฉแƒœแƒ”แƒ•แƒก.

10. แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜ โ€” แƒงแƒ•แƒ”แƒšแƒ แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ แƒฌแƒงแƒ•แƒ”แƒขแƒก แƒšแƒแƒ แƒแƒ•แƒ”แƒšแƒก แƒฎแƒ”แƒšแƒแƒกแƒแƒœแƒ˜ แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒก แƒฌแƒงแƒแƒšแƒแƒ‘แƒ˜แƒ— แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ˜แƒกแƒ”, แƒ แƒแƒ’แƒแƒ แƒช 12 แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฅแƒ›แƒœแƒ”แƒšแƒ”แƒ‘แƒก แƒกแƒฃแƒ แƒ—.

แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ›แƒ” แƒ’แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ.
แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒ“แƒ˜แƒ•แƒแƒ แƒ— แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒจแƒ˜.

 
docker-compose exec workspace bash
php artisan list

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

แƒแƒฎแƒšแƒ แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ. (แƒ’แƒ—แƒฎแƒแƒ•แƒ— แƒ’แƒแƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒแƒ—, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ“แƒแƒ•แƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒ“แƒ แƒฅแƒ”แƒจแƒ˜, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒฎแƒ”แƒ•แƒแƒ แƒ˜ แƒแƒ  แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ แƒกแƒฌแƒแƒ แƒแƒ“, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜แƒ แƒฅแƒ”แƒจแƒ—แƒแƒœ แƒ“แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒกแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก).

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒแƒ แƒ›แƒ”แƒขแƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒแƒšแƒแƒ’แƒ˜แƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— php-แƒกแƒ แƒ“แƒ แƒ“แƒแƒ™แƒ”แƒ แƒจแƒ˜

11. แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ“แƒ 12 แƒแƒจแƒ”แƒœแƒ”แƒ‘แƒ, แƒ’แƒแƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒšแƒ”แƒ‘แƒ, แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ

แƒ›แƒ˜แƒœแƒ“แƒแƒ“แƒ แƒ”แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒ›แƒ˜แƒ›แƒ”แƒซแƒฆแƒ•แƒœแƒ Blue-Green Deployment-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ•แƒ แƒชแƒ”แƒšแƒ˜ แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒชแƒแƒšแƒ™แƒ” แƒกแƒขแƒแƒขแƒ˜แƒแƒก แƒ“แƒแƒ•แƒฌแƒ”แƒ .

แƒ›แƒแƒ™แƒšแƒ”แƒ“, แƒ™แƒแƒœแƒชแƒ”แƒคแƒชแƒ˜แƒ แƒ”แƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒ CI/CD แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ Jenkins ะธ Gitlab CI. แƒแƒ แƒ˜แƒ•แƒ”แƒจแƒ˜ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒงแƒ”แƒœแƒแƒ— แƒ’แƒแƒ แƒ”แƒ›แƒแƒก แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒš แƒ’แƒแƒ แƒ”แƒ›แƒแƒกแƒ—แƒแƒœ. แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒแƒ› แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒแƒจแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ แƒ’ แƒžแƒฃแƒœแƒฅแƒขแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜.

แƒ“แƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜ แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒแƒจแƒ”แƒœแƒ”แƒ‘แƒ, แƒ’แƒแƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒšแƒ”แƒ‘แƒ, แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒ›แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ— แƒกแƒแƒฎแƒ”แƒšแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“ แƒ›แƒ˜แƒšแƒกแƒแƒ“แƒ”แƒœแƒ˜แƒก.

แƒ›แƒ˜แƒšแƒกแƒแƒ“แƒ”แƒœแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ“แƒแƒงแƒแƒ— แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ›แƒ แƒแƒ•แƒแƒš แƒ”แƒขแƒแƒžแƒแƒ“, แƒฎแƒแƒ–แƒ’แƒแƒกแƒ›แƒ˜แƒ— แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒแƒ— แƒจแƒ”แƒ™แƒ แƒ”แƒ‘แƒ˜แƒก, แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ”แƒขแƒแƒžแƒ”แƒ‘แƒ˜. แƒแƒกแƒ”แƒ•แƒ” Pipeline-แƒจแƒ˜ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒแƒ แƒ—แƒšแƒแƒช แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒฃแƒกแƒแƒ–แƒฆแƒ•แƒ แƒ แƒžแƒแƒขแƒ”แƒœแƒชแƒ˜แƒแƒšแƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜.

แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜แƒก แƒ™แƒแƒ“แƒ˜ แƒแƒ แƒ˜แƒก Github.
แƒแƒ  แƒ“แƒแƒ’แƒแƒ•แƒ˜แƒฌแƒงแƒ“แƒ”แƒ— แƒฅแƒ•แƒ”แƒ›แƒแƒ“แƒฃแƒšแƒ˜แƒก แƒ˜แƒœแƒ˜แƒชแƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒแƒ› แƒกแƒแƒชแƒแƒ•แƒ˜แƒก แƒ™แƒšแƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒแƒก.

P.S.: แƒงแƒ•แƒ”แƒšแƒ แƒ”แƒก แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒ˜แƒฅแƒœแƒแƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒกแƒฎแƒ•แƒ แƒ™แƒแƒ›แƒฃแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ˜แƒ—. แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒแƒ แƒกแƒ˜ แƒแƒ  แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ“แƒ”แƒ‘แƒ.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ