แƒ›แƒแƒœแƒแƒ แƒ”แƒžแƒแƒก แƒ“แƒ แƒ›แƒฃแƒšแƒขแƒ˜แƒ แƒ”แƒžแƒแƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ werf-แƒจแƒ˜ แƒ“แƒ แƒ แƒ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒแƒฅแƒ•แƒก แƒ›แƒแƒก Docker Registry-แƒก

แƒ›แƒแƒœแƒแƒ แƒ”แƒžแƒแƒก แƒ“แƒ แƒ›แƒฃแƒšแƒขแƒ˜แƒ แƒ”แƒžแƒแƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ werf-แƒจแƒ˜ แƒ“แƒ แƒ แƒ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒแƒฅแƒ•แƒก แƒ›แƒแƒก Docker Registry-แƒก

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

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

แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒ˜

แƒฌแƒแƒ แƒ›แƒแƒ•แƒ˜แƒ“แƒ’แƒ˜แƒœแƒแƒ— แƒแƒกแƒ”แƒ—แƒ˜ แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ. แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒแƒก แƒฐแƒงแƒแƒ•แƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒฃแƒšแƒ˜ แƒ’แƒฃแƒœแƒ“แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ”แƒœ แƒ“แƒแƒ›แƒแƒฃแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒ”แƒš แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒ–แƒ”. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒแƒ‘แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก Kubernetes-แƒ–แƒ” แƒ“แƒ, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ. แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก, แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒแƒฎแƒแƒ“ แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ˜ (แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜). แƒ แƒแƒ’แƒแƒ แƒช แƒแƒกแƒ”แƒ—แƒ˜ แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ˜, แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก Docker Hub-แƒก แƒ”แƒ แƒ—แƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒ— COMPANY. แƒ™แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒแƒ‘แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒแƒ“, Docker Hub แƒแƒ  แƒ“แƒแƒฃแƒจแƒ•แƒ”แƒ‘แƒก แƒฉแƒแƒ“แƒ’แƒ›แƒฃแƒšแƒ˜ แƒกแƒแƒชแƒแƒ•แƒ˜แƒก แƒ˜แƒ”แƒ แƒแƒ แƒฅแƒ˜แƒแƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ COMPANY/PROJECT/IMAGE. แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜โ€ฆ แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒแƒ— แƒแƒ แƒแƒ›แƒแƒœแƒแƒšแƒ˜แƒ—แƒฃแƒ แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜ แƒแƒ› แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ˜แƒ— แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒชแƒแƒšแƒ™แƒ” แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”?

แƒ›แƒแƒœแƒแƒ แƒ”แƒžแƒแƒก แƒ“แƒ แƒ›แƒฃแƒšแƒขแƒ˜แƒ แƒ”แƒžแƒแƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ werf-แƒจแƒ˜ แƒ“แƒ แƒ แƒ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒแƒฅแƒ•แƒก แƒ›แƒแƒก Docker Registry-แƒก

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

แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜

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

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ—, แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ. แƒขแƒ˜แƒžแƒ˜แƒฃแƒ แƒ˜ แƒ•แƒ”แƒ‘ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ แƒแƒ แƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒกแƒ’แƒแƒœ: frontend ะธ backend - แƒจแƒ”แƒกแƒแƒซแƒšแƒ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ”แƒ‘แƒ˜แƒ:

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

    แƒ›แƒแƒœแƒแƒ แƒ”แƒžแƒแƒก แƒ“แƒ แƒ›แƒฃแƒšแƒขแƒ˜แƒ แƒ”แƒžแƒแƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ werf-แƒจแƒ˜ แƒ“แƒ แƒ แƒ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒแƒฅแƒ•แƒก แƒ›แƒแƒก Docker Registry-แƒก

  2. แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ— แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ”แƒ แƒ— แƒกแƒแƒชแƒแƒ•แƒจแƒ˜ แƒ“แƒ แƒ’แƒแƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ— แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒขแƒ”แƒ’แƒจแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒœแƒแƒ˜แƒ แƒแƒ“:

    แƒ›แƒแƒœแƒแƒ แƒ”แƒžแƒแƒก แƒ“แƒ แƒ›แƒฃแƒšแƒขแƒ˜แƒ แƒ”แƒžแƒแƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ werf-แƒจแƒ˜ แƒ“แƒ แƒ แƒ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒแƒฅแƒ•แƒก แƒ›แƒแƒก Docker Registry-แƒก

NB: แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜, แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒกแƒฎแƒ•แƒ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒกแƒแƒชแƒแƒ•แƒ”แƒ‘แƒจแƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒ—, PROJECT-frontend ะธ PROJECT-backend, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ•แƒ— แƒ›แƒแƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒแƒ แƒ˜แƒก แƒฃแƒคแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒก, แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ˜แƒก แƒ’แƒแƒ›แƒ.

werf แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ

แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“, werf แƒจแƒ”แƒ›แƒแƒ˜แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒแƒ“แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฉแƒแƒ“แƒ’แƒ›แƒฃแƒšแƒ˜ แƒกแƒแƒชแƒแƒ•แƒ”แƒ‘แƒ˜แƒ— - แƒกแƒแƒ‘แƒ”แƒ“แƒœแƒ˜แƒ”แƒ แƒแƒ“, แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ˜แƒก แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒแƒ‘แƒ แƒ›แƒฎแƒแƒ แƒก แƒฃแƒญแƒ”แƒ แƒก แƒแƒ› แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก. แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒ“แƒแƒœ แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒฃแƒšแƒ˜ v1.0.4-แƒแƒšแƒคแƒ.3, แƒ“แƒแƒแƒ›แƒแƒขแƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ”แƒ‘แƒ—แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒ‘แƒฃแƒ“แƒ” แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜แƒ“แƒ Docker Hub แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜แƒ. แƒแƒ› แƒ›แƒแƒ›แƒ”แƒœแƒขแƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒก แƒแƒฅแƒ•แƒก แƒแƒ แƒฉแƒ”แƒ•แƒแƒœแƒ˜, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒแƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜.

แƒ˜แƒ›แƒžแƒšแƒ”แƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜แƒก แƒฅแƒ•แƒ”แƒจ --images-repo-mode=multirepo|monorepo (แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ multirepo, แƒ”.แƒ˜. แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ แƒฉแƒแƒ“แƒ’แƒ›แƒฃแƒš แƒกแƒแƒชแƒแƒ•แƒ”แƒ‘แƒจแƒ˜). แƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ•แƒก แƒจแƒแƒ‘แƒšแƒแƒœแƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜. แƒกแƒแƒ‘แƒแƒ–แƒ˜แƒกแƒ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜ แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜แƒก แƒแƒ แƒฉแƒ”แƒ•แƒ แƒ“แƒ แƒ“แƒแƒœแƒแƒ แƒฉแƒ”แƒœแƒ˜ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒฃแƒชแƒ•แƒšแƒ”แƒšแƒ˜ แƒ“แƒแƒ แƒฉแƒ”แƒ‘แƒ.

แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› werf แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒแƒ‘แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒก แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜CI/CD แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒจแƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒ”แƒกแƒ˜, แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ แƒ’แƒšแƒแƒ‘แƒแƒšแƒฃแƒ แƒแƒ“ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แฒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, GitLab-แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒ’แƒแƒ แƒ”แƒ›แƒแƒก แƒชแƒ•แƒšแƒแƒ“แƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒจแƒ˜: แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜ -> CI / CD -> แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜: WERF_IMAGES_REPO_MODE: multirepo|monorepo.

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

แƒ”แƒจแƒ›แƒแƒ™แƒ˜ แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒจแƒ˜แƒ

แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ” แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒแƒ แƒ˜แƒก แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ˜แƒก แƒ’แƒแƒฌแƒ›แƒ”แƒœแƒ“แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒจแƒ˜ (werf-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ’แƒแƒฌแƒ›แƒ”แƒœแƒ“แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ˜แƒฎ แƒ“แƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜).

แƒ’แƒแƒฌแƒ›แƒ”แƒœแƒ“แƒ˜แƒกแƒแƒก werf แƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒก Kubernetes แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒจแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒก, แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒแƒก. แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ แƒ”แƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒ แƒขแƒ”แƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒแƒ“ แƒ“แƒแƒงแƒแƒคแƒแƒก. แƒแƒ›แƒŸแƒแƒ›แƒแƒ“ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜ แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒ˜:

  1. 3 แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ Git แƒžแƒ แƒ˜แƒ›แƒ˜แƒขแƒ˜แƒ•แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ tag, branch แƒ“แƒ commit;
  2. 1 แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ แƒ—แƒ•แƒ˜แƒ—แƒœแƒ”แƒ‘แƒฃแƒ แƒ˜ แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒขแƒ”แƒ’แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

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

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒ”แƒ แƒ— แƒกแƒแƒชแƒแƒ•แƒจแƒ˜ (monorepo), แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒขแƒ”แƒ’แƒจแƒ˜, แƒ›แƒ”แƒขแƒ แƒขแƒ”แƒ’แƒ˜แƒก แƒ’แƒแƒ แƒ“แƒ, แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒแƒก: PROJECT:frontend-META-TAG. แƒ›แƒแƒ— แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒแƒคแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒจแƒ”แƒ›แƒแƒ•แƒ˜แƒฆแƒ”แƒ— แƒ แƒแƒ˜แƒ›แƒ” แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒงแƒแƒคแƒ˜, แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“, แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒ”แƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒก.

NB: แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒ— แƒ“แƒแƒแƒ—แƒ•แƒแƒšแƒ˜แƒ”แƒ แƒแƒ— แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜, แƒ แƒแƒช แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ werf-แƒ˜แƒก แƒกแƒแƒฌแƒงแƒ˜แƒก แƒ™แƒแƒ“แƒจแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก PR 1684.

แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒแƒฆแƒแƒ  แƒ›แƒ˜แƒ•แƒแƒฅแƒชแƒ”แƒ•แƒ— แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒแƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒกแƒ แƒ“แƒ แƒ“แƒแƒกแƒแƒ‘แƒฃแƒ—แƒ”แƒ‘แƒแƒก: แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒ˜แƒจแƒ•แƒœแƒ˜แƒก, แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒจแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ‘แƒแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ - แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒแƒ แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ“แƒ˜แƒ›แƒ˜แƒขแƒ แƒ˜ แƒกแƒขแƒแƒšแƒ˜แƒแƒ แƒแƒ•แƒ˜แƒก แƒ‘แƒแƒšแƒ แƒ›แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒแƒจแƒ˜: โ€werf แƒแƒ แƒ˜แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ CI/CD-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Kubernetes-แƒจแƒ˜".

แฒจแƒ”แƒฏแƒแƒ›แƒ”แƒ‘แƒ

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

แƒ“แƒแƒ แƒฉแƒ˜แƒ— แƒฉแƒ•แƒ”แƒœแƒ—แƒแƒœ แƒ“แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒšแƒ” แƒ›แƒแƒ’แƒ˜แƒงแƒ•แƒ”แƒ‘แƒ˜แƒ— แƒกแƒฎแƒ•แƒ แƒกแƒ˜แƒแƒฎแƒšแƒ”แƒ”แƒ‘แƒ–แƒ” แƒ•แƒ”แƒ แƒค!

PS

แƒแƒกแƒ”แƒ•แƒ” แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒ‘แƒšแƒแƒ’แƒ–แƒ”:

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

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