ืืื ืคึฟืึธืจืฉืืึธืื ืืืจ ืืืืขื ืขื ืื ืืจืึทื ืกืงืจืืคึผื ืคืื ืืขื ืืึทืจืืื ืคืื ืืืขืงืกืื ืืขืจ ืกืืืฉืึทืืฉืขืื ืคึฟืื Inventos "ืึทื ืืืืืงืืื ื ืืื ืืขืกืืื ื ืคึผืจืึธืฆืขืก ืืื Docker + Gitlab CI"
ืืขื ืข ืืืึธืก ื ืึธืจ ืึธื ืืืืื ืฆื ืื ืกืืจืืืขื ื ืื ืึทื ืืืืืงืืื ื ืืื ืืขืกืืื ื ืคึผืจืึธืฆืขืก ืืืืืจื ืืืืฃ Docker + Gitlab CI ืึธืคื ืคืจืขืื ืืงืขืจืืืง ืคึฟืจืืื. ืืื ืฆื ืึธื ืืืืื? ืืื ืฆื ืึธืจืืึทื ืืืืจื? ืืื ืฆื ืคึผืจืืืืจื?
ืืขืจ ืืึทืจืืื ืืื ืืื ืืืืึทื ืขืก ืจืขืื ืืื ืึท ืกืืจืึทืงืืฉืขืจื ืืืขื ืืืขืื ืืขืจ ืึทื ืืืืืงืืื ื ืืื ืืขืกืืื ื ืคึผืจืึธืฆืขืก ื ืืฆื Docker ืืื Gitlab CI. ืืขืจ ืืึทืจืืื ืืื ืืื ืคึฟืื 2017. ืืื ืืจืึทืืื ืึทื ืคึฟืื ืืขื ืืึทืจืืื ืืืจ ืงืขื ืขื ืืึทืงืืืขื ืื ืืึทืกืืงืก, ืืขืืึทืืึทืืึทืืืฉื, ืืขืืึทื ืง ืืื ืืขืจืคืึทืจืื ื ืคืื ื ืืฆื.
ืคึฟืึทืจ ืืืขืจ ืขืก ืื ืืื ืืขืจืขืกืืจื, ืืืืข ืืขื ืงืึทืฅ.
ืืืึทื ื ืึธืืขื ืืื ืืืขืงืกืื ืืขืจ ืกืืืึทืืฉืขืื. ืืื ืึทืจืืขื ืคึฟืึทืจ Inventos. ืืื ืืืขื ืืึธืื ืืืจ ืืืขืื ืืืื ืืขืจืคืึทืจืื ื ืืื ืืึธืงืขืจ ืืื ืืื ืืืจ ืืืกืืขืืืืืึทื ืืืคึผืืึทืืขื ืื ื ืขืก ืืืืฃ ืคึผืจืึทืืืฉืขืงืก ืืื ืื ืคืืจืืข.
ืืขืืข ืคืื โโืืขืจ ืืึทืจืืื: ืึทื ืืืืืงืืื ื ืคึผืจืึธืฆืขืก ื ืืฆื Docker ืืื Gitlab CI.
ืืึธืก ืืื ืืืื ืฆืืืืืืข ืจืขืื ืืืขืื ืืึธืงืงืขืจ. ืืื ืืขืจ ืฆืืื ืคืื ืืขืจ ืขืจืฉืืขืจ ืืึทืจืืื, ืืืจ ืืขืืืืื ื Docker ืืืืื ืืื ืึทื ืืืืืงืืื ื ืืืืฃ ืืขืืืขืืึธืคึผืขืจ ืืืฉืื ืขื. ืื ื ืืืขืจ ืคืื ืขืืคึผืืืืื ืืืึธืก ืืขืืืืื ื ืืึธืงืงืขืจ ืืื ืืขืืืขื ืืืขืื 2-3 ืืขื ืืฉื. ืืืกืืขืืฐืฒ ื ืื ื ืืข ื ืื ื ืืขืืจืื ืืข ื ืืืืขืจืืขืืื ื ืื ื ืื ืจ ืืื ื ืื ื ื ืืืก ื ืฐืฒืืขืจ . ืืื ืง ืฆื ืืื ืืืขืจ
ืืืึธืก ืืืขื ืืืื ืืื ืืขื ืืึทืจืืื? ืืืจ ืืืขืื ืืืืื ืืื ืืืขืจ ืืขืจืคืึทืจืื ื ืืืขืื ืืืึธืก ืจืึทืงืขืก ืืืจ ืืขืืืืื, ืืืึธืก ืคึผืจืึธืืืขืืก ืืืจ ืกืึทืืืื. ืขืก ืืื ืืขืืืขื ื ืื ืฉืืื ืืืืขืืื, ืึธืืขืจ ืขืก ืขืจืืืืื ืืื ืื ืฆื ืืึทื ืืืืฃ.
ืืื ืืืขืจ ืืขืืืื: ืืึธืงืขืจืืื ืึทืืฅ ืืืจ ืืึทืงืืืขื ืืื ืืืขืจ ืืขื ื ืืืืฃ.
ืืืึธืก ืคึผืจืึธืืืขืืก ืืขื ืขื ืืืจ ืกืึทืืืืื ื?
ืืืขื ืึท ืคืืจืืข ืืื ืขืืืขืืข ืืืื, ืื ืคึผืจืึธืืจืึทืืืกื ืืื ืึท ืฉืขืจื ืืืื. ืขืก ืืขื ืขื ืกืืึทืืขืก ืืืขื ืึท ืคึผืจืึธืืจืึทืืืกื ืืื ืคึผืืื ืืืืก ืคืื ืืืื ืคึผืจืืืขืงื ืืื ืืขืืขืื ืฆื ืื ืื ืืขืจ ืคึผืจืืืขืงื ืคึฟืึทืจ ืขืืืขืืข ืืึธื.
ืึผืื ืึท ืคึผืจืึธืืจืึทืืืกื ืฆื ืคึฟืึทืจืฉืืืื ืืขืฉืืืื ื, ืขืจ ืืึทืจืฃ ืืจืืคืงืืคืืข ืื ืืงืืจ ืงืึธื ืคืื ืื ืคึผืจืืืขืงื ืืื ืงืึทืืขืจ ืึท ืกืืืืืืข ืืื ืืขืฉืืืื ื ืืื ืืขืืืขื, ืืืึธืก ืืืขื ืืึธืื ืืื ืฆื ืคืึธืจืืขืฆื ืฆื ืกืึทืืืืื ื ืื ืคืจืืืืขืืขื ืคืื ืืขื ืคึผืจืืืขืงื.
ืืืืฉืึทืืืึทืื, ืืืื ืืืจ ืึธื ืืืืื ืคึฟืื ืงืจืึทืฆื, ืขืก ืืื ืงืืืื ืืึทืงืืืืขื ืืืืฉืึทื ืืื ืื ืคึผืจืืืขืงื. ืืืืื ืึทืื-ืืืืืขืจื ืืึธืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืื ืฆื ืฉืืขืื ืขืก. ืขืืคึผืืืืื ืฉืืขืื ืืื ืืืืขืจ ืืืขืจืงืคึผืืืืก ืืืืฃ ืืืืขืจ ืืืืื ืืื ืืืื ืึธืืขืจ ืฆืืืื ืืขื. ืฆื ืคืึทืจืืืืขืจื ืืขื, ืืืจ ืืขืืืืื ื Docker.
ืืขืจ ืืืืึทืืขืจ ืกืืื ืืื ืื ืกืืึทื ืืขืจืืืืืืฉืึทื ืคืื ืกืขืืืื ืืก ืืื ืึทื ืืืืืงืืื ื. ืืื ืืืื ืืขืจืคืึทืจืื ื, ืืขืืืขืืึธืคึผืขืจืก ืฉืืขื ืืืง ื ืขืืขื ืื ืืื ืืฆืืืืืื. ืืื ืืขืืขืจ ืคืื ืคื ืคืึทื, ืึท ืื ืื ืคืขืื ืืื ืืจืืื, ืืืฉื vasya.dev. ืืขืื ืืืจ ืืื ืืขืืขืกื ืืืื ืฉืื ืคึผืขืืืึท, ืืืขืืขื ืก ืคืขืื ืืื petya.dev. ืืื ืึทื ืืืืืงืืขื ืึท ืืืขืืืืืื ืึธืืขืจ ืขืืืขืืข ืกืืกืืขื ืงืึธืืคึผืึธื ืขื ื ื ืืฆื ืืขื ืคืขืื ื ืึธืืขื.
ืืืขื ืื ืกืืกืืขื ืืืืงืกื ืืื ืื ืคืขืื ื ืขืืขื ืึธื ืืืืื ืฆื ืืืื ืึทืจืืึทื ืืขืจืขืื ื ืืื ืื ืงืึทื ืคืืืืขืจืืืฉืึทื, ืึท ืงืึธื ืคืืืงื ืืื ืื ืืืืืงืืื ื ืื ืืืืืจืึทื ืืึทื ืฅ ืขืจืืืืึทื ืืื ืืขืจ ืคึผืืึทืฅ ืืืขื ืืื ืจืืจืืืึทื.
ืืขืจ ืืขืืืืงืขืจ ืืึทื ืืึทืคึผืึทื ื ืืื ืืึทืืึทืืืืก ืกืขืืืื ืืก. ืขืืืขืืข ืืขื ืืฉื ืืึธื ื ืื ืึทืจื ืืื ืืืืขืจืืืื ืืื ืึทืจืืขื ืืื ืึท ืืืืืืง ืืืึธืจืฆื ืคึผืึทืจืึธื. ืืื ืืขืจ ืืึทื ืืึธื ืืืจืื ื ืืื ืข, MySQL ืืขืืขืื ืขืืขืฆืขืจ ืคึฟืึทืจ ืึท ืคึผืึทืจืึธื ืืื ืื ืคึผืึทืจืึธื ืืื ืืขืืืขื 123. ืขืก ืึธืคื ืืึทืคึผืึทื ื ืึทื ืื ืืึทืืึทืืืืก ืงืึธื ืคืื ืืื ืงืขืกืืืืขืจ ืืฉืึทื ืืื ื ืืืคึผืขื ืืื ื ืืืืฃ ืื ืืขืืืขืืึธืคึผืขืจ ืก ืืืขืจืืขืื. ืืืื ืขืจ ืืื ืคืืจืจืืืื, ืืืื ืขืจ ืืื ื ืืฉื ืคืืจืจืืื ืื ืงืื ืคืืืืจ. ืขืก ืืขื ืขื ืืขืืืขื ืืจืืงืก ืืืขื ืืืจ ืฉืืขืื ืขืืืขืืข ืคึผืจืึธืืข ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื .gitignore
ืืื ืืขืืขืจ ืืขืืืขืืึธืคึผืขืจ ืืื ืฆื ืื ืกืืึทืืืจื ืื ืืึทืืึทืืืืก. ืืืก ืืขืืืื ืื ืึธื ืืืื ืคึผืจืึธืฆืขืก ืืขืจ ืฉืืืขืจ. ืฆืืืืฉื ืื ืืขืจืข ืืืื, ืืืจ ืืึทืจืคึฟื ืฆื ืืขืืขื ืงืขื ืืืขืื ืื ืืึทืืึทืืืืก. ืื ืืึทืืึทืืึทืกืข ืืืื ืืืื ืื ืืืืึทืืืืื, ืึท ืคึผืึทืจืึธื ืืืื ืืืื ืจืขืืืกืืจืืจื, ืึท ืืึทื ืืฆืขืจ ืืืื ืืืื ืจืขืืืกืืจืืจื, ืึท ืฆืืืื ืืืื ืืืื ืืืฉืืคื, ืืื ืึทืืื ืืืืฃ.
ืื ืื ืืขืจ ืคึผืจืึธืืืขื ืืื ืคืึทืจืฉืืืขื ืข ืืืขืจืกืืขืก ืคืื ืืืืืจืขืจืื. ืขืก ืึธืคื ืืึทืคึผืึทื ื ืึทื ืึท ืืขืืืขืืึธืคึผืขืจ ืึทืจืืขื ืืืืฃ ืคืึทืจืฉืืืขื ืข ืคึผืจืึทืืืฉืขืงืก. ืขืก ืืื ืึท ืืขืืึทื ืคึผืจืืืขืงื, ืืืึธืก ืกืืึทืจืืขื ืืื ืคืื ืฃ ืืึธืจ ืฆืืจืืง (ืคึฟืื 2017 - ืจืขืืึทืงืืึธืจ ืก ืืึธื). ืืื ืื ืึธื ืืืื ืืืจ ืกืืึทืจืืขื ืืื MySQL 5.5. ืขืก ืืขื ืขื ืืืื ืืึธืืขืจื ืคึผืจืึทืืืฉืขืงืก ืืื ืืืจ ืืขื ืขื ืืจืืื ื ืฆื ืื ืกืืจืืืขื ื ืืขืจ ืืึธืืขืจื ืืืขืจืกืืขืก ืคืื MySQL, ืืืฉื 5.7 ืึธืืขืจ ืขืืืขืจ (ืืื 2017 - ืจืขืืึทืงืืึธืจ ืก ืืึธื)
ืืืขืจ ืขืก ืื ืืืึธืก ืึทืจืืขื ืืื MySQL ืืืืืกื ืึทื ืื ืืืืืจืขืจืื ืืึธืื ืืืคึผืขื ืืึทื ืกืื. ืขืก ืืื ืืึทื ืฅ ืคึผืจืึธืืืขืืึทืืืง ืฆื ืืืืคื 2 ืืึทืืึทืืืืกืื ืฆืืืึทืืขื. ืืื ืืื ืืกืืขืจ, ืขืก ืืื ืคึผืจืึธืืืขืืึทืืืง ืฆื ืคืึทืจืืื ืื ืึทืื ืงืืืืึทื ืฅ ืฆื ืื ื ืืึทืข ืืึทืืึทืืืืก. ืืขื ืืื ืงืขืจ ืืื ืืขืืขืจืื ื ืฆื ืขืืืขืืข ืคืจืืืืขืืขื.
ืืขืจ ืืืืึทืืขืจ ืคึผืจืึธืืืขื ืืื ืืืขื ืึท ืืขืืืขืืึธืคึผืขืจ ืึทืจืืขื ืืืืฃ ืึท ืืืืข ืืึทืฉืื, ืขืจ ื ืืฆื ืืืืข ืจืขืกืืจืกื, ืืืืข ืืขืงืขืก, ืืืืข ืืึทืจืึทื. ืื ืื ืืขืจืึทืงืฉืึทื ืืื ืืขืจ ืฆืืื ืคืื ืืขืืืขืืึธืคึผืื ื ืึท ืืืืืื ื ืฆื ืคึผืจืึธืืืขืืก ืืื ืืขืคืืจื ืืืืก ืืื ืื ืคืจืืืืืืขืจืง ืคืื ืื ืคืึทืงื ืึทื ืขืก ืึทืจืืขื ืืืืฃ ืืืื ืืึทืฉืื. ื ืืืืฉืคึผืื ืืืึธืื ืืืื ืืืขื ืืืจ ืืึธืื ืืึทืงืขื ื ืกืขืจืืืขืจืก ืืื ืคึผืจืึธืืืงืฆืืข 3, ืืื ืืขืจ ืืขืืืขืืึธืคึผืขืจ ืกืึทืืืขืก ืืขืงืขืก ืฆื ืื ืืืึธืจืฆื ืืืขืืืืืึทืืขืจ ืืื ืคึฟืื ืืึธืจื nginx ื ืขืื ืื ืืขืงืขืก ืฆื ืจืืกืคึผืึทื ื ืฆื ืื ืืงืฉื. ืืืขื ืึทืืึท ืงืึธื ืงืืื ืืื ืคึผืจืึธืืืงืฆืืข, ืขืก ืืืจื ืก ืืืืก ืึทื ืื ืืขืงืข ืืื ืคืึธืจืฉืืขืื ืืืืฃ ืืืื ืขืจ ืคืื 3 ืกืขืจืืืขืจืก.
ืืขืจ ืจืืืืื ื ืคืื ืืืงืจืึธืกืขืจืืืืกืขืก ืืื ืืขืจืืืืึทื ืืขืืืขืืึธืคึผืื ื. ืืืขื ืืืจ ืืืืื ืืื ืืืขืจ ืืจืืืก ืึทืคึผืืึทืงืืืฉืึทื ื ืืื ืขืืืขืืข ืงืืืื ืงืึทืืคึผืึธืื ืึทื ืฅ ืืืึธืก ืื ืืขืจืึทืงื ืืื ืืขืืขืจ ืื ืืขืจืขืจ. ืืึธืก ืึทืืึทืื ืืืจ ืฆื ืืืืกืงืืืึทืื ืืขืงื ืึทืืึทืืืฉืื ืคึฟืึทืจ ืึท ืกืคึผืขืฆืืคืืฉ ืึทืจืืขื ืึธื ืืืืื. ืืึธืก ืืืื ืึทืืึทืื ืืืจ ืฆื ืืืืื ืื ืึทืจืืขื ืืื ืฉืื ืคืื ืคึฟืึทืจืึทื ืืืืึธืจืืืขืืงืืื ืฆืืืืฉื ืืขืืืขืืึธืคึผืขืจืก.
ื ืคืจืึธื ืืขื ื ืืขืืืขืืึธืคึผืขืจ, ืืขืืืขืืึธืคึผืื ื ืืื JS, ืืื ืืืขื ืงืืื ืืฉืคึผืขื ืืืืฃ ืื ืืึทืงืขื ื. ืื ืืึทืงืขื ื ืืขืืืขืืึธืคึผืขืจ, ืืื ืงืขืจ, ืืขืืืขืืึธืคึผืก, ืืื ืืื ืืืขืจ ืคืึทื, ืจืืื ืืืืฃ ืจืึทืืืก ืืื ืืื ื ืืฉื ืึทืจืืึทื ืืืฉื ืืื ืืื ืคืจืึธื ืขื ื. ืื ืืขืจืึทืงืฉืึทื ืืื ืืืจืืืขืงืึธืื ืืื ืื API.
ืืื ืึท ืืึธื ืืก, ืืื ืืึธืงืขืจ ืืืจ ืืขื ืขื ืืืืืืช ืฆื ืจืืกืืืงืึทื ืจืขืกืืจืกื ืืืืฃ ืกืืึทืืื ื. ืืขืืขืจ ืคึผืจืืืขืงื, ืจืขืื ืฆื ืืืึทื ืกืคึผืขืกืืคืืงืก, ืคืืจืืื ืื ืืืืขืจ ืกืขืืืื ืืก. ืคืืืืงืื, ืขืก ืืื ืืขืืืขื ื ืืืืืง ืฆื ืึทืืึทืงืืื ืึธืืขืจ ืึท ืืืืจืืืึทื ืกืขืจืืืขืจ ืืื ืงืึทื ืคืืืืขืจ ืืื ืกืขืคึผืขืจืึทืืื, ืึธืืขืจ ืืืืื ืขืืืขืืข ืืื ืคืื ืืืึทืืขืืืืืง ืกืืืืืืข ืืื ืคึผืจืึทืืืฉืขืงืก ืงืขื ืืฉืคึผืขื ืืขืืขืจ ืื ืืขืจืข, ืืืคึผืขื ืืื ื ืืืืฃ ืื ืืืขืจืกืืข ืคืื โโโโืื ืืืืืจืขืจืื.
ืืืฉืืจืื. ืืืึธืก ืืึธื ืืืจ ื ืืฆื?
- ืืึธืงืขืจ ืืื. ื Dockerfile ืืืฉืจืืืื ืื ืืืคึผืขื ืืึทื ืกืื ืคืื ืึท ืืืื ืึทืคึผืืึทืงืืืฉืึทื.
- Docker-compose ืืื ืึท ืคึผืขืงื ืืืึธืก ืืจืขื ืื ืฆืืืึทืืขื ืขืืืขืืข ืคืื โโืืื ืืืขืจ ืืึธืงืงืขืจ ืึทืคึผืืึทืงืืืฉืึทื ื.
- ืืืจ ื ืืฆื GitLab ืฆื ืงืจืึธื ืืงืืจ ืงืึธื.
- ืืืจ ื ืืฆื GitLab-CI ืคึฟืึทืจ ืกืืกืืขื ืื ืึทืืจืืืฉืึทื.
ืืขืจ ืืืจืืื ืืืฉืืืื ืคืื ืฆืืืื ืืืืื.
ืืขืจ ืขืจืฉืืขืจ ืืืื ืืืขื ืืึธืื ืืืจ ืืื ืฆื ืืืืคื Docker ืืืืฃ ืื ืืขืืืขืืึธืคึผืขืจืก 'ืืืฉืื ืขื.
ืืขืจ ืฆืืืืืืขืจ ืืืื ืืืขื ืจืขืื ืืืขืื ืืื ืฆื ืื ืืขืจืึทืงื ืืื GitLab, ืืื ืืืจ ืืืืคื ืืขืกืฅ ืืื ืืื ืืืจ ืจืึธืืื ืืืืก ืฆื ืกืืึทืืื ื.
ืืึธืงืขืจ ืืื ืึท ืืขืื ืึธืืึธืืืข ืืืึธืก ืึทืืึทืื (ื ืืฆื ืึท ืืขืงืืึทืจืึทืืืืืข ืฆืืืึทื ื) ืฆื ืืึทืฉืจืืึทืื ืื ื ืืืืืง ืงืึทืืคึผืึธืื ืึทื ืฅ. ืืึธืก ืืื ืึท ืืืืฉืคึผืื ืคืื Dockerfile. ืืึธ ืืืจ ืืขืจืงืืขืจื ืึทื ืืืจ ืืจืฉืขื ืขื ืคึฟืื ืืขืจ ืืึทืึทืืืขืจ ืืึธืงืงืขืจ ืืืื ืคืื Ruby:2.3.0. ืขืก ืึผืืื ืจืืื ืืืขืจืกืืข 2.3 ืืื ืกืืึทืืืจื. ืืืจ ืื ืกืืึทืืืจื ืื ื ืืืืืง ืคึฟืึทืจืืึทืืืื ื ืืืืืจืขืจืื ืืื NodeJS. ืืืจ ืืึทืฉืจืืึทืื ืึทื ืืืจ ืฉืึทืคึฟื ืึท ืืืขืืืืืึทืืขืจ /app
. ืืืจ ืืึทืฉืืืืขื ืื ืึทืคึผ ืืืขืืืืืึทืืขืจ ืืื ืื ืึทืจืืขื ืืืขืืืืืึทืืขืจ. ืืื ืืขื ืืืขืืืืืึทืืขืจ ืืืจ ืฉืืขืื ืื ืคืืจืืื ืื ืืื ืืืื Gemfile ืืื Gemfile.lock. ืืขืจื ืึธื ืืืจ ืืืืขื ืคึผืจืึทืืืฉืขืงืก ืืืึธืก ืื ืกืืึทืืืจื ืืขื ืืขืคึผืขื ืืขื ืกื ืืืื. ืืืจ ืึธื ืืืืึทืื ืึทื ืืขืจ ืงืึทื ืืืื ืขืจ ืืืขื ืืืื ืืจืืื ืฆื ืืขืจื ืืืืฃ ืคืื ืืจืืืกื ืืืง ืคึผืึธืจื 3000. ืื ืืขืฆืืข ืืึทืคึฟืขื ืืื ืืขืจ ืืึทืคึฟืขื ืืืึธืก ืืืืื ืืึธื ืืฉืื ืืื ืืืขืจ ืึทืคึผืืึทืงืืืฉืึทื. ืืืื ืืืจ ืืืกืคืืจื ืื ืคึผืจืืืขืงื ืืืืคื ืืึทืคึฟืขื, ืื ืึทืคึผืืึทืงืืืฉืึทื ืืืขื ืคึผืจืืืืจื ืฆื ืืืืคื ืืื ืืืืคื ืื ืกืคึผืขืกืึทืคืืื ืืึทืคึฟืขื.
ืืึธืก ืืื ืึท ืืื ืืืึทื ืืืึทืฉืคึผืื ืคืื ืึท ืืึธืงืงืขืจ-ืงืึธืืคึผืึธืกืข ืืขืงืข. ืืื ืืขื ืคืึทื, ืืืจ ืืืืึทืื ืึทื ืขืก ืืื ืึท ืงืฉืจ ืฆืืืืฉื ืฆืืืื ืงืึทื ืืืื ืขืจื. ืืึธืก ืืื ืืืืึทื ืืื ืื ืืึทืืึทืืืืก ืืื ืกื ืืื ืืืขื ืกืขืจืืืืก. ืืื ืืืขืจ ืืืขื ืึทืคึผืืึทืงืืืฉืึทื ื ืืื ืจืืึฟ ืงืึทืกืขืก ืืึทืจืคื ืขืืืขืืข ืกืึธืจื ืคืื ืืึทืืึทืืืืก ืืื ืึท ืืึทืงืขื ื ืคึฟืึทืจ ืกืืึธืจืื ื ืืึทืื. ืืื ื ืืืจ ื ืืฆื MySQL, ืืขืจ ืืืืฉืคึผืื ืืื ืืื MySQL - ืึธืืขืจ ืืึธืจื ืืฉื ืคึผืจืืืืขื ืฅ ืืื ืื ืคืื ื ืืฆื ืขืืืขืืข ืื ืืขืจืข ืืึทืืึทืืืืก (PostgreSQL, Redis).
ืืืจ ื ืขืืขื ืื MySQL 5.7.14 ืืืื ืึธื ืขื ืืขืจืื ืืขื ืคึฟืื ืืขืจ ืืึทืึทืืืขืจ ืืงืืจ ืคึฟืื ืื ืืึธืงืขืจ ืืึทื. ืืืจ ืงืืืึทืื ืื ืืืื ืืืึธืก ืืื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืืื ืืืขืจ ืืืขื ืึทืคึผืืึทืงืืืฉืึทื ืคึฟืื ืื ืงืจืึทื ื ืืืขืืืืืึทืืขืจ. ืืขืฉืึทืก ืืขืจ ืขืจืฉืืขืจ ืงืึทืืขืจ, ืขืจ ืงืึทืืขืงืฅ ืึท ืืืื ืคึฟืึทืจ ืืื ืื. ืืขืจื ืึธื ืขืก ืืืืคื ืื ืืึทืคึฟืขื ืืืึธืก ืืืจ ืืืจืืคืืจื ืืึธ. ืืืื ืืืจ ืืืื ืฆืืจืืง, ืืืจ ืืืขืื ืืขื ืึทื ืื ืงืึทืืขืจ ืืึทืคึฟืขื ืืื ืืืคืืื ื ืืืจื ืคึผืืืึท. ืคึผืืืึท ืืื ืึท ืืื ืกื ืืขืฉืจืืื ืืื ืจืืื. ืืื ืื ืจืืข ืคืึทื ืืืจ ืึธืืืืขืจืจืืื. ืืขืจ ืืึทืคึฟืขื ืงืขื ืขื ืืืื ืึทืจืืืืจืึทืจืืฉ ืืืคึผืขื ืืื ื ืืืืฃ ืืื ืืืขืจ ืืืืขืจืคืขื ืืฉื ืึธืืขืจ ืืึทืกืงืก.
ืืืจ ืืืื ืืึทืฉืจืืึทืื ืึทื ืืืจ ืืึทืจืคึฟื ืฆื ืคืึธืจืืืก ืื ืคึผืึธืจื ืืืืฃ ืืื ืืืขืจ ืืขืืืขืืึธืคึผืขืจ ืืึทืืขืืึธืก ืืึทืฉืื ืคึฟืื 3000 ืฆื 3000 ืงืึทื ืืืื ืขืจ ืคึผืึธืจื. ืืึธืก ืืื ืืืืืึธืืึทืืืฉ ืืืจืืืขืงืึธืื ืืื ืืคึผืืึทืืืขืก ืืื ืืืื ืืืืืขื ืข ืืขืงืึทื ืืืึทื, ืืืึธืก ืืื ืืืืึทื ืขืืืขืืื ืืื ืืึธืงืงืขืจ.
ืืขืจ ืืขืืืขืืึธืคึผืขืจ ืงืขื ืขื, ืืื ืคืจืืขืจ, ืึทืงืกืขืก ืงืืื ืื ืืืฆื IP ืึทืืจืขืก, ืืืฉื, 127.0.0.1 ืืืืข ืึธืืขืจ ืคืื ืืจืืืกื ืืืง IP ืึทืืจืขืก ืคืื ืื ืืึทืฉืื.
ืื ืืขืฆืืข ืฉืืจื ืืืื ืึทื ืืขืจ ืืืขื ืงืึทื ืืืื ืขืจ ืืขืคึผืขื ืืก ืืืืฃ ืื ืื ืงืึทื ืืืื ืขืจ. ืืืขื ืืืจ ืจืืคื ืืขื ืืืขื ืงืึทื ืืืื ืขืจ ืฆื ืงืึทืืขืจ, docker-compose ืืืขื ืขืจืฉืืขืจ ืงืึทืืขืจ ืื ืืึทืืึทืืืืก ืคึฟืึทืจ ืืื ืื. ืฉืืื ืืื ืื ืึธื ืืืื ืคืื ืื ืืึทืืึทืืืืก (ืืื ืคืึทืงื, ื ืึธื ืื ืงืึทืืขืจ ืคืื ืืขื ืงืึทื ืืืื ืขืจ! ืืึธืก ืงืขื ื ืืฉื ืืึทืจืึทื ืืืจื ืื ืืจืืืืงืืึทื ืคืื ืื ืืึทืืึทืืืืก) ืขืก ืืืขื ืงืึทืืขืจ ืืื ืืืขืจ ืึทืคึผืืึทืงืืืฉืึทื, ืืื ืืืขืจ ืืึทืงืขื ื.
ืืึธืก ืึทืืึทืื ืืื ืื ืฆื ืืืกืืืืื ืขืจืจืึธืจืก ืืืขื ืื ืืึทืืึทืืืืก ืืื ื ืืฉื ืึทืจืืืฃ ืืื ืึทืืึทืื ืืื ืื ืฆื ืฉืคึผืึธืจื ืจืขืกืืจืกื ืืืขื ืืืจ ืืึทืืื ืื ืืึทืืึทืืืืก ืงืึทื ืืืื ืขืจ, ืืื ืืขืจืืื ืคืจืื ืจืขืกืืจืกื ืคึฟืึทืจ ืื ืืขืจืข ืคึผืจืึทืืืฉืขืงืก.
ืืืึธืก ืืื ืืื ืื ืื ื ืืฆื ืคืื ืืึทืืึทืืืืก ืืึธืงืขืจืืืึทืืืึธื ืืื ืึท ืคึผืจืืืขืงื? ืืืจ ืจืขืงืึธืจืืืจื ืื MySQL ืืืขืจืกืืข ืคึฟืึทืจ ืึทืืข ืืขืืืขืืึธืคึผืขืจืก. ืืึธืก ืึทืืึทืื ืืืจ ืฆื ืืืกืืืืื ืขืืืขืืข ืขืจืจืึธืจืก ืืืึธืก ืงืขื ืคึผืึทืกืืจื ืืืขื ืืืขืจืกืืขืก ืืืืืขืจืืืฉ, ืืืขื ืื ืกืื ืืึทืงืก, ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื ืคืขืืืงืืึทื ืกืขืืืื ืืก ืืืืฉื. ืืึธืก ืึทืืึทืื ืืืจ ืฆื ืกืคึผืขืฆืืคืืฆืืจื ืึท ืคึผืจืึธืกื ืืึธืกืื ืึทืืข ืคึฟืึทืจ ืื ืืึทืืึทืืืืก, ืืึธืืื, ืคึผืึทืจืึธื. ืืืจ ืืขื ืขื ืืึธืืืื ื ืึทืืืขืง ืคืื ืืขืจ ืืึธืึธืืึธืืืฉืขืจ ืืึธืจืื ืคืื ื ืขืืขื ืืื ืงืึธื ืคืืืงื ืืื ืงืึธื ืคืื ืืขืงืขืก ืืืึธืก ืขืงืกืืกืืืจื ืคืจืืขืจ.
ืืืจ ืืึธืื ืื ืืขืืขืื ืืืื ืฆื ื ืืฆื ืึท ืืขืจ ืึธืคึผืืืืึทื ืงืึทื ืคืืืืขืจืืืฉืึทื ืคึฟืึทืจ ืื ืึทื ืืืืืงืืื ื ืกืืืืืืข, ืืืึธืก ืืืขื ืืืื ืึทื ืืขืจืฉ ืคืื ืื ืคืขืืืงืืึทื. MySQL ืืื ืงืึทื ืคืืืืขืจื ืืืจื ืคืขืืืงืืึทื ืคึฟืึทืจ ืฉืืืึทื ืืืฉืื ืขื ืืื ืื ืคืึธืจืฉืืขืืื ื ืคืื ืื ืงืขืกืื ืืื ืืืืขืจ ื ืืืขืจืืง.
ืืึธืงืขืจ ืึทืืึทืื ืืืจ ืฆื ื ืืฆื ืื Python, Ruby, NodeJS, PHP ืืืขืจืืขืฆืขืจ ืคืื ืืขืจ ืืขืืืืื ืืืขืจืกืืข. ืืืจ ืืึทืงืืืขื ืืึทืคืจืืึทืขื ืคืื ืื ื ืืื ืฆื ื ืืฆื ืขืืืขืืข ืืืขืจืกืืข ืคืึทืจืืืึทืืืขืจ. ืืื ืึทืืขืจ, ืึท ืจืคึผื ืคึผืขืงื ืืื ืืขื ืืฆื ืคึฟืึทืจ ืจืืื, ืืืึธืก ืขืจืืืืื ืืืจ ืฆื ืืืืฉื ืื ืืืขืจืกืืข ืืืคึผืขื ืืื ื ืืืืฃ ืื ืคึผืจืืืขืงื. ืืึทื ืง ืฆื ืื ืืึธืงืงืขืจ ืงืึทื ืืืื ืขืจ, ืืึธืก ืืืื ืึทืืึทืื ืืืจ ืฆื ืกืืืืื ืืืืืจืืื ืงืึธื ืืื ืืืขืจืกืืข ืขืก ืฆืืืืืขื ืืื ืืืคึผืขื ืืึทื ืกืื. ืืืจ ืืึธืื ืงืืื ืคึผืจืึธืืืขื ืฆื ืคึฟืึทืจืฉืืืื ืื ืืืขืจืกืืข ืคืื โโืืืืืข ืื ืืืขืจืืขืฆืขืจ ืืื ืื ืงืึธื. ืฆื ืืขืจืืืึทื ืืืงื ืื ืืืขืจืกืืข, ืืืจ ืืึทืจืคึฟื ืฆื ื ืืืขืจืืงืขืจ ืืขืจ ืึทืื ืงืึทื ืืืื ืขืจ ืืื ืืึทืคึผื ืื ื ืืึท ืงืึทื ืืืื ืขืจ. ืืืื ืขืคึผืขืก ืืืื ืคืึทืืฉ, ืืืจ ืงืขื ืขื ื ืืืขืจืืงืขืจ ืืขืจ ื ืืึท ืงืึทื ืืืื ืขืจ, ืืึทืคึผื ืื ืึทืื ืงืึทื ืืืื ืขืจ.
ื ืึธื ืืืืขื ืื ืืืื, ืื ืงืึทื ืืืื ืขืจื ืืื ืืืืืข ืึทื ืืืืืงืืื ื ืืื ืคึผืจืึธืืืงืฆืืข ืืืขื ืืืื ืื ืืขืืืข. ืืึธืก ืืื ืกืคึผืขืฆืืขื ืืืช ืคึฟืึทืจ ืืจืืืก ืื ืกืืึทืืืืฉืึทื ื.
ืืืืฃ ืคืจืึธื ืืขื ื ืืืจ ื ืืฆื JavaScipt ืืื NodeJS.
ืืืฆื ืืืจ ืืึธืื ืืื ืืืขืจ ืืขืฆืืข ืคึผืจืืืขืงื ืืืืฃ ReacJS. ืืขืจ ืืขืืืขืืึธืคึผืขืจ ืืึธื ืืฉื ืึทืืฅ ืืื ืืขื ืงืึทื ืืืื ืขืจ ืืื ืืขืืืขืืึธืคึผืขื ืืื ืืืืก ืจืืืึธืื.
ืืขืจื ืึธื, ืื ืึทืจืืขื ืคืื ืึทืกืขืืืึทืืื ื JavaScipt ืืื ืืึธื ืืฉื ืืื ืื ืกืืึทืืืงืื ืึทืกืขืืืึทืื ืงืึธื ืืื ืืขืฉืืงื ืืืจื nginx, ืฉืคึผืึธืจื ืจืขืกืืจืกื.
ืืึธ ืืื ืืึธืื ืฆืืืขืฉืืขืื ืึท ืืืึทืืจืึทืืข ืคืื โโืืื ืืืขืจ ืืขืฆื ืคึผืจืืืขืงื.
ืืืึธืก ืคึผืจืึธืืืขืืก ืืึธืื ืืืจ ืกืึธืืืืข? ืืืจ ืืึธืื ืึท ื ืืื ืฆื ืืืืขื ืึท ืกืืกืืขื ืืื ืืืึธืก ืจืืจืขืืืืืง ืืขืืืืกืขืก ืื ืืขืจืึทืงื. ืืื ืืึทืงืืืขื ืืึทืื. ืืืื ืขืจ ืคืื ืื ืคึผืึทืกืึทืืืืึทืืื ืืื ืฆื ืฉืืงื ืฉืืืคึผื ื ืึธืืืึทืคืึทืงืืืฉืึทื ื ืฆื ืืขื ืืืื.
ืืืึธืก ืืึธืื ืืืจ ืืขืืื ืคึฟืึทืจ ืืขื?
ืืืจ ืฆืขืืืืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืืื ืื ืคืืืืขื ืืข ืงืึทืืคึผืึธืื ืึทื ืฅ: ืึท ืึทืืืื ืืืื ืืื JS, ืึท ืืึทืงืขื ื ืืืึธืก ืึทืจืืขื ืืืจื ืึท REST ืฆืืืื ื ืืื ืืขืจ Ruby on Rails. ืืึทืงืขื ื ืื ืืขืจืึทืงืฅ ืืื ืื ืืึทืืึทืืืืก. ืืขืจ ืจืขืืืืืึทื ืืืึธืก ืืื ืืืฉืขื ืขืจืืืืึทื ืืื ืืขืืขืื ืฆื ืืขืจ ืงืืืขื ื. ืืขืจ ืึทืืืื ืืกืืจืึทืืึธืจ ืืึทืคืืืข ืื ืืขืจืึทืงืฅ ืืื ืื ืืึทืงืขื ื ืืื ืืึทืืึทืืืืก ืืืจื ืึท REST ืฆืืืื ื.
ืืืจ ืืืื ืืึธืื ืึท ื ืืื ืฆื ืฉืืงื ืคึผืืฉ ื ืึธืืืึทืคืึทืงืืืฉืึทื ื. ืืืืืขืจ ืืขื, ืืืจ ืืึธืื ืึท ืคึผืจืืืขืงื ืืื ืืืึธืก ืึท ืืขืงืึทื ืืืึทื ืืื ืืขืืืขื ืืืคึผืืึทืืขื ืึทื ืืืึธืก ืืื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืืืืืืืขืจืื ื ื ืึธืืืึทืคืึทืงืืืฉืึทื ื ืฆื ืจืืจืขืืืืืง ืคึผืืึทืืคืึธืจืืก.
ืืืจ ืืึธืื ืืขืืืขืืึธืคึผืขื ืื ืคืืืืขื ืืข ืกืืขืืข: ืืขืจ ืึธืคึผืขืจืึทืืึธืจ ืคืื ืืขื ืืืขืืขืจืขืจ ืื ืืขืจืึทืงืฅ ืืื ืื ืึทืืืื ืืกืืจืึทืืึธืจ ืืึทืคืืืข, ืืขืจ ืึทืืืื ืืกืืจืึทืืึธืจ ืืึทืคืืืข ืื ืืขืจืึทืงืฅ ืืื ืื ืืึทืงืขื ื, ืื ืึทืจืืขื ืืื ืฆื ืฉืืงื ืคึผืืฉ ื ืึธืืืึทืคืึทืงืืืฉืึทื ื.
ืคึผืืฉ ื ืึธืืืึทืคืึทืงืืืฉืึทื ื ืื ืืขืจืึทืงื ืืื ืื ืื ืืขืจ ืงืึธืืคึผืึธื ืขื ื ืืืึธืก ืืื ืืืคึผืืึทืืขื ืึทื ืืื NodeJS.
ืงืืื ืืขื ืขื ืืขืืืื ืืื ื ืึธืืืึทืคืึทืงืืืฉืึทื ื ืืขื ืขื ืืขืฉืืงื ืืืื ืืืืขืจ ืืืืื ืืขืงืึทื ืืืึทื.
ืฆืืืื ืืึทืืึทืืืืกืื ืืขื ืขื ืฆืืขื ืืึธ. ืืขืจืืืืึทื, ื ืืฆื ืืึธืงืขืจ, ืืืจ ื ืืฆื 2 ืคืจืืึท ืืึทืืึทืืืืกืื ืืืึธืก ืืขื ืขื ืืื ืงืืื ืืืขื ืคืืจืืื ืื ืฆื ืืขืืขืจ ืื ืืขืจืขืจ. ืืื ืึทืืืฉืึทื ืฆื ืื ืคืึทืงื ืึทื ืืื ืืึธืื ืึท ืคึผืจืึธืกื ืืืืจืืืึทื ื ืขืฅ, ืืื ืืฉืืืืช ืืึทืื ืืขื ืขื ืกืืึธืจื ืืื ืคืึทืจืฉืืืขื ืข ืืืืจืขืงืืขืจืื ืืืืฃ ืื ืืขืืืขืืึธืคึผืขืจ ืก ืืึทืฉืื.
ืื ืืขืืืข ืืึทื ืึธืืขืจ ืืื ื ืืืขืจื. ืงืึธื ืจืืืืก ืืื ืืืืืืืง ืืึธ.
ืืืื ืคืจืืขืจ ืืืจ ืืขืจืขืื ืืืขืื ืจืืืืื ื ืงืึธื ืืื ืื ืคืึธืจืขื ืคืื ืืืืืจืขืจืื, ืืื ืืขื ืืืึทืฉืคึผืื ืืื ืืืขืจ ืืื ืกื, ืืืึธืก ืจืืกืคึผืึทื ืื ืฆื ืคึผืืฉ ื ืึธืืืึทืคืึทืงืืืฉืึทื ื, ืืื ืจืืืื ืืื ืึท ืืึทื ืฅ ืกืขืจืืืขืจ. ืขืก ืืื ืึทื API. ืืื ืืื ืืืขืจ ื ืืึทืข ืึทื ืืืืืงืืื ื ืื ืืขืจืึทืงืฅ ืืื ืืื.
ืืื ืืขืจ ืฆืืื ืืืจ ืืขืืืืื ื ืืืขืจืกืืข 4 ืคืื NodeJS. ืืืฆื (ืืื 2017 - ืจืขืืึทืงืืึธืจ ืก ืืึธื) ืืื ืืื ืืืขืจ ืืขืฆืืข ืืืืืขืืึทืคึผืืึทื ืฅ ืืืจ ื ืืฆื ืืืขืจืกืืข 7 ืคืื NodeJS. ืขืก ืืื ืงืืื ืคึผืจืึธืืืขื ืืื ื ืืึทืข ืงืึทืืคึผืึธืื ืึทื ืฅ ืฆื ืึทืจืืึทื ืฆืืขื ื ืืึทืข ืืืขืจืกืืขืก ืคืื ืืืืืจืขืจืื.
ืืืื ื ืืืืืง, ืืืจ ืงืขื ืขื ืจืขืคืึทืงืืึธืจ ืืื ืืึทืคึผื ืื NodeJS ืืืขืจืกืืข ืคืื โโืื Push ืึธื ืืึธื ืืื ืกื.
ืืื ืืืื ืืืจ ืงืขื ืขื ืืึทืืื ืึทืคึผื ืงืึทืืคึผืึทืืึทืืืืึทืื, ืขืก ืืืขื ืืืื ืืขืืืขื ืฆื ืคืึทืจืืืึทืื ืขืก ืืื ืื ืืขืจืข ืคึผืจืึทืืืฉืขืงืก ืืืึธืก ืืขื ืขื ืคืจืืขืจ ืืขืืืืื ื.
ืืืึธืก ืืึธื ืืืจ ืืึทืจืคึฟื ืฆื ืืืืื ืืึธืงืขืจ? ืืืจ ืืืืื ืึท Dockerfile ืฆื ืืื ืืืขืจ ืจืืคึผืึทืืึทืืึธืจื, ืืืึธืก ืืืฉืจืืืื ืื ื ืืืืืง ืืืคึผืขื ืืึทื ืกืื. ืืื ืืขื ืืืึทืฉืคึผืื, ืื ืงืึทืืคึผืึธืื ืึทื ืฅ ืืขื ืขื ืืึทืืืฉืืงืื ืฆืขืืืืื. ืืึธืก ืืื ืื ืืื ืืืื ืงืื ืคึฟืึทืจ ืึท ืืึทืงืขื ื ืืขืืืขืืึธืคึผืขืจ.
ืืืขื ืงืจืืืืืื ื ืึท ื ืืึทืข ืคึผืจืืืขืงื, ืืืจ ืืึทืื ืึท ืืึธืงืงืขืจืคืืืข ืืื ืืึทืฉืจืืึทืื ืื ืคืืจืืื ืื ืืงืึธืืกืืกืืึทื (Python, Ruby, NodeJS). ืืื ืืึธืงืขืจ-ืงืึธืืคึผืึธืกืข, ืขืก ืืืฉืจืืืื ืื ื ืืืืืง ืืขืคึผืขื ืืขื ืกื - ืื ืืึทืืึทืืืืก. ืืืจ ืืึทืฉืจืืึทืื ืึทื ืืืจ ืืึทืจืคึฟื ืึท ืืึทืืึทืืืืก ืคืื ืึทืืึท ืืื ืึทืืึท ืึท ืืืขืจืกืืข, ืฆื ืงืจืึธื ืืึทืื ืืึธืจื ืืื ืืึธืจื.
ืืืจ ื ืืฆื ืึท ืืึทืืื ืืขืจ ืืจืื ืงืึทื ืืืื ืขืจ ืืื nginx ืฆื ืืื ืขื ืกืืึทืืืง ืืื ืืึทืื. ืขืก ืืื ืืขืืืขื ืฆื ืฆืืคึฟืขืืืงืขืจ ืืืืืขืจ. ืื ืืึทืงืขื ื ืฉืืขืื ืืื ืืื ืึท ืคืึทืจ-ืฆืืืขืืจืืื ืืึทื ื, ืืืึธืก ืืื ืืืื ืืึธืื ืืขื ืืื ืึท ืงืึทื ืืืื ืขืจ ืืื nginx, ืืืึธืก ืืื ืกืืึทืืืง ืืึทืื.
ืฆื ืงืจืึธื ืื nginx ืืื mysql ืงืึทื ืคืืืืขืจืืืฉืึทื, ืืืจ ืฆืืืขืืขืื ืึท ืืึธืงืงืขืจ ืืขืงืข ืืื ืืืึธืก ืืืจ ืงืจืึธื ืื ื ืืืืืง ืงืึทื ืคืืืืขืจืืืฉืึทื ื. ืืืขื ืึท ืืขืืืขืืึธืคึผืขืจ ืืืื ืึท ืืื ืงืืึธืื ืคืื ืึท ืจืืคึผืึทืืึทืืึธืจื ืืืืฃ ืืืื ืืึทืฉืื, ืขืจ ืืื ืฉืืื ืึท ืคึผืจืืืขืงื ืืจืืื ืคึฟืึทืจ ืืืืข ืึทื ืืืืืงืืื ื. ืขืก ืืื ืงืืื ืงืฉืื ืืืขืื ืืืึธืก ืคึผืึธืจื ืึธืืขืจ ืืืึธืก ืกืขืืืื ืืก ืฆื ืฆืืืืืื.
ืืืืึทืืขืจ ืืืจ ืืึธืื ืขืืืขืืข ืงืึทืืคึผืึธืื ืึทื ืฅ: ืึทืืืื, ืืื ืคึฟืึธืจืืึทืฆืืข-ืึทืคึผื, ืฉืืืคึผื ื ืึธืืืึทืคืึทืงืืืฉืึทื ื.
ืืื ืกืืจ ืฆื ืงืึทืืขืจ ืึทืืข ืืขื, ืืืจ ืืืฉืืคื ืื ืื ืืขืจ ืจืืคึผืึทืืึทืืึธืจื ืืขืจืืคึฟื ืืึธืงืขืจืืืื-ืึทืคึผ. ืืืจ ืืขืจืืืืึทื ื ืืฆื ืงืืืคื ืจืืคึผืึทืืึทืืึธืจืื ืคึฟืึทืจ ืืขืืขืจ ืงืึธืืคึผืึธื ืขื ื. ืืื ืืขื ืขื ืคืฉืื ืืึทืืืฉืืงืื ืึทื ืืขืจืฉ - ืืื GitLab ืขืก ืงืืงื ืืื ืึท ืืขืงืข, ืึธืืขืจ ืืืืฃ ืื ืืขืืืขืืึธืคึผืขืจ ืก ืืึทืฉืื ืขืก ืงืืงื ืืื ืึท ืืขืงืข ืคึฟืึทืจ ืึท ืกืคึผืขืฆืืคืืฉ ืคึผืจืืืขืงื. ืืืื ืืืจืื ืืื ืื ืืขื ืขื ืื ืงืึทืืคึผืึธืื ืึทื ืฅ ืืืึธืก ืืืขื ืืืื ืงืึทืืืืื ื.
ืืึธืก ืืื ืึท ืืืืฉืคึผืื ืคืื ืื ืืื ืืึทืื ืคืื ืืึธืงืขืจืืืื-ืึทืคึผ. ืืืจ ืืืื ืฉืืขืื ืึท ืืึธืงืงืขืจ ืืืขืืืืืึทืืขืจ ืืึธ, ืืื ืืืึธืก ืืืจ ืคึผืืึธืืืืจื ืื ืงืึทื ืคืืืืขืจืืืฉืึทื ื ืคืืจืืื ืื ืคึฟืึทืจ ืื ืื ืืขืจืึทืงืฉืึทื ื ืคืื ืึทืืข ืงืึทืืคึผืึธืื ืึทื ืฅ. ืขืก ืืื ืึท README.md ืืืึธืก ืืขืงืืฆืขืจ ืืืฉืจืืืื ืืื ืฆื ืงืึทืืขืจ ืื ืคึผืจืืืขืงื.
ืืึธ ืืืจ ืืึธืื ืืขืืืขื ืื ืฆืืืื ืืึธืงืงืขืจ-ืงืึธืืคึผืึธืกืข ืืขืงืขืก. ืืึธืก ืืื ืืขืืื ืืื ืกืืจ ืฆื ืงืขื ืขื ืฆื ืงืึทืืขืจ ืืื ืกืืึทืืขืก. ืืืขื ืึท ืืขืืืขืืึธืคึผืขืจ ืึทืจืืขื ืืื ืื ืงืขืจื, ืขืจ ืืื ื ืืฉื ืืึทืจืคึฟื ืคึผืืฉ ื ืึธืืืึทืคืึทืงืืืฉืึทื ื, ืขืจ ืคืฉืื ืืึธื ืืฉืื ืื ืืึธืงืงืขืจ-ืงืึธืืคึผืึธืกืข ืืขืงืข ืืื, ืึทืงืึธืจืืื ืืื, ืจืขืกืืจืกื ืืขื ืขื ืืขืจืืืขืืืขื.
ืืืื ืขืก ืืื ืึท ื ืืื ืคึฟืึทืจ ืื ืืึทืืจืืืฉืึทื ืืื ืคึผืืฉ ื ืึธืืืึทืคืึทืงืืืฉืึทื ื, docker-compose.yaml ืืื docker-compose-push.yaml ืืขื ืขื ืืึธื ืืฉื.
ืืื ื docker-compose.yaml ืืื docker-compose-push.yaml ืืขื ืขื ืืื ืืขืจ ืืขืงืข, ืึท ืืืื ืืืืจืืืึทื ื ืขืฅ ืืื ืืืืืึธืืึทืืืฉ ืืืฉืืคื.
ืืึทืฉืจืืึทืืื ื ืคืื ืงืึทืืคึผืึธืื ืึทื ืฅ. ืืึธืก ืืื ืึท ืืขืจ ืึทืืืึทื ืกืืจืืข ืืขืงืข ืืืึธืก ืืื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืงืึทืืขืงืืื ื ืงืึทืืคึผืึธืื ืึทื ืฅ. ืืืืก ืืื ืื ืืขืจืงืืืืจืืืง? ืืึธ ืืืจ ืืึทืงืขื ืขื ืื ืืึทืืึทื ืกืขืจ ืงืึธืืคึผืึธื ืขื ื.
ืืึธืก ืืื ืึท ืคืึทืจืืืง ืืึธืงืงืขืจ ืืืื ืืืึธืก ืืืืคื nginx ืืื ืึท ืึทืคึผืืึทืงืืืฉืึทื ืืืึธืก ืืืกืึทื ื ืฆื ืื ืืึธืงืงืขืจ ืืึธืืขื. ืืื ืึทืืืฉ, ืืืขื ืงืึทื ืืืื ืขืจื ืืขื ืขื ืืืืกืืขืืจืืื ืืืืฃ ืืื ืึทืืืขืง, ืื nginx config ืืื ืจืืืืฉืขื ืขืจืืืืื. ืืืจ ืคืึทืจืฉืคึผืจืืืื ืื ืืึทื ืืืื ื ืคืื ืงืึทืืคึผืึธืื ืึทื ืฅ ื ืืฆื ืืจืื-ืืืจืื ืคืขืื ื ืขืืขื.
ืคึฟืึทืจ ืื ืึทื ืืืืืงืืื ื ืกืืืืืืข ืืืจ ื ืืฆื ืื .dev ืคืขืื - api.informer.dev. ืึทืคึผืคึผืืืงืึทืืืึธื ืก ืืื ืึท. ืืขืื ืคืขืื ืืขื ืขื ืื ืืืฆื ืืืืฃ ืื ืืขืืืขืืึธืคึผืขืจ ืก ืืืืข ืืึทืฉืื.
ืืขืจื ืึธื ืื ืงืึธื ืคืืืก ืืขื ืขื ืืจืึทื ืกืคืขืจื ืฆื ืืขืืขืจ ืคึผืจืืืขืงื ืืื ืึทืืข ืคึผืจืึทืืืฉืขืงืก ืืขื ืขื ืืึธื ืืฉื ืฆืืืึทืืขื ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื.
ืืืื ืืืจ ืฉืืืืขืจื ืขืก ืืจืึทืคืืงืื, ืขืก ืืืจื ืก ืืืืก ืึทื ืืขืจ ืงืืืขื ื ืืื ืืื ืืืขืจ ืืืขืืขืจืขืจ ืึธืืขืจ ืึท ืืื ืคืื ืืขืฆืืึทื ืืื ืืืึธืก ืืืจ ืืึทืื ืจืืงืืืขืก ืฆื ืื ืืึทืืึทื ืกืขืจ.
ืืขืจ ืืึทืืึทื ืกืขืจ ืืืืขืจืืึทื ื ืืืึธืก ืงืึทื ืืืื ืขืจ ืืึทืจืฃ ืืืื ืึทืงืกืขืกื ืืืืืจื ืืืืฃ ืื ืคืขืื ื ืึธืืขื.
ืืึธืก ืงืขื ืืืื nginx, ืืืึธืก ืืื JS ืฆื ืื ืึทืืืื ืืึทืคืืืข. ืืขื ืงืขื ืขื ืืืื ืืขืืื ืืืจื nginx, ืืืึธืก ืืื ืื ืึทืคึผื, ืึธืืขืจ ืกืืึทืืืง ืืขืงืขืก, ืืืึธืก ืืขื ืขื ืฆืืืขืฉืืขืื ืืืจื nginx ืืื ืื ืคืึธืจืขื ืคืื ืืึธืืืื ื ืืืืืขืจ.
ืื ืืืึทืืจืึทืืข ืืืืืื ืึทื ืื ืงืึทื ืืืื ืขืจื ืืขื ืขื ืงืึธื ื ืขืงืืขื ืฆื ืึท ืืืืจืืืึทื ื ืขืฅ ืืื ืคืึทืจืืึธืจืื ืืื ืืขืจ ืึท ืคึผืจืึทืงืกื.
ืืืืฃ ืื ืืขืืืขืืึธืคึผืขืจ ืก ืืึทืฉืื, ืืืจ ืงืขื ืขื ืึทืงืกืขืก ืืขื ืงืึทื ืืืื ืขืจ ืืื ืื IP, ืึธืืขืจ ืืื ืคึผืจืื ืฆืืคึผ ืืืจ ืืึธื ื ืื ื ืืฆื ืืขื. ืขืก ืืื ืคึผืจืึทืงืืึทืงืื ื ืื ืืึทืจืคึฟื ืคึฟืึทืจ ืืืจืขืงื ืงืึธื ืืึทืงื.
ืืืึธืก ืืืืฉืคึผืื ืืึธื ืืื ืงืืงื ืืื ืฆื ืืึทืงืขืจืืื ืืืื ืึทืคึผืืึทืงืืืฉืึทื? ืืื ืืืื ืืืื ืื ื, ืึท ืืื ืืืึทืฉืคึผืื ืืื ืืขืจ ืืึทืึทืืืขืจ ืืึธืงืงืขืจ ืืืื ืคึฟืึทืจ MySQL.
ืขืก ืืื ืืึทื ืฅ ืงืึธืืคึผืืืฆืืจื. ืขืก ืืขื ืขื ืคืืืข ืืืขืจืกืืขืก. ืึธืืขืจ ืืืึทื ืคืึทื ืืงืฉืึทื ืึทืืืื ืึทืืึทืื ืืืจ ืฆื ืืขืงื ืคืืืข ืืืืขืจืคืขื ืืฉื ืืืึธืก ืงืขื ืืืืคืฉืืืื ืืื ืืขื ืคึผืจืึธืฆืขืก ืคืื ืืืืึทืืขืจ ืึทื ืืืืืงืืื ื. ืืืื ืืืจ ื ืขืืขื ืื ืฆืืื ืืื ืคึฟืึทืจืฉืืืื ืืื ืขืก ืึทืืข ืื ืืขืจืึทืงืฅ, ืืื ืืจืึทืืื ืืืจ ืืืขื ื ืืฉื ืืึธืื ืงืืื ืคืจืืืืขืืขื ืืื ืืืคึผืืึทืืขื ืื ื ืขืก ืืื.
Hub.docker.com ืืืืฉืึทืืืึทืื ืึผืืื ืืื ืงืก ืฆื github.com, ืืื ืจืื ืืึทืื ืืขื ืขื ืฆืืืขืฉืืขืื ืืืืึทื ืคึฟืื ืืืึธืก ืืืจ ืงืขื ืขื ืืืืขื ืึท ืืืื ืืื.
ืืืืึทืืขืจ ืืื ืืขื ืจืืคึผืึทืืึทืืึธืจื ืขืก ืืื ืึท ืฉืจืืคื docker-endpoint.sh, ืืืึธืก ืืื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืื ืขืจืฉื ืื ืืืืึทืืืืืืฉืึทื ืืื ืืืืึทืืขืจ ืคึผืจืึทืกืขืกืื ื ืคืื ืึทืคึผืืึทืงืืืฉืึทื ืงืึทืืขืจ.
ืืืื ืืื ืืขื ืืืึทืฉืคึผืื ืขืก ืืื ืื ืืขืืืขืืงืืื ืคืื ืงืึทื ืคืืืืขืจืืืฉืึทื ื ืืฆื ืกืืืืืืข ืืืขืจืืึทืืึทืื. ืืืจื ืืืคืืื ืื ื ืึท ืื ืืืืืจืึทื ืืขื ืึทื ืืืึทืืขืืืืืง ืืืขื ืคืืืกื ืืืง ืึท ืืืื ืงืึทื ืืืื ืขืจ ืึธืืขืจ ืืืจื docker-compose, ืืืจ ืงืขื ืขื ืืึธืื ืึทื ืืืจ ืืึทืจืคึฟื ืฆื ืฉืืขืื ืึท ืืืืืืง ืคึผืึทืจืึธื ืคึฟืึทืจ ืืึธืงืงืขืจ ืคึฟืึทืจ ืืืึธืจืฆื ืืืืฃ MySQL ืึธืืขืจ ืืืขืืืขืจ ืืืจ ืืืขืื.
ืขืก ืืื ืึทื ืึธืคึผืฆืืข ืฆื ืฉืึทืคึฟื ืึท ืืจืึทืค ืคึผืึทืจืึธื. ืืืจ ืืึธืื ืึทื ืืืจ ืืึทืจืคึฟื ืึท ืืึทื ืืฆืขืจ, ืืืจ ืืึทืจืคึฟื ืฆื ืฉืืขืื ืึท ืคึผืึทืจืึธื ืคึฟืึทืจ ืื ืืึทื ืืฆืขืจ, ืืื ืืืจ ืืึทืจืคึฟื ืฆื ืฉืึทืคึฟื ืึท ืืึทืืึทืืืืก.
ืืื ืืื ืืืขืจ ืคึผืจืึทืืืฉืขืงืก, ืืืจ ืืึธืื ืึท ืืืกื ืืื ืึทืคืืื ืื Dockerfile, ืืืึธืก ืืื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืื ืืืืึทืืืืืืฉืึทื. ืืึธืจื ืืืจ ืึทืืืฉืึทืกืืื ืขืก ืฆื ืืื ืืืขืจ ืืึทืจืฃ ืฆื ืคืฉืื ืืงืกืคึผืึทื ื ืื ืืึทื ืืฆืขืจ ืจืขืื ืืืึธืก ืื ืึทืคึผืืึทืงืืืฉืึทื ื ืืฆื. ืืึธืก ืืึธื ืืขืืืื ืขืก ืืขืืืขื ืฆื ืฉืึทืคึฟื ืึท ืืึทืืึทืืืืก ืคึฟืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืงืึทื ืกืึธืื ืืื ืืขืจ ืฆืืงืื ืคึฟื. ืจืืื ืึทืคึผืืึทืงืืืฉืึทื ื ืืึธืื ืงืึทืืึทื ืื ืคึฟืึทืจ ืงืจืืืืืื ื, ืืึทืืึทืคืืืื ื ืืื ืืืกืืขืงื ืืึทืืึทืืืืกืื.
ืืึธืก ืืื ืึท ืืืืฉืคึผืื ืคืื ืืื ืึท ืกืคึผืขืฆืืคืืฉ ืืืขืจืกืืข ืคืื โโMySQL ืงืืงื ืืื ืืืืฃ github.com. ืืืจ ืงืขื ื ืขืคึฟืขื ืขื ืื Dockerfile ืืื ืืขื ืืื ืื ืื ืกืืึทืืืจืื ื ื ืขืื ืึธืจื ืืึธืจื.
docker-endpoint.sh ืฉืจืืคื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืื ืคึผืึธืืืฆืืข ืคืื ื. ืืขืฉืึทืก ืขืจืฉื ืื ืืืืึทืืืืึทืืืึธื, ืขืืืขืืข ืฆืืืจืืืืื ื ืึทืงืฉืึทื ื ืืขื ืขื ืคืืจืืื ืื ืืื ืึทืืข ืื ืึทืงืฉืึทื ื ืืขื ืขื ืื ืงืืืืขื ืืื ืื ืื ืืืืึทืืืืึทืืืึธื ืฉืจืืคื.
ืืืืืจ ืืฒื ืืืืืืขืจ ืฆืื ืฆืืืืืื ืืืื.
ืืืจ ืกืืืืืฉื ืฆื ืืืืืึทื ืฆื ืงืจืึธื ืืงืืจ ืงืึธืืื. ืืึธืก ืืื ืึท ืืึทื ืฅ ืฉืืึทืจืง ืกืืกืืขื ืืืึธืก ืืื ืึท ืืืืืฉืึทืืืึทื ืฆืืืื ื.
ืืืื ืขืจ ืคืื ืื Gitlab ืงืึทืืคึผืึธืื ืึทื ืฅ ืืื Gitlab CI. ืขืก ืึทืืึทืื ืืืจ ืฆื ืืึทืฉืจืืึทืื ืึท ืกืขืจืืข ืคืื โโืงืึทืืึทื ืื ืืืึธืก ืืืขื ืืขืจื ืึธื ืืืขืจื ืืขื ืืฆื ืฆื ืึธืจืืึทื ืืืืจื ืึท ืงืึธื ืขืงืกืคึผืจืขืก ืกืืกืืขื ืึธืืขืจ ืืืืคื ืึธืืึทืืืืืื ืืขืกืืื ื.
ืืืจืืื ืืืขืื Gitlab CI 2
ืืืฆื ืืืจ ืืืขืื ืงืืงื ืืื ืืืึธืก ืืื ืคืืจืืื ืื ืฆื ืึทืงืืึทืืืืื Gitlab CI. ืืื ืกืืจ ืฆื ืงืึทืืขืจ Gitlab CI, ืืืจ ื ืึธืจ ืืึทืจืคึฟื ืฆื ืฉืืขืื ืื .gitlab-ci.yml ืืขืงืข ืืื ืืขืจ ืืืึธืจืฆื ืคืื ืื ืคึผืจืืืขืงื.
ืืึธ ืืืจ ืืึทืฉืจืืึทืื ืึทื ืืืจ ืืืืื ืฆื ืืืจืืคืืจื ืึท ืกืืงืืืึทื ืก ืคืื ืฉืืึทืื ืึทืืึท ืืื ืคึผืจืืืืจื, ืืืคึผืืืืืึทื ื.
ืืืจ ืืืกืคืืจื ืกืงืจืืคึผืก ืืืึธืก ืืืืื ืจืืคื ืื ืืึธืงืขืจ-ืงืึธืืคึผืึธืกืข ืืืืขื ืคืื ืืื ืืืขืจ ืึทืคึผืืึทืงืืืฉืึทื. ืืึธืก ืืื ืึท ืืืืฉืคึผืื ืคืื ืืืืื ืื ืืึทืงืขื ื.
ืืืืึทืืขืจ ืืืจ ืืึธืื ืึทื ืขืก ืืื ื ืืืืืง ืฆื ืืืืคื ืืืืืจืืืฉืึทื ื ืฆื ืืืืฉื ืื ืืึทืืึทืืืืก ืืื ืืืืคื ืืขืกืฅ.
ืืืื ืื ืกืงืจืืคึผืก ืืขื ืขื ืขืงืกืึทืงืืืืึทื ืจืืืืืง ืืื ืืึธื ื ืื ืฆืืจืืงืงืืืขื ืึท ืืขืืช ืงืึธื, ืื ืกืืกืืขื ืืืื ืฆื ืื ืจืืข ืืื ืข ืคืื โโืืืคึผืืืืืึทื ื.
ืื ืืืคึผืืืืืึทื ื ืืื ืข ืืื ืืขืจืืืืึทื ืืืคึผืืึทืืขื ืึทื ืคึฟืึทืจ ืกืืึทืืื ื. ืืืจ ืืึธืื ื ืืฉื ืึธืจืืึทื ืืืืจื ืงืืื ืืึทืื ืืืื ืจืืกืืึทืจื.
ืืืจ ืคืึธืจืกืึทืืื ืคืึทืจืืขืฉื ืึทืืข ืงืึทื ืืืื ืขืจื, ืืื ืืขืืึธืื ืืืจ ืืึทืคึผื ืึทืืข ืื ืงืึทื ืืืื ืขืจื ืืืืืขืจ, ืืขืืืืื ืืื ืืขืจ ืขืจืฉืืขืจ ืืื ืข ืืขืฉืึทืก ืืขืกืืื ื.
ืืึธืืืจ ืืืืคื ืื ืืึทืืึทืืืืก ืืืืืจืืืฉืึทื ื ืืืึธืก ืืขื ืขื ืืขืฉืจืืื ืืืจื ืื ืืขืืืขืืึธืคึผืขืจืก ืคึฟืึทืจ ืื ืงืจืึทื ื ืืืึทืืขืืืืืง ืกืืืืืืข.
ืขืก ืืื ืึท ืืึทืืขืจืงืื ื ืึทื ืืึธืก ืืึธื ืืืื ืืขืืืขื ืื ืืืืื ืฆื ืื ืืขื ืฆืืืืึทื.
ืืื ื ืืฉื ืึทืจืืขืื ืืืขื ืืฉืึทื ืืื ื ืื ืืขืจืข ืฆืืืืืื.
ืขืก ืืื ืืขืืืขื ืฆื ืึธืจืืึทื ืืืืจื ืจืึธืืึธืืืฅ ืฆืืืืืขื ืฆืืืืืื.
ืฆื ืึธืจืืึทื ืืืืจื ืืขื ืืืืึทืืขืจ, ืืืจ ืืึทืจืคึฟื ืฆื ืื ืกืืึทืืืจื Gitlab Runner.
ืื ื ืืฆื ืืื ืืขืฉืจืืื ืืื Golang. ืขืก ืืื ืึท ืืืื ืืขืงืข ืืื ืืขืืืืื ืืืขื ืืื ืื ืืึธืืึทื ื ืืืขืื, ืืืึธืก ืืื ื ืืฉื ืืึทืจืคื ืงืืื ืืืคึผืขื ืืึทื ืกืื.
ืืื ืกืืึทืจืืึทืคึผ ืืืจ ืจืขืืืกืืจืืจื Gitlab Runner.
ืืืจ ืืึทืงืืืขื ืืขื ืฉืืืกื ืืื ืื Gitlab ืืืขื ืฆืืืื ื.
ืืขืจื ืึธื ืืืจ ืจืืคื ืื ืื ืืืืึทืืืืึทืืืึธื ืืึทืคึฟืขื ืืืืฃ ืื ืืึทืคึฟืขืื ืฉืืจื.
ืงืึทื ืคืืืืขืจ Gitlab Runner ืืื ืืืึทืืึธื ืืึธืืข (ืฉืขื, ืืึธืงืงืขืจ, VirtualBox, SSH)
ืื ืงืึธื ืืืืฃ Gitlab Runner ืืืขื ืืืกืคืืจื ืืืืฃ ืืขืืขืจ ืืืขืจืืขืื ืืืคึผืขื ืืื ื ืืืืฃ ืื .gitlab-ci.yml ืืึทืฉืืขืืืงื.
ืืื ืขืก ืืืืืฉืืืึทืื ืงืืงื ืืื Gitlab ืืื ืื ืืืขื ืฆืืืื ื. ื ืึธื ืงืึทื ืขืงืืื ื GItlab CI, ืืืจ ืืึธืื ืึท ืคืึธื ืืืึธืก ืืืืืื ืืื ืืืึธืก ืฉืืึทื ืื ืืืืขื ืืื ืืื ืืขืจ ืืึธืืขื ื.
ืืืจ ืืขื ืึทื 4 ืืื ืื ืฆืืจืืง ืืื ืืขืืืื ืึท ืงืึธืืืื ืืืึธืก ืืืจืืืขืืื ืืขื ืึทืืข ืื ืืขืกืฅ ืืื ืืื ื ืืฉื ืืขืคึฟืืจื ืงืืื ืคืจืืืืขืืขื.
ืืืจ ืงืขื ืขื ืงืืงื ืืื ืื ืืืืืขืจ ืืื ืืขืจ ืืขืืึทื. ืืึธ ืืืจ ืืขื ืึทื ืฆืืืื ืฉืืึทืื ืืึธืื ืฉืืื ืืืจืืืขืืื ืืขื. ืืขืกืืื ื ืกืืึทืืืก ืืื ืืืคึผืืืืืึทื ื ืกืืึทืืืก ืืื ืกืืึทืืื ื.
ืืืื ืืืจ ืืจืืงื ืืืืฃ ืึท ืกืคึผืขืฆืืคืืฉ ืืืืขื, ืขืก ืืืขื ืืืื ืงืึทื ืกืึธืื ืจืขืืืืืึทื ืคืื ืื ืงืึทืืึทื ืื ืืืึธืก ืืขื ืขื ืืึธื ืืฉื ืืื ืืขื ืคึผืจืึธืฆืขืก ืืืื .gitlab-ci.yml.
ืืึธืก ืืื ืืื ืื ืืขืฉืืืืข ืคืื โโืืื ืืืขืจ ืคึผืจืึธืืืงื ืงืืงื ืืื. ืื ืจ ืืขืขื , ื ื ืข ืก ืืฒื ืข ื ืืขืฐืข ื ืืขืืื ืืขื ืข ืคืจืืืื . ืืืขื ืื ืืขืกืฅ ืืขื ืขื ืืขืจืืื ืื, ืืื ืืึธื ื ืื ืืึทื ืฆื ืืขืจ ืืืืึทืืขืจ ืฉืจืื ืืื ืื ืกืืึทืืื ื ืงืึธื ืืื ื ืืฉื ืืขืจืืืึทื ืืืงื.
ืืืึธืก ืคึผืจืึธืืืขืืก ืืึธืื ืืืจ ืกืึธืืืืข ืืื ืกืืึทืืื ื ืืืขื ืืืจ ืืืคึผืืึทืืขื ืึทื ืืึธืงืขืจ? ืืื ืืืขืจ ืกืืกืืขื ืืืฉืืืื ืคืื ืงืึทืืคึผืึธืื ืึทื ืฅ ืืื ืืืจ ืืึทืจืคึฟื ืฆื ืจืืกืืึทืจื ืืืืื ืขืืืขืืข ืคืื โโืื ืงืึทืืคึผืึธืื ืึทื ืฅ ืืืึธืก ืืขื ืขื ืืขืจืืืึทื ืืืงื ืืื ืื ืจืืคึผืึทืืึทืืึธืจื, ืืื ื ืืฉื ืื ืืื ืฆืข ืกืืกืืขื.
ืฆื ืืึธื ืืึธืก, ืืืจ ืืึธืื ืฆื ืฆืขืืืืื ืึทืืฅ ืืื ืืึทืืื ืืขืจ ืคืึธืืืขืจืก.
ื ืึธื ืืขื, ืืืจ ืืึธืื ืึท ืคึผืจืึธืืืขื ืืื ืืขื ืคืึทืงื ืึทื Docker-compose ืงืจืืืืฅ ืืืื ืืืืืขื ืข ื ืขืฅ ืคึผืืึทืฅ ืคึฟืึทืจ ืืขืืขืจ ืืขืงืข ืืื ืงืขื ื ืืฉื ืืขื ืื ืงืึทืืคึผืึธืื ืึทื ืฅ ืคืื ืืืื ืืืจ.
ืฆื ืืึทืงืืืขื ืึทืจืื, ืืืจ ืืืฉืืคื ืื ื ืขืฅ ืืึทื ืืืึทืื ืืื ืืึธืงืงืขืจ. ืืื Docker-compose ืขืก ืืื ืืขืืืขื ืืขืฉืจืืื ืึทื ืืืจ ืืึธื ื ืืฆื ืึทืืึท ืึท ื ืขืฅ ืคึฟืึทืจ ืืขื ืคึผืจืืืขืงื.
ืืืื, ืืขืืขืจ ืงืึธืืคึผืึธื ืขื ื ืืืึธืก ืกืืึทืจืฅ ืืื ืืขื ืืืื ืืขื ืงืึทืืคึผืึธืื ืึทื ืฅ ืืื ืื ืืขืจืข ืคึผืึทืจืฅ ืคืื ืื ืกืืกืืขื.
ืืขืจ ืืืืึทืืขืจ ืคึผืจืึธืืืขื ืืื ืืืืืืืืื ื ืกืืึทืืื ื ืฆืืืืฉื ืขืืืขืืข ืคึผืจืึทืืืฉืขืงืก.
ืืื ื ืคึฟืึทืจ ืึทืืข ืืขื ืฆื ืงืืงื ืฉืืื ืืื ืืื ื ืึธืขื ื ืืื ืืขืืืขื ืฆื ืคึผืจืึธืืืงืฆืืข, ืขืก ืืื ืืื ืฆื ื ืืฆื ืคึผืึธืจื 80 ืึธืืขืจ 443, ืืืึธืก ืืื ืืขื ืืฆื ืืืืขืืื ืืื ืื ืืืขื.
ืืื ืึทืืื ืืึธืื ืืืจ ืืึธืก ืกืึทืืืื? ืืืจ ืืึธืื ืฆืืืขืฉืืขืื ืืืื ืืืืืึทื ืจืึทื ืขืจ ืฆื ืึทืืข ืืจืืืก ืคึผืจืึทืืืฉืขืงืก.
ืืืืืึทื ืึทืืึทืื ืืืจ ืฆื ืงืึทืืขืจ ืขืืืขืืข ืคืื ืื ืืขืจืืขืืืืื Gitlab ืจืึทื ืขืจื, ืืืึธืก ืืืขื ืคืฉืื ื ืขืืขื ืึทืืข ืื ืืึทืกืงืก ืืืื ืขืจ ืืืจื ืืืื ืขืจ ืืื ืึท ืืึทืึธืืืฉ ืกืืจ ืืื ืืืืคื ืืื.
ืฆื ืืืกืืืืื ืืืื ืคึผืจืึธืืืขืืก, ืืืจ ืืืืืืขื ืื ืืจืืคึผืข ืคืื โโืืื ืืืขืจ ืคึผืจืึทืืืฉืขืงืก ืฆื ืืืื ืืืืืึทื ืจืึทื ืขืจ, ืืืึธืก ืงืึธืคึผืข ืืื ืืื ืืืขืจ ืืืึทืืืืื ืึธื ืคืจืืืืขืืขื.
ืืืจ ืืจืืืขืจืืขืคืืจื nginx-proxy ืืื ืึท ืืึทืืื ืืขืจ ืงืึทืืขืจ ืฉืจืืคื ืืื ืืขืฉืจืืื ืื ืืจืืืก ืคืื ืึทืืข ืคึผืจืึทืืืฉืขืงืก ืืื ืขืก.
ืืื ืืืขืจ ืคึผืจืืืขืงื ืืื ืืืื ืืจืื, ืืื ืื ืืึทืืึทื ืกืขืจ ืืื ืขืืืขืืข ืืจืื ืืืืืจื ืืืืฃ ืคึผืจืืืขืงื ื ืขืืขื. ืขืก ืงืขื ืขื ืคึผืจืึทืงืกื ืืืืึทืืขืจ ืืืจื ืคืขืื ื ืขืืขื.
ืืื ืืืขืจ ืจืืงืืืขืก ืงืืืขื ืืืจื ืื ืคืขืื ืืืืฃ ืคึผืึธืจื 80 ืืื ืืขื ืขื ืจืืืึทืืืื ืฆื ืึท ืืจืืคึผืข ืคืื โโืงืึทื ืืืื ืขืจื ืืืึธืก ืกืขืจืืืขืก ืืขื ืคืขืื.
ืืืึธืก ืื ืืขืจืข ืคืจืืืืขืืขื ืืขื ืขื ืืึธืจื? ืืึธืก ืืื ืืืึธืก ืึทืืข ืงืึทื ืืืื ืขืจื ืืืืคื ืืื ืืืึธืจืฆื ืืืจื ืคืขืืืงืืึทื. ืืึธืก ืืื ืืขืจ ืืืึธืจืฆื ืึทื ืืงืืืึทื ืืืึธืจืฆื ืืึทืืขืืึธืก ืคืื ืื ืกืืกืืขื.
ืึธืืขืจ, ืืืื ืืืจ ืึทืจืืึทื ืืขื ืงืึทื ืืืื ืขืจ, ืขืก ืืืขื ืืืื ืืืึธืจืฆื ืืื ืื ืืขืงืข ืืืึธืก ืืืจ ืืึทืื ืืื ืืขื ืงืึทื ืืืื ืขืจ ืืึทืงืืืขื ืืืึธืจืฆื ืจืขืื.
ืืืื ืึท ืืขืืืขืืึธืคึผืขืจ ืืื ืืจืืื ืืื ืืขื ืงืึทื ืืืื ืขืจ ืืื ืืขืืืื ืขืืืขืืข ืงืึทืืึทื ืื ืืืึธืก ืืืฉืขื ืขืจืืืืึทื ืืขืงืขืก, ืืขืืึธืื ืืื ืงืก ืืขืจ ืงืึทื ืืืื ืขืจ, ืืขืืึธืื ืืื ืืืื ืึทืจืืขื ืืืขืืืืืึทืืขืจ ืขืจ ืืื ืึท ืืขืงืข ืฆื ืืืึธืก ืขืจ ืืื ื ืืฉื ืึทืงืกืขืก.
ืืืืืืื ืงืขื ืืขื ืืืก ืืืืกืืืืื? ืืืจ ืงืขื ืขื ืืืืื ืืืืขืจื ืืืึธืก ืืืขื ืืืื ืืื ืืขื ืงืึทื ืืืื ืขืจ.
ืืืึธืก ืคึผืจืึธืืืขืืก ืืืืคืฉืืืื ืืืขื ืืืจ ืฆืืืขืืขืื ืืขื ืืึทื ืืฆืขืจ?
ืืืขื ืงืจืืืืืื ื ืึท ืืึทื ืืฆืขืจ, ืื ืืจืืคึผืข ืฉืืึทื (UID) ืืื ืืึทื ืืฆืขืจ ืฉืืึทื (GID) ืึธืคื ืืึธื ื ืื ืืืืึทืื.
ืฆื ืกืึธืืืืข ืืขื ืคึผืจืึธืืืขื ืืื ืืขื ืงืึทื ืืืื ืขืจ, ืืืจ ื ืืฆื ื ืืฆืขืจืก ืืื ID 1000.
ืืื ืืื ืืืขืจ ืคืึทื, ืืึธืก ืืื ืงืึธืืึทื ืกืืืืึทื ืืื ืื ืคืึทืงื ืึทื ืึผืืขื ืึทืืข ืืขืืืขืืึธืคึผืขืจืก ื ืืฆื Ubuntu OS. ืืื ืืื ืืืื ืื ืึทืก ืืขืจ ืขืจืฉืืขืจ ืืึทื ืืฆืขืจ ืืื ID 1000.
ืืึธืื ืืืจ ืคึผืืึทื ื?
ืืืืขื ืขื ืื ืืึธืงืงืขืจ ืืึทืงืืืืขื ืืืืฉืึทื. ืื ืคึผืจืืืขืงื ืืื ืึทืงืืืืืื ืืขืืืขืืึธืคึผืื ื, ืืึทืงืืืืขื ืืืืฉืึทื ืืื ืืฉืึทื ืืื ื. ืืึทืื ืืืึธืก ืืื ืืขืืืขื ืืืงืืืขื ืฆืืืื ืึธืืขืจ ืืจืื ืืืฉืื ืฆืืจืืง ืืื ืกืืึธืืื ืึทืืืืืืืื.
ืขืืืขืืข ืคืื โโืื ืคืจืืืืขืืขื ืืืึธืก ืืืจ ืกืึทืืืื ืงืขื ืืืื ืฉืืื ืกืึทืืืื ืืืจื ื ืึธืจืืึทื ืืืืืขื.
ืืื ืืึทืงืข ืืืืื ืฆื ืืึทื ืืืืฃ ืืื ืืึทื ืืืืึทื ืฆื ืึธืจืงืขืกืืจืึทืืืึธื.
ืืืื ืืืืฉืคึผืื ืืื ืืึธืงืขืจ ืก ืืขืืืื-ืืื ืืขืงืึทื ืืืึทื ืืขืจืืคื Docker Swarm, ืืืึธืก ืงืืื ืืืืก ืคืื ืื ืงืขืกืื. ืืื ืืืึธืื ืืื ืฆื ืงืึทืืขืจ ืขืคึผืขืก ืืื ืคึผืจืึธืืืงืฆืืข ืืืืืจื ืืืืฃ Docker Swarm ืืขืื ืึธืืึธืืืข.
ืกืคึผืึทื ืื ื ืงืึทื ืืืื ืขืจื ืืืื ืืจืืขืื ืืื ืืึธืืก ืืืืึทืงืืืขื. ืืืฆื ืื ืืึธืืก ืืขื ืขื ืืคืืขืืื ืืขืจื. ืืื ืืขื ืขื ืฆืขืืืึธืจืคื ืืื ืงืึทื ืืืื ืขืจื. ืืืื ืขืจ ืคืื ืื ืืึทืกืงืก ืืื ืฆื ืืึทืื ืืึทืงืืืขื ืึทืงืกืขืก ืฆื ืืึธืืก ืืืจื ืึท ืืืขื ืฆืืืื ื.
ืืงืืจ: www.habr.com