เช เชฒเซเชเชฎเชพเช, เชนเซเช Plesk เชเชเชเซเชฐเซเชฒ เชชเซเชจเชฒ เช
เชจเซ Github เชเซเชฐเชฟเชฏเชพเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ CI/CD เชธเซเช เชเชฐเชตเชพเชจเซ เชฎเชพเชฐเซ เช
เชจเซเชญเชต เชถเซเชฐ เชเชฐเซเชถ. เชเชเซ เชเชชเชฃเซ เชถเซเชเซเชถเซเช เชเซ "เชนเซเชฒเซเชตเชฐเซเชฒเซเชก" เชจเชพเชฎ เชธเชพเชฅเซ เชธเชฐเชณ เชชเซเชฐเซเชเซเชเซเช เชเซเชตเซ เชฐเซเชคเซ เชเซเช เชตเชตเซ. เชคเซ เชซเซเชฒเชพเชธเซเช เชชเชพเชฏเชฅเซเชจ เชซเซเชฐเซเชฎเชตเชฐเซเชเชฎเชพเช เชธเซเชฒเซเชฐเซ เชเชพเชฎเชฆเชพเชฐเซ เช
เชจเซ เชเซเชฃเซเชฏ 8 เชซเซเชฐเชจเซเชเชเชจเซเชก เชธเชพเชฅเซ เชฒเชเชพเชฏเซเชฒเซเช เชเซ.
เชฐเซเชชเซเชเซเชเชฐเซเชเชจเซ เชฒเชฟเชเชเซเชธ:
เชฒเซเชเชจเชพ เชชเชนเซเชฒเชพ เชญเชพเชเชฎเชพเช, เช เชฎเซ เช เชฎเชพเชฐเชพ เชชเซเชฐเซเชเซเชเซเช เช เชจเซ เชคเซเชจเชพ เชญเชพเชเซ เชเซเชเชถเซเช. เชฌเซเชเชพเชฎเชพเช, เช เชฎเซ Plesk เชเซเชตเซ เชฐเซเชคเซ เชธเซเช เชเชฐเชตเซเช เช เชจเซ เชเชฐเซเชฐเซ เชเชเซเชธเซเชเซเชจเซเชถเชจเซเชธ เช เชจเซ เชเชเชเซ (DB, RabbitMQ, Redis, Docker, เชตเชเซเชฐเซ) เชเซเชตเซ เชฐเซเชคเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเซเช เชคเซ เชถเซเชงเซเชถเซเช.
เชคเซเชฐเซเชเชพ เชญเชพเชเชฎเชพเช, เช เชฎเซ เชเชเชฐเซ เชธเชฎเชเซเชถเซเช เชเซ เช เชฎเชพเชฐเชพ เชชเซเชฐเซเชเซเชเซเชเชจเซ เชธเชฐเซเชตเชฐ เชชเชฐ dev เช เชจเซ prod เชชเชฐเซเชฏเชพเชตเชฐเชฃเชฎเชพเช เชเชฎเชพเชตเช เชเชฐเชตเชพ เชฎเชพเชเซ เชชเชพเชเชชเชฒเชพเชเชจ เชเซเชตเซ เชฐเซเชคเซ เชธเซเช เชเชฐเชตเซ. เช เชจเซ เชชเชเซ เช เชฎเซ เชธเชฐเซเชตเชฐ เชชเชฐ เชธเชพเชเช เชถเชฐเซ เชเชฐเซเชถเซเช.
เช
เชจเซ เชนเชพ, เชนเซเช เชฎเชพเชฐเซ เชชเชฐเชฟเชเชฏ เชเชชเชตเชพเชจเซเช เชญเซเชฒเซ เชเชฏเซ. เชฎเชพเชฐเซเช เชจเชพเชฎ เชเชฒเซเช เชฌเซเชฐเซเชเซเชต เชเซ, เชนเซเช เชกเซเชฎเชเซเชฒเชฟเช เชเชพเชคเซ เชฎเซเชฐเซเชเชเซเช เชฎเซเชจเซเชเชฐ เชฎเชพเชเซเชจเซ CRM เชเซเชฎเชฎเชพเช เชซเซเชฒเชธเซเชเซเช เชกเซเชตเชฒเชชเชฐ เชเซเช.
เชชเซเชฐเซเชเซเชเซเช เชเชพเชเชเซ
เชชเซเชฐเชฅเชฎ, เชเชพเชฒเซ เชฌเซ เชชเซเชฐเซเชเซเชเซเช เชฐเซเชชเซเชเซเชเชฐเซเช เชเซเชเช - เชฌเซเชเชเชจเซเชก เช เชจเซ เชซเซเชฐเชจเซเช - เช เชจเซ เชเซเชก เชเชชเชฐ เชเชเช.
เชฌเซเชเชเชจเซเชก: เชซเซเชฒเชพเชธเซเช+เชธเซเชฒเซเชฐเซ
เชชเชพเชเชณเชจเชพ เชญเชพเช เชฎเชพเชเซ, เชฎเซเช เชเช เชธเชฎเซเชน เชฒเซเชงเซ เชเซ เชชเชพเชฏเชฅเซเชจ เชตเชฟเชเชพเชธเชเชฐเซเชคเชพเชเชฎเชพเช เชเซเชฌ เช เชฒเซเชเชชเซเชฐเชฟเชฏ เชเซ: เชซเซเชฒเชพเชธเซเช เชซเซเชฐเซเชฎเชตเชฐเซเช (เชเชชเซเชเช เชฎเชพเชเซ) เช เชจเซ เชธเซเชฒเชฐเซ (เชเชพเชธเซเช เชเชคเชพเชฐ เชฎเชพเชเซ). SQLAchemy เชจเซ เชเชชเชฏเซเช ORM เชคเชฐเซเชเซ เชฅเชพเชฏ เชเซ. เชเชฒเซเชฎเซเชฌเชฟเชเชจเซ เชเชชเชฏเซเช เชธเซเชฅเชณเชพเชเชคเชฐ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ. เชนเซเชจเซเชกเชฒเซเชธเชฎเชพเช JSON เชฎเชพเชจเซเชฏเชคเชพ เชฎเชพเชเซ - เชฎเชพเชฐเซเชถเชฎเซเชฒเซ.
ะ
/ping
- เชเชชเชฒเชฌเซเชงเชคเชพ เชเชเชพเชธเชตเชพ เชฎเชพเชเซ;- เชจเซเชเชงเชฃเซ, เช เชงเชฟเชเซเชคเชคเชพ, เชกเซ-เชเชฅเซเชฐเชพเชเชเซเชถเชจ เช เชจเซ เช เชงเชฟเชเซเชค เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซ เชนเซเชจเซเชกเชฒเซเชธ;
- เชเช เชเชฎเซเชเชฒ เชนเซเชจเซเชกเชฒ เชเซ เชเซ เชเชพเชฐเซเชฏเชจเซ เชธเซเชฒเชฐเซ เชเชคเชพเชฐเชฎเชพเช เชฎเซเชเซ เชเซ.
send_mail_task
.
เชซเซเชฒเซเชกเชฐเชฎเชพเช
docker
เชฌเซ เชกเซเชเชฐเชซเชพเชเชฒเซเชธ เชธเชพเชฅเซ (base.dockerfile
เชญเชพเชเซเชฏเซ เช เชฌเชฆเชฒเชพเชคเซ เชเชงเชพเชฐ เชเชฌเซ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เช เชจเซDockerfile
เชฎเซเชเซเชฏ เชเชธเซเชฎเซเชฌเชฒเซเช เชฎเชพเชเซ);.env_files
- เชตเชฟเชตเชฟเชง เชชเชฐเซเชฏเชพเชตเชฐเชฃเซ เชฎเชพเชเซ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชเชฒเซ เชธเชพเชฅเซเชจเซ เชซเชพเชเชฒเซ เชธเชพเชฅเซ.
เชชเซเชฐเซเชเซเชเซเชเชจเชพ เชฎเซเชณเชฎเชพเช เชเชพเชฐ เชกเซเชเชฐ-เชเชเชชเซเช เชซเชพเชเชฒเซ เชเซ:
docker-compose.local.db.yml
เชตเชฟเชเชพเชธ เชฎเชพเชเซ เชธเซเชฅเชพเชจเชฟเช เชกเซเชเชพเชฌเซเช เชเชเชคเซเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ;docker-compose.local.workers.yml
เชเชพเชฐเซเชฏเชเชฐ, เชกเซเชเชพเชฌเซเช, เชฐเซเชกเชฟเชธ เช เชจเซ เชฐเซเชฌเชฟเชเชเชฎเชเซเชฏเซเชจเชพ เชธเซเชฅเชพเชจเชฟเช เชเชเซเชฐ เชฎเชพเชเซ;docker-compose.test.yml
เชเชฎเชพเชตเช เชฆเชฐเชฎเชฟเชฏเชพเชจ เชชเชฐเซเชเซเชทเชฃเซ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ;docker-compose.yml
เชเชฎเชพเชตเช เชฎเชพเชเซ.
เช
เชจเซ เชเซเชฒเซเชฒเซเช เชซเซเชฒเซเชกเชฐ เชเซเชฎเชพเช เช
เชฎเชจเซ เชฐเชธ เชเซ -
deploy.sh
- เชธเซเชฅเชณเชพเชเชคเชฐ เช เชจเซ เชเชฎเชพเชตเชเชจเซ เชถเชฐเซเชเชค. เชเซเชฅเชฌ เชเซเชฐเชฟเชฏเชพเชเชฎเชพเช เชชเชฐเซเชเซเชทเชฃเซ เชฌเชพเชเชงเชตเชพ เช เชจเซ เชเชฒเชพเชตเชตเชพ เชชเชเซ เชธเชฐเซเชตเชฐ เชชเชฐ เชเชพเชฒเซ เชเซ;rollback.sh
- เชเชธเซเชฎเซเชฌเชฒเซเชจเชพ เชชเชพเชเชฒเชพ เชธเชเชธเซเชเชฐเชฃ เชชเชฐ เชเชจเซเชเซเชจเชฐเชจเซเช เชฐเซเชฒเชฌเซเช;curl_tg.sh
- เชเซเชฒเชฟเชเซเชฐเชพเชฎ เชชเชฐ เชเชฎเชพเชตเช เชธเซเชเชจเชพเช เชฎเซเชเชฒเชตเซ.
เชเซเชฃเซเชฏ เชชเชฐ เช เชเซเชฐเชญเชพเช
- เชเชฎเซเชฒ เชฎเซเชเชฒเชตเชพ เชฎเชพเชเซเชจเซเช เชซเซเชฐเซเชฎ เช เชจเซ เชเชเซเชเชฟเช เชฌเชเชจ เชธเชพเชฅเซเชจเซเช เชฎเซเชเซเชฏ เชชเซเชทเซเช .
- เชฒเซเชเชฟเชจ เชชเซเชทเซเช .
- เชจเซเชเชงเชฃเซ เชชเซเชทเซเช .
เชฎเซเชเซเชฏ เชชเซเชทเซเช เชคเชชเชธเซเชตเซ เชฆเซเชเชพเชฏ เชเซ:
เชฐเซเช เชชเชฐ เชฌเซ เชซเชพเชเชฒเซ เชเซ Dockerfile
ะธ docker-compose.yml
, เชคเซเชฎเช เชชเชฐเชฟเชเชฟเชค เชซเซเชฒเซเชกเชฐ .ci-cd
เชชเชพเชเชณเชจเชพ เชฐเชฟเชชเซเชเซเชเชฐเซ เชเชฐเชคเชพ เชฅเซเชกเซ เชเชเซ เชธเซเชเซเชฐเชฟเชชเซเชเซ เชธเชพเชฅเซ (เชเชพเชฒเชคเชพ เชชเชฐเซเชเซเชทเชฃเซ เชฎเชพเชเซ เชธเซเชเซเชฐเชฟเชชเซเชเซ เชฆเซเชฐ เชเชฐเซ).
Plesk เชฎเชพเช เชเช เชชเซเชฐเซเชเซเชเซเช เชถเชฐเซ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
เชเชพเชฒเซ Plesk เชธเซเช เชเชฐเซเชจเซ เช เชจเซ เช เชฎเชพเชฐเซ เชธเชพเชเช เชฎเชพเชเซ เชธเชฌเซเชธเซเชเซเชฐเชฟเชชเซเชถเชจ เชฌเชจเชพเชตเซเชจเซ เชชเซเชฐเชพเชฐเชเชญ เชเชฐเซเช.
เชเชเซเชธเซเชเซเชเชถเชจ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
เชชเซเชฒเซเชธเซเชเชฎเชพเช, เช เชฎเชจเซ เชเชพเชฐ เชเชเซเชธเซเชเซเชเชถเชจเชจเซ เชเชฐเซเชฐ เชเซ:
Docker
Plesk เชเชกเชฎเชฟเชจ เชชเซเชจเชฒเชฎเชพเช เชเชจเซเชเซเชจเชฐเชจเซ เชธเซเชฅเชฟเชคเชฟเชจเซ เชฎเซเชจเซเช เชเชฐเชตเชพ เช เชจเซ เชฆเซเชทเซเชเชฟเชจเซ เชฐเซเชคเซ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ;Git
เชธเชฐเซเชตเชฐ เชชเชฐ เชเชฎเชพเชตเช เชชเชเชฒเชพเชเชจเซ เชเซเช เชตเชตเชพ เชฎเชพเชเซ;Let's Encrypt
เชฎเชซเชค TLS เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ เชเชจเชฐเซเช เชเชฐเชตเชพ (เช เชจเซ เชธเซเชตเชคเช-เชจเชตเซเชเชฐเชฃ);Firewall
เชเชจเชเชฎเชฟเชเช เชเซเชฐเชพเชซเชฟเชเชจเชพ เชซเชฟเชฒเซเชเชฐเชฟเชเชเชจเซ เชเซเช เชตเชตเชพ เชฎเชพเชเซ.
เชคเชฎเซ เชเชเซเชธเซเชเซเชเชถเชจ เชตเชฟเชญเชพเชเชฎเชพเช Plesk เชเชกเชฎเชฟเชจ เชชเซเชจเชฒ เชฆเซเชตเชพเชฐเชพ เชคเซเชฎเชจเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ เชถเชเซ เชเซ:
เช
เชฎเซ เชเชเซเชธเซเชเซเชเชถเชจ เชฎเชพเชเซ เชตเชฟเชเชคเชตเชพเชฐ เชธเซเชเชฟเชเชเซเชธเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเชเชถเซเช เชจเชนเซเช, เชกเชฟเชซเซเชฒเซเช เชธเซเชเชฟเชเชเซเชธ เช
เชฎเชพเชฐเชพ เชกเซเชฎเซ เชนเซเชคเซเช เชฎเชพเชเซ เชเชฐเชถเซ.
เชธเชฌเซเชธเซเชเซเชฐเชฟเชชเซเชถเชจ เช เชจเซ เชธเชพเชเช เชฌเชจเชพเชตเซ
เชเชเชณ, เช เชฎเชพเชฐเซ เช เชฎเชพเชฐเซ helloworld.ru เชตเซเชฌเชธเชพเชเช เชฎเชพเชเซ เชธเชฌเซเชธเซเชเซเชฐเชฟเชชเซเชถเชจ เชฌเชจเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เช เชจเซ เชคเซเชฏเชพเช dev.helloworld.ru เชธเชฌเชกเซเชฎเซเชเชจ เชเชฎเซเชฐเชตเซเช เชชเชกเชถเซ.
- helloworld.ru เชกเซเชฎเซเชจ เชฎเชพเชเซ เชธเชฌเซเชธเซเชเซเชฐเชฟเชชเซเชถเชจ เชฌเชจเชพเชตเซ เช
เชจเซ เชธเชฟเชธเซเชเชฎ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชฎเชพเชเซ เชฒเซเชเชฟเชจ-เชชเชพเชธเชตเชฐเซเชกเชจเซ เชเชฒเซเชฒเซเช เชเชฐเซ:
เชชเซเชทเซเช เชจเชพ เชคเชณเชฟเชฏเซ เชฌเซเชเซเชธเชจเซ เชเซเช เชเชฐเซ เชฒเซเชเซเชธ เชเชจเซเชเซเชฐเชฟเชชเซเช เชตเชกเซ เชกเซเชฎเซเชจเชจเซ เชธเซเชฐเชเซเชทเชฟเชค เชเชฐเซเชเซ เชเชชเชฃเซ เชธเชพเชเช เชฎเชพเชเซ HTTPS เชธเซเช เชเชฐเชตเชพ เชฎเชพเชเชเซเช เชคเซ: - เชเชเชณ, เช เชธเชฌเซเชธเซเชเซเชฐเชฟเชชเซเชถเชจเชฎเชพเช, เชเช เชธเชฌเชกเซเชฎเซเชจ dev.helloworld.ru เชฌเชจเชพเชตเซ (เชเซเชจเชพ เชฎเชพเชเซ เชคเชฎเซ เชฎเชซเชค TLS เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชชเชฃ เชเชชเซ เชถเชเซ เชเซ):
เชธเชฐเซเชตเชฐ เชเชเชเซ เชธเซเชฅเชพเชชเชฟเชค เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชธเชฐเซเชตเชฐ เชเซ OS เชกเซเชฌเชฟเชฏเชจ เชธเซเชเซเชฐเซเช 9.12 เช เชจเซ เชเชเชเซเชฐเซเชฒ เชชเซเชจเชฒ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒ เชเซ เชชเซเชฒเซเชธเซเช เชเชฌเซเชธเชฟเชกเซเชฏเชจ 18.0.27.
เช เชฎเชพเชฐเซ เช เชฎเชพเชฐเชพ เชชเซเชฐเซเชเซเชเซเช เชฎเชพเชเซ เชเชจเซเชธเซเชเซเชฒ เช เชจเซ เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ:
- PostgreSQL (เช เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, dev เช เชจเซ prod เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชฎเชพเชเซ เชฌเซ เชกเซเชเชพเชฌเซเชธเซเชธ เชธเชพเชฅเซ เชเช เชธเชฐเซเชตเชฐ เชนเชถเซ).
- RabbitMQ (เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชฎเชพเชเซ เชตเชฟเชตเชฟเชง เชตเซเชธเซเช เชธเชพเชฅเซ เชธเชฎเชพเชจ, เชธเชฎเชพเชจ เชเชฆเชพเชนเชฐเชฃ).
- เชฌเซ Redis เชเชฆเชพเชนเชฐเชฃเซ (dev เช เชจเซ prod เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชฎเชพเชเซ).
- เชกเซเชเชฐ เชฐเชเชฟเชธเซเชเซเชฐเซ (เชฌเชฟเชฒเซเช เชกเซเชเชฐ เชเชฎเซเชเซเชจเชพ เชธเซเชฅเชพเชจเชฟเช เชธเซเชเซเชฐเซเช เชฎเชพเชเซ).
- เชกเซเชเชฐ เชฐเชเชฟเชธเซเชเซเชฐเซ เชฎเชพเชเซ UI.
เชชเซเชธเซเชเชเซเชฐเซ เชเชธเชเซเชฏเซเชเชฒ
Plesk เชชเชนเซเชฒเซเชฅเซ PostgreSQL DBMS เชธเชพเชฅเซ เชเชตเซ เชเซ, เชชเชฐเชเชคเซ เชจเชตเซเชจเชคเชฎ เชธเชเชธเซเชเชฐเชฃ เชจเชฅเซ (Plesk Obsidian เชฒเชเชคเซ เชตเชเชคเซ
เชจเซเช เชชเชฐ เชกเซเชฌเชฟเชฏเชจ เชชเชฐ เชชเซเชธเซเชเชเซเชฐเซเชธ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฃเซ เชฌเชงเซ เชตเชฟเชเชคเชตเชพเชฐ เชธเซเชเชจเชพเช เชเซ (
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib
PostgreSQL เชฎเชพเช เชธเชพเชฎเชพเชจเซเชฏ เชกเชฟเชซเซเชฒเซเช เชธเซเชเชฟเชเชเซเชธ เชเซ เชคเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซเชคเชพ, เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชธเซเชงเชพเชฐเชตเชพ เชฎเชพเชเซ เชคเซ เชเชฐเซเชฐเซ เชเซ. เช เช
เชฎเชจเซ เชฎเชฆเชฆ เชเชฐเชถเซ /etc/postgresql/12/main/postgresql.conf
เชเชซเชฐ เชเชฐเซเชฒเชพ เชฒเซเชเซเชจเซ. เช
เชนเซเช เช เชจเซเชเชงเชตเซเช เชเซเชเช เชเซ เชเชตเชพ เชเซเชฒเซเชเซเชฏเซเชฒเซเชเชฐ เชเซเช เชเชพเชฆเซเช เชฌเซเชฒเซเช เชจเชฅเซ, เช
เชจเซ เชคเชฎเชพเชฐเชพ เชนเชพเชฐเซเชกเชตเซเชฐ, เชเชชเซเชฒเชฟเชเซเชถเชจ เช
เชจเซ เชเซเชตเซเชฐเซ เชเชเชฟเชฒเชคเชพเชจเซ เชเชงเชพเชฐเซ เชเชงเชพเชฐเชจเซ เชตเชงเซ เชเซเชเซเชเชธ เชฐเซเชคเซ เชเซเชฏเซเชจ เชเชฐเชตเซเช เชเซเชเช. เชชเชฐเชเชคเซ เชชเซเชฐเชพเชฐเชเชญ เชเชฐเชตเชพ เชฎเชพเชเซ เช เชชเซเชฐเชคเซเช เชเซ.
เชเซเชฒเซเชเซเชฏเซเชฒเซเชเชฐ เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเชธเซเชคเชพเชตเชฟเชค เชธเซเชเชฟเชเชเซเชธ เชเชชเชฐเชพเชเชค, เช
เชฎเซ เชคเซเชฎเชพเช เชชเชฃ เชซเซเชฐเชซเชพเชฐ เชเชฐเซเช เชเซเช postgresql.conf
เชกเชฟเชซเซเชฒเซเช เชชเซเชฐเซเช 5432 เชฌเซเชเชพเชฎเชพเช (เช
เชฎเชพเชฐเชพ เชเชฆเชพเชนเชฐเชฃเชฎเชพเช - 53983).
เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒ เชฌเชฆเชฒเซเชฏเชพ เชชเชเซ, เชเชฆเซเชถ เชธเชพเชฅเซ postgresql-server เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฐเซ:
service postgresql restart
เช เชฎเซ PostgreSQL เชเชจเซเชธเซเชเซเชฒ เช เชจเซ เชเซเช เชตเซเชฏเซเช เชเซ. เชนเชตเซ เชเชพเชฒเซ เชเช เชกเซเชเชพเชฌเซเช เชฌเชจเชพเชตเซเช, dev- เช เชจเซ prod-เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชฎเชพเชเซเชจเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช, เช เชจเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชเชจเซ เชกเซเชเชพเชฌเซเชเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเชตเชพเชจเชพ เช เชงเชฟเชเชพเชฐเซ เชเชชเซเช:
$ su - postgres
postgres:~$ create database hw_dev_db_name;
CREATE DATABASE
postgres:~$ create user hw_dev_db_user with password 'hw_dev_db_password';
CREATE ROLE
postgres:~$ grant ALL privileges ON database hw_dev_db_name to hw_dev_db_user;
GRANT
postgres:~$ create database hw_prod_db_name;
CREATE DATABASE
postgres:~$ create user hw_prod_db_user with password 'hw_prod_db_password';
CREATE ROLE
postgres:~$ grant ALL privileges ON database hw_prod_db_name to hw_prod_db_user;
GRANT
เชฐเซเชฌเชฟเชเชฎเซเชฏเซเชเซเชฏเซ
เชเชพเชฒเซ เชธเซเชฒเชฐเซ เชฎเชพเชเซ เชธเชเชฆเซเชถ เชฌเซเชฐเซเชเชฐ, RabbitMQ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพ เชคเชฐเชซ เชเชเชณ เชตเชงเซเช. เชคเซเชจเซ เชกเซเชฌเชฟเชฏเชจ เชชเชฐ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเซเช เชเชเชฆเชฎ เชธเชฐเชณ เชเซ:
wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
sudo dpkg -i erlang-solutions_1.0_all.deb
sudo apt-get update
sudo apt-get install erlang erlang-nox
sudo add-apt-repository 'deb http://www.rabbitmq.com/debian/ testing main'
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install rabbitmq-server
เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชชเชเซ, เชเชชเชฃเซ เชฌเชจเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ vhosts, เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เช เชจเซ เชเชฐเซเชฐเซ เช เชงเชฟเชเชพเชฐเซ เชเชชเซ:
sudo rabbitmqctl add_user hw_dev_amqp_user hw_dev_amqp_password
sudo rabbitmqctl set_user_tags hw_dev_amqp_user administrator
sudo rabbitmqctl add_vhost hw_dev_vhost
sudo rabbitmqctl set_permissions -p hw_dev_vhost hw_dev_amqp_user ".*" ".*" ".*"
sudo rabbitmqctl add_user hw_prod_amqp_user hw_prod_amqp_password
sudo rabbitmqctl set_user_tags hw_prod_amqp_user administrator
sudo rabbitmqctl add_vhost hw_prod_vhost
sudo rabbitmqctl set_permissions -p hw_prod_vhost hw_prod_amqp_user ".*" ".*" ".*"
Redis
เชนเชตเซ เชเชพเชฒเซ เช เชฎเชพเชฐเซ เชเชชเซเชฒเชฟเชเซเชถเชจ - เชฐเซเชกเชฟเชธ เชฎเชพเชเซ เชเซเชฒเซเชฒเชพ เชเชเชเชจเซ เชเชจเซเชธเซเชเซเชฒ เช เชจเซ เชเซเช เชตเซเช. เชคเซเชจเซ เชเชชเชฏเซเช เชธเซเชฒเชฐเซ เชเชพเชฐเซเชฏเซเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซเชจเซ เชธเซเชเซเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ เชฌเซเชเชเชจเซเชก เชคเชฐเซเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ.
เช
เชฎเซ เชเชเซเชธเซเชเซเชเชถเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ dev เช
เชจเซ prod เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชฎเชพเชเซ Redis เชธเชพเชฅเซ เชฌเซ เชกเซเชเชฐ เชเชจเซเชเซเชจเชฐ เชเชญเชพ เชเชฐเซเชถเซเช Docker
Plesk เชฎเชพเชเซ.
- เช เชฎเซ Plesk เชชเชฐ เชเชเช เชเซเช, เชเชเซเชธเซเชเซเชเชถเชจ เชตเชฟเชญเชพเช เชชเชฐ เชเชเช เชเซเช, เชกเซเชเชฐ เชเชเซเชธเซเชเซเชเชถเชจ เชถเซเชงเซเช เชเซเช เช เชจเซ เชคเซเชจเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเช เชเซเช (เช เชฎเชจเซ เชเช เชฎเชซเชค เชธเชเชธเซเชเชฐเชฃเชจเซ เชเชฐเซเชฐ เชเซ):
- เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒ เชเชเซเชธเซเชเซเชเชถเชจ เชชเชฐ เชเชพเช, เชถเซเชง เชฆเซเชตเชพเชฐเชพ เชเชฌเซ เชถเซเชงเซ
redis bitnami
เช เชจเซ เชจเชตเซเชจเชคเชฎ เชธเชเชธเซเชเชฐเชฃ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ: - เช เชฎเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเซเชฒ เชเชจเซเชเซเชจเชฐเชฎเชพเช เชเชเช เชเซเช เช เชจเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจเชจเซ เชธเชฎเชพเชฏเซเชเชฟเชค เชเชฐเซเช เชเซเช: เชชเซเชฐเซเช เชธเซเชชเชทเซเช เชเชฐเซ, เชฎเชนเชคเซเชคเชฎ เชซเชพเชณเชตเซเชฒ RAM เชเชฆ, เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชเชฒเซเชฎเชพเช เชชเชพเชธเชตเชฐเซเชก, เช เชจเซ เชตเซเชฒเซเชฏเซเชฎ เชฎเชพเชเชจเซเช เชเชฐเซ:
- เช เชฎเซ เชชเซเชฐเซเชก เชเชจเซเชเซเชจเชฐ เชฎเชพเชเซ เชชเชเชฒเชพเช 2-3 เชเชฐเซเช เชเซเช, เชธเซเชเชฟเชเชเซเชธเชฎเชพเช เช เชฎเซ เชซเชเซเชค เชชเชฐเชฟเชฎเชพเชฃเซ เชฌเชฆเชฒเซเช เชเซเช: เชชเซเชฐเซเช, เชชเชพเชธเชตเชฐเซเชก, เชฐเซเชฎ เชเชฆ เช เชจเซ เชธเชฐเซเชตเชฐ เชชเชฐ เชตเซเชฒเซเชฏเซเชฎ เชซเซเชฒเซเชกเชฐเชจเซ เชชเชพเชฅ:
เชกเซเชเชฐ เชฐเชเชฟเชธเซเชเซเชฐเซ
เชฎเซเชณเชญเซเชค เชธเซเชตเชพเช เชเชชเชฐเชพเชเชค, เชธเชฐเซเชตเชฐ เชชเชฐ เชคเชฎเชพเชฐเซ เชชเซเชคเชพเชจเซ เชกเซเชเชฐ เชเชฎเซเช เชฐเชฟเชชเซเชเซเชเชฐเซ เชฎเซเชเชตเซ เชธเชฐเชธ เชฐเชนเซเชถเซ. เชธเชฆเชจเชธเซเชฌเซ, เชธเชฐเซเชตเชฐ เชธเซเชชเซเชธ เชนเชตเซ เชเชเชฆเชฎ เชธเชธเซเชคเซ เชเซ (เชกเซเชเชฐเชนเชฌ เชธเชฌเซเชธเซเชเซเชฐเชฟเชชเซเชถเชจ เชเชฐเชคเชพเช เชเซเชเซเชเชธเชชเชฃเซ เชธเชธเซเชคเซ), เช เชจเซ เชเชพเชจเชเซ เชฐเชฟเชชเซเชเซเชเชฐเซ เชธเซเช เชเชฐเชตเชพเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเซเชฌ เช เชธเชฐเชณ เชเซ.
เช เชฎเซ เชเชเซเชเซเช เชเซเช:
- เชชเชพเชธเชตเชฐเซเชก-เชธเชเชฐเชเซเชทเชฟเชค เชกเซเชเชฐ เชฐเซเชชเซเชเซเชเชฐเซ เชธเชฌเชกเซเชฎเซเชจ เชชเชฐ เชธเซเชฒเชญ เชเซ
https://docker.helloworld.ru ; - เชฐเชฟเชชเซเชเซเชเชฐเซเชฎเชพเช เชเชฌเซเช เชเซเชตเชพ เชฎเชพเชเซ UI, เช
เชนเซเช เชเชชเชฒเชฌเซเชง เชเซ
https://docker-ui.helloworld.ru .
เช เชเชฐเชตเชพ เชฎเชพเชเซ:
- เชเชพเชฒเซ เช เชฎเชพเชฐเชพ เชธเชฌเซเชธเซเชเซเชฐเชฟเชชเซเชถเชจเชฎเชพเช Plesk เชฎเชพเช เชฌเซ เชธเชฌเชกเซเชฎเซเชจเซเชธ เชฌเชจเชพเชตเซเช: docker.helloworld.ru เช เชจเซ docker-ui.helloworld.ru, เช เชจเซ เชคเซเชฎเชจเชพ เชฎเชพเชเซ เชเชพเชฒเซ เชเชจเซเชเซเชฐเชฟเชชเซเช เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซเชจเซ เชเซเช เชตเซเช.
- เชซเชพเชเชฒเชจเซ docker.helloworld.ru เชธเชฌเชกเซเชฎเซเชจ เชซเซเชฒเซเชกเชฐเชฎเชพเช เชเชฎเซเชฐเซ
docker-compose.yml
เชเชจเชพ เชเซเชตเซ เชธเชพเชฎเชเซเชฐเซ เชธเชพเชฅเซ:version: "3" services: docker-registry: image: "registry:2" restart: always ports: - "53985:5000" environment: REGISTRY_AUTH: htpasswd REGISTRY_AUTH_HTPASSWD_REALM: basic-realm REGISTRY_AUTH_HTPASSWD_PATH: /auth/.htpasswd REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data volumes: - ./.docker-registry.htpasswd:/auth/.htpasswd - ./data:/data docker-registry-ui: image: konradkleine/docker-registry-frontend:v2 restart: always ports: - "53986:80" environment: VIRTUAL_HOST: '*, https://*' ENV_DOCKER_REGISTRY_HOST: 'docker-registry' ENV_DOCKER_REGISTRY_PORT: 5000 links: - 'docker-registry'
- SSH เชนเซเช เชณ, เช
เชฎเซ เชกเซเชเชฐ เชฐเชฟเชชเซเชเซเชเชฐเซเชฎเชพเช เชฎเซเชณเชญเซเชค เช
เชงเชฟเชเซเชคเชคเชพ เชฎเชพเชเซ .htpasswd เชซเชพเชเชฒ เชเชจเชฐเซเช เชเชฐเซเชถเซเช:
htpasswd -bBc .htpasswd hw_docker_admin hw_docker_password
- เชเชจเซเชเซเชจเชฐ เชเชเชคเซเชฐเชฟเชค เชเชฐเซ เช
เชจเซ เชเชชเชพเชกเซ:
docker-compose up -d
- เช เชจเซ เชเชชเชฃเซ Nginx เชจเซ เช เชฎเชพเชฐเชพ เชเชจเซเชเซเชจเชฐ เชชเชฐ เชฐเซเชกเชพเชฏเชฐเซเชเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เช Plesk เชฆเซเชตเชพเชฐเชพ เชเชฐเซ เชถเชเชพเชฏ เชเซ.
docker.helloworld.ru เช เชจเซ docker-ui.helloworld.ru เชธเชฌเชกเซเชฎเซเชจเซเชธ เชฎเชพเชเซ เชจเซเชเซเชจเชพ เชชเชเชฒเชพเช เชญเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ:
เชเชฒเชฎ เชฆเซเชต เชธเชพเชงเชจเซ เช เชฎเชพเชฐเซ เชธเชพเชเช เชชเชฐ เชเชพเช เชกเซเชเชฐ เชชเซเชฐเซเชเซเชธเซ เชจเชฟเชฏเชฎเซ:
เช
เชจเซ เช
เชฎเชพเชฐเชพ เชเชจเซเชเซเชจเชฐ เชชเชฐ เชชเซเชฐเซเชเซเชธเซ เชเชจเชเชฎเชฟเชเช เชเซเชฐเชพเชซเชฟเช เชฎเชพเชเซ เชเช เชจเชฟเชฏเชฎ เชเชฎเซเชฐเซ:
- เช
เชฎเซ เชคเชชเชพเชธเซเช เชเซเช เชเซ เช
เชฎเซ เชธเซเชฅเชพเชจเชฟเช เชฎเชถเซเชจเชฅเซ เช
เชฎเชพเชฐเชพ เชเชจเซเชเซเชจเชฐเชฎเชพเช เชฒเซเช เชเชจ เชเชฐเซ เชถเชเซเช เชเซเช:
$ docker login docker.helloworld.ru -u hw_docker_admin -p hw_docker_password WARNING! Using --password via the CLI is insecure. Use --password-stdin. Login Succeeded
- เชเชพเชฒเซ docker-ui.helloworld.ru เชธเชฌเชกเซเชฎเซเชเชจเชจเซ เชเชพเชฎเชเซเชฐเซ เชชเชฃ เชคเชชเชพเชธเซเช:
เชเซเชฏเชพเชฐเซ เชคเชฎเซ เชฌเซเชฐเชพเชเช เชฐเชฟเชชเซเชเซเชเชฐเซเช เชชเชฐ เชเซเชฒเชฟเช เชเชฐเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชฌเซเชฐเชพเชเชเชฐ เชเช เช เชงเชฟเชเซเชคเชคเชพ เชตเชฟเชจเซเชกเซ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชเชฐเชถเซ เชเซเชฏเชพเช เชคเชฎเชพเชฐเซ เชฐเซเชชเซเชเซเชเชฐเซ เชฎเชพเชเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชจเชพเชฎ เช เชจเซ เชชเชพเชธเชตเชฐเซเชก เชฆเชพเชเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ. เชคเซ เชชเชเซ, เช เชฎเชจเซ เชฐเซเชชเซเชเซเชเชฐเซเชเชจเซ เชธเซเชเชฟ เชธเชพเชฅเซเชจเชพ เชชเซเชทเซเช เชชเชฐ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ (เชนเชฎเชฃเชพเช เชฎเชพเชเซ, เชคเซ เชคเชฎเชพเชฐเชพ เชฎเชพเชเซ เชเชพเชฒเซ เชนเชถเซ):
Plesk เชซเชพเชฏเชฐเชตเซเชฒเชฎเชพเช เชชเซเชฐเซเช เชเซเชฒเชตเชพ
เชเชเชเซเชจเซ เชเชจเซเชธเซเชเซเชฒ เช เชจเซ เชเซเช เชตเซเชฏเชพ เชชเชเซ, เช เชฎเชพเชฐเซ เชชเซเชฐเซเชเซเชธ เชเซเชฒเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เชเซเชฅเซ เชเชฐเซเชจเซ เชเชเชเซ เชกเซเชเชฐ เชเชจเซเชเซเชจเชฐ เช เชจเซ เชฌเชพเชนเซเชฏ เชจเซเชเชตเชฐเซเชเชฅเซ เชธเซเชฒเชญ เชฅเช เชถเชเซ.
เชเชพเชฒเซ เชเซเชเช เชเซ เชเชชเชฃเซ เช เชเชพเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒ Plesk เชฎเชพเชเซ เชซเชพเชฏเชฐเชตเซเชฒ เชเชเซเชธเซเชเซเชเชถเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เช เชเซเชตเซ เชฐเซเชคเซ เชเชฐเชตเซเช.
- เชชเชฐ เชเชพเช เชธเชพเชงเชจเซ เช
เชจเซ เชธเซเชเชฟเชเชเซเชธ > เชธเซเชเชฟเชเชเซเชธ > เชซเชพเชฏเชฐเชตเซเชฒ:
- เชชเชฐ เชเชพเช Plesk เชซเชพเชฏเชฐเชตเซเชฒ เชจเชฟเชฏเชฎเซเชฎเชพเช เชซเซเชฐเชซเชพเชฐ เชเชฐเซ> เชเชธเซเชเชฎ เชจเชฟเชฏเชฎ เชเชฎเซเชฐเซ เช
เชจเซ เชกเซเชเชฐ เชธเชฌเชจเซเช เชฎเชพเชเซ เชจเซเชเซเชจเชพ TCP เชชเซเชฐเซเช เชเซเชฒเซ (172.0.0.0 / 8):
เชฐเซเชฌเชฟเชเชเชฎเชเซเชฏเซ: 1883, 4369, 5671-5672, 25672, 61613-61614
เชฐเซเชกเชฟเชธ: 32785, 32786 - เช เชฎเซ เชเช เชจเชฟเชฏเชฎ เชชเชฃ เชเชฎเซเชฐเซเชถเซเช เชเซ PostgreSQL เชชเซเชฐเซเช เช เชจเซ RabbitMQ เชฎเซเชจเซเชเชฎเซเชจเซเช เชชเซเชจเชฒเชจเซ เชฌเชนเชพเชฐเชจเซ เชฆเซเชจเชฟเชฏเชพเชฎเชพเช เชเซเชฒเชถเซ:
- เชซเซเชฐเชซเชพเชฐเซ เชฒเชพเชเซ เชเชฐเซ เชฌเชเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชจเชฟเชฏเชฎเซ เชฒเชพเชเซ เชเชฐเซ:
เชเซเชฅเชฌ เชเชเซเชถเชจเซเชธเชฎเชพเช CI/CD เชธเซเช เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
เชเชพเชฒเซ เชธเซเชฅเซ เชฐเชธเชชเซเชฐเชฆ เชญเชพเช เชชเชฐ เชเชเช - เชธเชคเชค เชเชเซเชเชฐเชฃ เชชเชพเชเชชเชฒเชพเชเชจ เชธเซเช เชเชฐเชตเซ เช เชจเซ เช เชฎเชพเชฐเชพ เชชเซเชฐเซเชเซเชเซเชเชจเซ เชธเชฐเซเชตเชฐ เชชเชฐ เชชเชนเซเชเชเชพเชกเชตเซ.
เช เชชเชพเชเชชเชฒเชพเชเชจเชฎเชพเช เชฌเซ เชญเชพเชเซ เชนเชถเซ:
- เชเชฌเซ เชฌเชจเชพเชตเชตเซ เช เชจเซ เชชเชฐเซเชเซเชทเชฃเซ เชเชฒเชพเชตเชตเซ (เชฌเซเชเชเชจเซเชก เชฎเชพเชเซ) - เชเซเชฅเชฌ เชฌเชพเชเซ เชชเชฐ;
- เชธเซเชฅเชณเชพเชเชคเชฐ เชเชฒเชพเชตเชตเซเช (เชฌเซเชเชเชจเซเชก เชฎเชพเชเซ) เช เชจเซ เชเชจเซเชเซเชจเชฐ เชเชฎเชพเชตเชตเซเช - เชธเชฐเซเชตเชฐ เชชเชฐ.
Plesk เชฎเชพเชเซ เชเชฎเชพเชตเช
เชเชพเชฒเซ เชชเชนเซเชฒเชพ เชฌเซเชเชพ เชฎเซเชฆเซเชฆเชพ เชธเชพเชฅเซ เชตเซเชฏเชตเชนเชพเชฐ เชเชฐเซเช (เชเชพเชฐเชฃ เชเซ เชชเซเชฐเชฅเชฎ เชคเซเชจเชพ เชชเชฐ เชจเชฟเชฐเซเชญเชฐ เชเซ).
เช เชฎเซ Plesk เชฎเชพเชเซ Git เชเชเซเชธเซเชเซเชเชถเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชฎเชพเชตเช เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเซ เชเซเช เชตเซเชถเซเช.
เชฌเซเชเชเชจเซเชก เชฐเซเชชเซเชเซเชเชฐเซ เชฎเชพเชเซ เชชเซเชฐเซเชก เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชธเชพเชฅเซเชจเชพ เชเชฆเชพเชนเชฐเชฃเชจเซ เชตเชฟเชเชพเชฐ เชเชฐเซ.
- เช เชฎเซ เช เชฎเชพเชฐเซ เชนเซเชฒเซเชตเชฐเซเชฒเซเชก เชตเซเชฌเชธเชพเชเชเชจเชพ เชธเชฌเซเชธเซเชเซเชฐเชฟเชชเซเชถเชจ เชชเชฐ เชเชเช เชเซเช เช เชจเซ เชเชฟเช เชธเชฌเชธเซเชเซเชถเชจ เชชเชฐ เชเชเช เชเซเช:
- "เชฐเชฟเชฎเซเช เชเชฟเช เชฐเซเชชเซเชเซเชเชฐเซ" เชซเซเชฒเซเชกเชฎเชพเช เช
เชฎเชพเชฐเชพ เชเซเชฅเชฌ เชฐเซเชชเซเชเซเชเชฐเซเชจเซ เชฒเชฟเชเช เชฆเชพเชเชฒ เชเชฐเซ เช
เชจเซ เชกเชฟเชซเซเชฒเซเช เชซเซเชฒเซเชกเชฐ เชฌเชฆเชฒเซ
httpdocs
เชฌเซเชเชพเชจเซ (เชฆเชพ.เชค./httpdocs/hw_back
): - เชชเชพเชเชฒเชพ เชชเชเชฒเชพเชฎเชพเชเชฅเซ SSH เชเชพเชนเซเชฐ เชเซเชจเซ เชจเชเชฒ เชเชฐเซ เช
เชจเซ
เชเชฎเซเชฐเซ เชคเซ เชเซเชฅเชฌ เชธเซเชเชฟเชเชเซเชธเชฎเชพเช เชเซ. - เชชเชเชฒเซเช 2 เชฎเชพเช เชธเซเชเซเชฐเซเชจ เชชเชฐ เชเชเซ เชเซเชฒเชฟเช เชเชฐเซ, เชเซ เชชเชเซ เช
เชฎเชจเซ Plesk เชฎเชพเช เชฐเซเชชเซเชเซเชเชฐเซ เชชเซเชทเซเช เชชเชฐ เชฐเซเชกเชพเชฏเชฐเซเชเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ. เชนเชตเซ เชเชชเชฃเซ เชฐเซเชชเซเชเซเชเชฐเซเชจเซ เชฎเชพเชธเซเชเชฐ เชฌเซเชฐเชพเชจเซเชเชจเซ เชเชฎเชฟเช เชชเชฐ เช
เชชเชกเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เช เชเชฐเชตเชพ เชฎเชพเชเซ, เชชเชฐ เชเชพเช เชฐเซเชชเซเชเซเชเชฐเซ เชธเซเชเชฟเชเชเซเชธ เช
เชจเซ เชฎเซเชฒเซเชฏ เชธเชพเชเชตเซ
Webhook URL
(เชเซเชฅเชฌ เชเซเชฐเชฟเชฏเชพเช เชธเซเช เชเชฐเชคเซ เชตเชเชคเซ เช เชฎเชจเซ เชชเชเซเชฅเซ เชคเซเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ): - เชชเชพเชเชฒเชพ เชซเชเชฐเชพเชฎเชพเชเชฅเซ เชธเซเชเซเชฐเซเชจ เชชเชฐเชจเซ เชเซเชฐเชฟเชฏเชพเช เชซเซเชฒเซเชกเชฎเชพเช, เชเชฎเชพเชตเช เชถเชฐเซ เชเชฐเชตเชพ เชฎเชพเชเซ เชธเซเชเซเชฐเชฟเชชเซเช เชฆเชพเชเชฒ เชเชฐเซ:
cd {REPOSITORY_ABSOLUTE_PATH} .ci-cd/deploy.sh {ENV} {DOCKER_REGISTRY_HOST} {DOCKER_USER} {DOCKER_PASSWORD} {TG_BOT_TOKEN} {TG_CHAT_ID}
เชเซเชฏเชพเช:
{REPOSITORY_ABSOLUTE_PATH}
- เชธเชฐเซเชตเชฐ เชชเชฐ เชฌเซเชเชเชจเซเชก เชฐเซเชชเซเชเซเชเชฐเซเชจเชพ เชชเซเชฐเซเชก เชซเซเชฒเซเชกเชฐเชจเซ เชชเชพเชฅ;
{ENV}
- เชชเชฐเซเชฏเชพเชตเชฐเชฃ (dev/prod), เช เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเชprod
;
{DOCKER_REGISTRY_HOST}
- เช เชฎเชพเชฐเชพ เชกเซเชเชฐ เชฐเซเชชเซเชเซเชเชฐเซเชจเซเช เชฏเชเชฎเชพเชจ
{TG_BOT_TOKEN}
- เชเซเชฒเชฟเชเซเชฐเชพเชฎ เชฌเซเช เชเซเชเชจ;
{TG_CHAT_ID}
- เชธเซเชเชจเชพเช เชฎเซเชเชฒเชตเชพ เชฎเชพเชเซ เชเซเช/เชเซเชจเชฒเชจเซเช ID.เชธเซเชเซเชฐเชฟเชชเซเช เชเชฆเชพเชนเชฐเชฃ:
cd /var/www/vhosts/helloworld.ru/httpdocs/hw_back/ .ci-cd/deploy.sh dev docker.helloworld.ru docker_user docker_password 12345678:AAbcdEfghCH1vGbCasdfSAs0K5PALDsaw -1001234567890
- เช
เชฎเชพเชฐเชพ เชธเชฌเซเชธเซเชเซเชฐเชฟเชชเซเชถเชจเชฎเชพเชเชฅเซ เชกเซเชเชฐ เชเซเชฅเชฎเชพเช เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเชฎเซเชฐเซ (เชเซเชฅเซ เชคเซเช เชเชจเซเชเซเชจเชฐเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเซ เชถเชเซ):
sudo usermod -aG docker helloworld_admin
เชฌเซเชเชเชจเซเชก เชฐเซเชชเซเชเซเชเชฐเซ เช เชจเซ เชซเซเชฐเชจเซเชเชเชจเซเชก เชฎเชพเชเซเชจเซเช เชกเซเชต เชเชจเซเชตเชพเชฐเซเชฏเชฎเซเชจเซเช เช เช เชฐเซเชคเซ เชธเซเช เชเชฐเซเชฒ เชเซ.
Github เชเซเชฐเชฟเชฏเชพเชเชฎเชพเช เชเชฎเชพเชตเช เชชเชพเชเชชเชฒเชพเชเชจ
เชเชพเชฒเซ Github เชเซเชฐเชฟเชฏเชพเชเชฎเชพเช เช เชฎเชพเชฐเซ CI/CD เชชเชพเชเชชเชฒเชพเชเชจเชจเซ เชชเซเชฐเชฅเชฎ เชญเชพเช เชธเซเช เชเชฐเชตเชพ เชคเชฐเชซ เชเชเชณ เชตเชงเซเช.
เชชเชพเชถเซเชตเชญเชพเช
เชชเชพเชเชชเชฒเชพเชเชจเชฎเชพเช เชตเชฐเซเชฃเชตเซเชฒ เชเซ
เชชเชฐเชเชคเซ เชคเซเชจเซเช เชชเชฆเชเซเชเซเชฆเชจ เชเชฐเชคเชพ เชชเชนเซเชฒเชพ, เชเชพเชฒเซ เชเชชเชฃเซ เชเซเชฅเชฌเชฎเชพเช เชเชฐเซเชฐเซ เชธเชฟเชเซเชฐเซเช เชเชฒ เชญเชฐเซเช. เช เชเชฐเชตเชพ เชฎเชพเชเซ, เชชเชฐ เชเชพเช เชธเซเชเชฟเชเชเซเชธ -> เชฐเชนเชธเซเชฏเซ:
DOCKER_REGISTRY
- เช เชฎเชพเชฐเชพ เชกเซเชเชฐ เชฐเซเชชเซเชเซเชเชฐเซเชจเซเช เชฏเชเชฎเชพเชจ (docker.helloworld.ru);DOCKER_LOGIN
- เชกเซเชเชฐ เชฐเซเชชเซเชเซเชเชฐเซเชฎเชพเช เชฒเซเชเชฟเชจ เชเชฐเซ;DOCKER_PASSWORD
- เชคเซเชจเซ เชชเชพเชธเชตเชฐเซเชก;DEPLOY_HOST
- เชนเซเชธเซเช เชเซเชฏเชพเช เชชเซเชฒเซเชธเซเช เชเชกเชฎเชฟเชจ เชชเซเชจเชฒ เชเชชเชฒเชฌเซเชง เชเซ (เชเชฆเชพเชนเชฐเชฃ:helloworld.com : 8443 เช เชฅเชตเชพ123.4.56.78 :8443);DEPLOY_BACK_PROD_TOKEN
- เชธเชฐเซเชตเชฐ เชชเชฐ เชชเซเชฐเซเชก-เชฐเชฟเชชเซเชเซเชเชฐเซเชฎเชพเช เชเชฎเชพเชตเช เชฎเชพเชเซ เชเช เชเซเชเชจ (เช เชฎเชจเซ เชคเซ Plesk p. 4 เชฎเชพเช เชเชฎเชพเชตเชเชฎเชพเช เชฎเชณเซเชฏเซเช);DEPLOY_BACK_DEV_TOKEN
- เชธเชฐเซเชตเชฐ เชชเชฐ เชกเซเชต เชฐเชฟเชชเซเชเซเชเชฐเซเชฎเชพเช เชเชฎเชพเชตเช เชฎเชพเชเซ เชเซเชเชจ.
เชเชฎเชพเชตเช เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชธเชฐเชณ เชเซ เช เชจเซ เชคเซเชฎเชพเช เชคเซเชฐเชฃ เชฎเซเชเซเชฏ เชชเชเชฒเชพเช เชถเชพเชฎเซเชฒ เชเซ:
- เช เชฎเชพเชฐเชพ เชญเชเชกเชพเชฐเชฎเชพเช เชเชฌเซเชจเซเช เชจเชฟเชฐเซเชฎเชพเชฃ เช เชจเซ เชชเซเชฐเชเชพเชถเชจ;
- เชคเชพเชเซ เชฌเชจเชพเชตเซเชฒเซ เชเชฌเซเชจเชพ เชเชงเชพเชฐเซ เชเชจเซเชเซเชจเชฐเชฎเชพเช เชชเชฐเซเชเซเชทเชฃเซ เชเชฒเชพเชตเซ;
- เชถเชพเชเชพ (เชฆเซเชต/เชฎเชพเชธเซเชเชฐ) เชชเชฐ เชเชงเชพเชฐ เชฐเชพเชเซเชจเซ เชเชเซเชเชฟเชค เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช เชเชฎเชพเชตเช.
เช เชเซเชฐ
เชธเชพเชเช เชธเซเชเช เชช
Nginx เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเซเชเซเชธเซ เชเซเชฐเชพเชซเชฟเช
เชธเชพเชฐเซเช, เช เชฎเซ เช เชเชคเชฎเชพเช เชเชตเซเชฏเชพ เชเซเช. เชคเซ เชซเชเซเชค Nginx เชฆเซเชตเชพเชฐเชพ เช เชฎเชพเชฐเชพ เชเชจเซเชเซเชจเชฐ เชชเชฐ เชเชจเชเชฎเชฟเชเช เช เชจเซ เชเชเชเชเซเชเชเช เชเซเชฐเชพเชซเชฟเชเชจเชพ เชชเซเชฐเซเชเซเชธเซเชเชเชจเซ เชเซเช เชตเชตเชพ เชฎเชพเชเซ เช เชฐเชนเซ เชเซ. เช เชฎเซ เช เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเซ เชชเชนเซเชฒเชพเชฅเซ เช เชกเซเชเชฐ เชฐเชเชฟเชธเซเชเซเชฐเซ เชธเซเชเช เชชเชจเชพ เชชเชเชฒเชพ 5 เชฎเชพเช เชเชตเชฐเซ เชฒเซเชงเซ เชเซ. dev เช เชจเซ prod เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช เชชเชพเชเชณ เช เชจเซ เชเชเชณเชจเชพ เชญเชพเชเซ เชฎเชพเชเซ เชคเซ เช เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เชเชฐเชตเซเช เชเซเชเช.
เชนเซเช เชธเซเชเชฟเชเชเซเชธเชจเชพ เชธเซเชเซเชฐเซเชจเชถเซเช เชเชชเซเชถ.
เชชเชพเชถเซเชตเชญเชพเช
เช เชเซเชฐ
ะฃัะพัะฝะตะฝะธะต ััะพัะฝะตะฝะธะต. เชฌเชงเชพ URL เชจเซ เชซเซเชฐเชจเซเชเชเชจเซเชก เชเชจเซเชเซเชจเชฐ เชธเชพเชฅเซ เชชเซเชฐเซเชเซเชธเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ, เชธเชฟเชตเชพเชฏ เชเซ เชคเซ เชธเชพเชฅเซ เชถเชฐเซ เชฅเชพเชฏ เชเซ /api/
- เชคเซเช เชชเชพเชเชณเชจเชพ เชเชจเซเชเซเชจเชฐ เชธเชพเชฅเซ เชชเซเชฐเซเชเซเชธเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ (เชคเซเชฅเซ เชชเชพเชเชณเชจเชพ เชเชจเซเชเซเชจเชฐเชฎเชพเช, เชฌเชงเชพ เชนเซเชจเซเชกเชฒเชฐเซเชธ เชธเชพเชฅเซ เชถเชฐเซ เชฅเชตเซเช เชเชตเชถเซเชฏเช เชเซ /api/
).
เชชเชฐเชฟเชฃเชพเชฎเซ
เชนเชตเซ เช เชฎเชพเชฐเซ เชธเชพเชเช helloworld.ru เช เชจเซ dev.helloworld.ru (เช เชจเซเชเซเชฐเชฎเซ prod- เช เชจเซ dev-environments) เชชเชฐ เชเชชเชฒเชฌเซเชง เชนเซเชตเซ เชเซเชเช.
เชเซเชฒ เชฎเชณเซเชจเซ, เช เชฎเซ เชถเซเชเซเชฏเชพ เชเซ เชซเซเชฒเชพเชธเซเช เช เชจเซ เชเชเชเซเชฏเซเชฒเชฐเชฎเชพเช เชเช เชธเชฐเชณ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซเชตเซ เชฐเซเชคเซ เชคเซเชฏเชพเชฐ เชเชฐเชตเซ เช เชจเซ เชคเซเชจเซ Plesk เชเชฒเชพเชตเชคเชพ เชธเชฐเซเชตเชฐ เชชเชฐ เชฐเซเชฒเชเชเช เชเชฐเชตเชพ เชฎเชพเชเซ Github เชเซเชฐเชฟเชฏเชพเชเชฎเชพเช เชชเชพเชเชชเชฒเชพเชเชจ เชเซเชตเซ เชฐเซเชคเซ เชธเซเช เชเชฐเชตเซ.
เชนเซเช เชเซเชก เชธเชพเชฅเซ เชฐเซเชชเซเชเซเชเชฐเซเชเชจเซ เชฒเชฟเชเชเซเชธเชจเซ เชกเซเชชเซเชฒเชฟเชเซเช เชเชฐเซเชถ:
เชธเซเชฐเซเชธ: www.habr.com