ืืคืจืืืงืืื ืืงืฉืืจืื ืืคืืชืื ืืจืืืืงืืืจืช ืืืงืจื-ืฉืืจืืช, CI/CD ืขืืืจ ืืงืืืืจืื ืฉื ืืืืื ืืช ื ืขืืื ืืงืืืืจืื ืฉื ืฆืืจื ืืืืฃ. ืืืืงื ืืืืืืืืช ืืื ืืืง ืืืชื ื ืคืจื ืืืฉืืืื ืืืชืืฉื, ืฉืืืฉื ืืืืฉืจืช ืืืื ืืืืื ืืืขื ืืง ืืฆืืืช ืืจืื ืขืจืืื ื ืขืืืื ืขื ืืฉืคืื ืืืืจืื. ืืืจืช, ืืคืจืืืงื ืืกืชืื ืฉืืขืืื ืื ืืืฉืื.
ืืคืฉืจ ืืืกืืช ืืช ืื ืงืื ื-microservice ืืืืืงืืช ืืืืื ืขื ืืืืืืงืืื ืืืืืื, ืืื ืื ืคืืชืจ ืจืง ืืืงืืช ืืช ืืืขืื ืืืฉืืืจ ืืจืื ืฉืืืืช ืืงืฉืืื, ืืืืืื ืืืืืงืช ืขืืืื ืขื ื ืชืื ืื. ืืื ืชืืื, ืืืืืงืื ืืืืชืจ ืื ืืืืงืช ืขืงืืืืช ื ืชืื ืื ืืืกื ื ืชืื ืื ืืืกื, ืืืืงืช ืขืืืื ืขื ืฉืืจืืชื ืขื ื ืืื ืืช ืื ืืืช ืฉืืืืืช ืืขืช ืืชืืืช ืืืืืืงืืื ืืืืืื.
ืืช ืื ืื ืืขืื ืงืฆืช ืืคืฉืจ ืืคืชืืจ ืขื ืืื ืืืืงืช ืืืืงืจื-ืฉืืจืืช ืืืื ืืงืื ืืืื ืจ ืฉื Docker. ืืชืจืื ืืื ืกืคืง ืืืืืืช ืชืงืคืืช ืืืืืงืืช ืืื ืฉืืืชื ืชืืื ืืช Docker ืฉื ืื ืกืืช ืืืืฆืืจ ื ืืืงืืช.
ืืืืืืฆืื ืฉื ืืืฉื ืื ืืฆืืื ืืกืคืจ ืืขืืืช, ืฉืืคืชืจืื ืืื ืืชืืืจ ืืืื:
- ืืชื ืืฉืืืืช ืฉื ืืฉืืืืช ืืงืืืืืช ืืืืชื ืืืจื docker;
- ืืชื ืืฉืืืืช ืืืืื ืืืกื ืื ืชืื ืื ืืืืื ืืืืจืฆืืืช ืืืืงื;
- ืืืื ืืฉืืจืืชื ืืืงืจื ืืืืืช ืืืื ืื;
- ืืืืื ืืคืื ืืืื ืื ืืืขืจืืืช ืืืฆืื ืืืช;
- ืืืืงืช ืืงืฉืืช HTTP ืืืฆืืืช;
- ืืืืงืช ืฉืงืขื ืืื ืืจื ื (ืืืืฆืขืืช SignalR);
- ืืืืงืช ืืืืืช ืืืจืฉืื ืฉื OAuth.
ืืืืจ ืื ืืืืกืก ืขื
ืืืืืจ ืื ืืกืคืจ ืืื ืืืฆื ืืืฉืชืืฉ ืืกืงืจืืคื ืืื ืืืคืขืื ืืช ืืฉืืจืืช ืื ืืืง, ืืกื ื ืชืื ืื ืืฉืืจืืชื Amazon AWS ื-Docker, ืืืืจ ืืื ืืืืงืืช ืขื Postman ืืืืืจ ืืฉืืืชื, ืืขืฆืืจ ืืืืืืง ืืช ืืงืื ืืืื ืจืื ืฉื ืืฆืจื. ืืืืงืืช ืืืืฆืขืืช ืืื ืคืขื ืฉืืงืื ืืฉืชื ื. ืืืจื ืื, ืื ื ืืืืืืื ืฉืื ืืจืกื ืคืืขืืช ืืืืื ืขื ืืกื ืื ืชืื ืื ืืืฉืืจืืชืื ืฉื AWS.
ืืืชื ืกืงืจืืคื ืืืคืขื ืื ืขื ืืื ืืืคืชืืื ืขืฆืื ืขื ืฉืืืื ืืช ืืขืืืื ืฉื Windows ืืื ืขื ืืื ืฉืจืช Gitlab CI ืชืืช ืืื ืืงืก.
ืืื ืืืืืช ืืืฆืืง, ืืฆืืช ืืืืงืืช ืืืฉืืช ืื ืฆืจืืื ืืืจืืฉ ืืชืงื ื ืฉื ืืืื ื ืืกืคืื ืื ืขื ืืืืฉื ืฉื ืืืคืชื ืื ืขื ืืฉืจืช ืฉืื ืืืืืงืืช ืืืคืขืืืช ืขื commit. Docker ืคืืชืจ ืืขืื ืื.
ืืืืืงื ืืืืืช ืืคืขืื ืืฉืจืช ืืงืืื ืืืกืืืืช ืืืืืช:
- ืืจืฉืช ืืฃ ืคืขื ืื ืืืื ื ืืืืืืื. ืืชืื ืืืฃ ืืงืฉืืช, ืืืช ืขืืืื ืืืืืฉื;
ืืืงืจื ืื, ืืืืืงื ืืืืืืืืืช ืื ืชืขืืื, ืืขืืืื ืชืืคืกืง, ืืชืฆืืจื ืืืคืฉ ืืช ืืกืืื ืืืืื ืื; - ืืงืฉืืช ืชืืืคืืช ืืื ืืื ื ืืืจืฉืืช ืขื ืืื ืืืง ืืฉืืจืืชื ืฆื ืฉืืืฉื.
ืื ืืกืฃ, ืื ืจืฆืื ืืืฉืชืืฉ ืืืขืื ืืืืืื:
- ืืขืื ืืืื ืืืืฉืืจ ืื ืจืง ืขื ืืื ืงืื ืจืข ืฉืจืฅ ืขืืื, ืืื ืื ืขื ืืื ื ืชืื ืื ืฉืืงืื ืื ืืื ืื ืืืื ืืขืื;
- ืื ืืฉื ื ืืื ื ื ืกื ืืืืืืจ ืืช ืื ืืฉืื ืืืื ืฉืืืฆืขื ืขื ืืื ืืืืืงื ืืืืื ืืืืืงื ืขืฆืื, ืืฉืื ืืืื ืืืฉืชืืฉ (ืืืจืช, ืื ืืืขื ืืืืืงื?).
ืขื ืืคืจืืืงื ืืืจืืื ืืชืืืื
ืืืืจื ืฉืื ื ืคืืชืื ืืคืืืงืฆืืืช ืืื ืืจื ื ืืืงืจื-ืฉืืจืืช ืืคืืขืืช ื-Docker ืืขื ื AWS ืฉื ืืืืื. ืืืจ ื ืขืฉื ืฉืืืืฉ ืืืืืงืืช ืืืืื ืืคืจืืืงื, ืื ืืขืชืื ืงืจืืืืช ืืชืจืืฉื ืฉืืืืืช ืฉืืืืงืืช ืืืืืื ืื ืืืื. ืืื ืฆืืจื ืืืืืง ืืืงืจื-ืฉืืจืืช ืฉืื ืืื ืขื ืืกื ืื ืชืื ืื ืืฉืืจืืชื ืืืืื.
ืืคืจืืืงื ืืฉืชืืฉ ืืชืืืื ืืื ืืืจืฆืื ืืชืืฉื ืกืื ืืจืื, ืืืืื ืืืืงืช ืืืืงืจื-ืฉืืจืืช ืขื ืื ืืชืืืืืืช. ืืืืจ ืืงืฆืืช ืืฉืืื, ืืืคืชื ืืืฆืข ืฉืื ืืืื ืืฉืืจืืช ืืืืงืจื, ืืืืง ืืืชื ืืืืคื ืืื ื ืืืจืืฅ ืืช ืื ืืืืืงืืช ืืืืืืืืืืช ืืืืื ืืช. ืืืืืช ืืฆืืจื, ืืืื ืืฉื ื ืืช ืืืืืงืืช. ืื ืื ื ืืฆืื ืืขืืืช, ืืชืืฆืขืช ืืชืืืืืืช ืืกื ืืฃ ืฉื ื ืืฉื ืื. ืืืืจ ืื commit, ืืืืงืืช ืืืคืขืืืช ืืืืืืืืช ืืฉืจืช. ืืืืื ืืกื ืืฃ ืืฉืืชืฃ ืืืฉืงืช ืืืืงืืช ืืืืืืืืืช ืขืืื ืืชืจืืฉืื ืืืืจ ืกืงืืจื ืืืฆืืืช. ืื ืืืืืงืืช ืืกื ืืฃ ืืืฉืืชืฃ ืขืืืจืืช, ืืฉืืจืืช ืืชืขืืื ืืืืืืืืช ืืกืืืืช ืืืืืงื ื- Amazon Elastic Container Service (ืกืคืกื). ืืืขืื ืืืจืื ืืื ืืืคืชืืื ืืืืืืงืื, ืืื ืืืื ืืฉืืืจ ืืืชื. ืืืืงืื ืืกืืืื ืื ืืืืงืื ืชืืงืื ืื ืชืืื ื ืืืฉื ืขื ืืื ืืืฆืืข ืืืืงืืช ืืื ืืืช.
ืืจืืืืงืืืจืช ืคืจืืืงื
ืืืคืืืงืฆืื ืืืจืืืช ืืืืชืจ ืืขืฉืจื ืฉืืจืืชืื. ืืืงื ืืชืืืื ื-.NET Core ืืืืงื ื-NodeJs. ืื ืฉืืจืืช ืคืืขื ืืงืื ืืืื ืจ Docker ื- Amazon Elastic Container Service. ืืื ืืื ืืฉ ืืกื ื ืชืื ืื Postgres ืืฉืื, ืืืืืงื ืืฉ ืื Redis. ืืื ืืกืื ื ืชืื ืื ื ืคืืฆืื. ืื ืืกืคืจ ืฉืืจืืชืื ืืงืืงืื ืืืืชื ื ืชืื ืื, ืืื ืื ืชืื ืื ืืืื, ืืืฉืจ ืื ืืฉืชื ืื, ืืืขืืจืื ืืื ืืื ืืืฉืืจืืชืื ืืืื ืืืืฆืขืืช SNS (Simple Notification Service) ื-SQS (Amazon Simple Queue Service), ืืืฉืืจืืชืื ืฉืืืจืื ืืืชื ืืืกืืกื ื ืชืื ืื ื ืคืจืืื ืืฉืืื.
SQS ื-SNS
SQS ืืืคืฉืจ ืื ืืืื ืืก ืืืืขืืช ืืชืืจ ืืืงืจืื ืืืืขืืช ืืืชืืจ ืืืืฆืขืืช ืคืจืืืืงืื HTTPS.
ืื ืืกืคืจ ืฉืืจืืชืื ืงืืจืืื ืชืืจ ืืื, ืื ืื ืืืืขื ืืืืขื ืจืง ืืืื ืืื. ืื ืฉืืืืฉื ืืขืช ืืคืขืืช ืืกืคืจ ืืืคืขืื ืฉื ืืืชื ืฉืืจืืช ืืื ืืคืืจ ืืช ืืขืืืก ืืื ืืื.
ืื ืืชื ืจืืฆื ืฉืื ืืืืขื ืชืืขืืจ ืืืกืคืจ ืฉืืจืืชืื, ืืื ื ืืขื ืืืื ืืืืืช ืชืืจ ืืฉืื, ืืืฉ ืฆืืจื ื-SNS ืืื ืืฉืืคื ืืืืขืืช ืืืกืคืจ ืชืืจืื.
ื-SNS ืืืฆืจืื ื ืืฉื ืื ืจืฉืืื ืืืื, ืืืฉื, ืชืืจ SQS. ืืชื ืืืื ืืฉืืื ืืืืขืืช ืื ืืฉื. ืืืงืจื ืื, ืืืืืขื ื ืฉืืืช ืืื ืชืืจ ืฉื ืจืฉื ืื ืืฉื ืื. ื-SNS ืืื ืฉืืื ืืงืจืืืช ืืืืขืืช. ืื ืืืืื ืืืชืืจ ืืืืื ืื ืืืืงื ืืชื ืฆืจืื ืืืจืจ ืื ื ืฉืื ื-SNS, ืืชื ืืืื ืืืฆืืจ ืชืืจ SQS, ืืืืจืฉื ืืืื ืื ืืฉื ืืจืฆืื ืืืงืจืื ืืช ืืชืืจ.
ืฉืขืจ API
ืจืื ืืฉืืจืืชืื ืืื ื ื ืืืฉืื ืืฉืืจืืช ืืืืื ืืจื ื. ืืืืฉื ืืื ืืจื API Gateway, ืฉืืืืง ืืืืืืช ืืืฉื. ืื ืื ืืฉืืจืืช ืฉืื ื, ืืื ืืื ืืฉ ืืืืงืืช.
ืืชืจืืืช ืืืื ืืืช
ืืืคืืืงืฆืื ืืฉืชืืฉืช
ืืืฉืช ืืืืงื ืืืืขื
ืืืืงืืช ืืืืืืช ืืืืืคืืช ืืืจืื ืืื ืืกื ืื ืชืื ืื ืืืืืืืงืืื ืืืืืื. ืื ืืืงืจื-ืฉืืจืืช, ืืืฉื, ืื ืกื ืืืฆืืจ ืจืฉืืื ืืืืื ืขื ืืคืชื ืืจ, ืืืจืฉืืื ืฉืืืื ืืืคืชื ืืชืืืืก ืื ืงืืืืช, ืื ื ืืชื ืืืฆืข ืืช ืืืงืฉื. ืืืืงืืช ืืืืื ืื ืืืืืืช ืืืืืช ืืืช.
ะ
ืืกื ื ืชืื ืื ืืืืืจืื ืืื ืืื ืืืขืจืืืช ื-DBMS ืื ืชืืืืช ืขื ืืื ื-Entity Framework. ืื ื ืืฆืจ ืืืืืื ืืืืืงื. ื ืชืื ืื ืืืกื ื ืชืื ืื ืฉืืื ื ืฉืืจืื ืจืง ืขื ืืกืืื ืชืืืื ืืฉืืืืฉ ืื. ืืื ืืื ื ืืฆืจืื ืืฆืืจืช ืืืืืืช ืืืื ื ืืืืง ืืช ืฉืืืืช ืื ืชืื ืื.
ืืืืืืงืืื ืืืืืื ืืืืืื ืืช ืืืืืงื ืฉืื ืืืืืคืื ืจืง ืืืืื ืฉืืคืชื ืืืืืงื ืืืื ืืื ืื ืขืืื.
ืืืฆื ืืืจืื ื-Postgres ืืืชืืื ืืืืฆืข ืืขืืจืืช ืืืืืืืืช ืืขืช ืืคืขืืช ืืืืงื ืื ืืฆืืื ืืืืืจ ืฉื Microsoft. ืืคืชืจืื ืฉืื ืขืืฉื ืืืช, ืืื ืืกืฃ, ืืื ื ืืืกืืฃ ืฉืื ืงืื ืกืคืฆืืคื ืืืืืงืืช ืืืืงืจื-ืฉืืจืืช ืขืฆืื.
ื ืขืืืจ ืืคืชืจืื
ืืืืื ืชืืืื ืืคืืชืื ืืชืืจืจ ืฉืื ืื ืืืืืงืืช ืืืืื ืืื ืืืฆืื ืืช ืื ืืืขืืืช ืืืื, ืืืื ืืืืื ืืืฉืช ืื ืืฉื ืื ืืืืืืช ืืืจืช.
ืืงืืช ืกืืืืช ืืืืงื
ืืืฉืืื ืืจืืฉืื ื ืืื ืคืจืืกืช ืกืืืืช ืืืืงื. ืืฉืืืื ืื ืืจืฉืื ืืืคืขืืช ืืืงืจื-ืฉืืจืืช:
- ืืืืจ ืืช ืืฉืืจืืช ืื ืืืง ืขืืืจ ืืกืืืื ืืืงืืืืช, ืฆืืื ืืช ืืคืจืืื ืืืืืืจ ืืืกื ืื ืชืื ืื ืื-AWS ืืืฉืชื ื ืืกืืืื;
- ืืคืขื ืืช Postgres ืืืฆืข ืืช ืืืืืจื ืขื ืืื ืืคืขืืช Liquibase.
ื-DBMSs ืืืกื, ืืคื ื ืืชืืืช ื ืชืื ืื ืืืกื ืื ืชืื ืื, ืขืืื ืืืฆืืจ ืกืืืืช ื ืชืื ืื, ืืืืืื ืืืจืืช, ืืืืืืช. ืืขืช ืขืืืื ืืคืืืงืฆืื ืืฉ ืืืืื ืืืืืืช ืืืืคืก ืืืฉืืฉ ืืช ืืืจืกื ืืืืฉื, ืืจืฆืื, ืืืื ืืืื ื ืชืื ืื. ืื ื ืงืจื ืืืืจื. ืืฆืืจืช ืืืืืืช ืืืกื ื ืชืื ืื ืจืืง ืืชืืืื ืืื ืืงืจื ืืืืื ืฉื ืืืืจื. ื ืืชื ืืื ืืช ืืืืจื ืืืคืืืงืฆืื ืขืฆืื. ืื ื-.NET ืืื ื-NodeJS ืืฉ ืืกืืจืืช ืืืืจื. ืืืงืจื ืฉืื ื, ืืกืืืืช ืืืืื, ื ืฉืืืช ืืฉืืจืืชื ืืืืงืจื ืืช ืืืืืช ืืฉื ืืช ืืช ืกืืืืช ืื ืชืื ืื, ืืืืขืืจื ืืชืืฆืขืช ืืืืฆืขืืช Liquibase. - ืืคืขื ืืช Amazon LocalStack. ืืื ืืืฉืื ืฉื ืฉืืจืืชื AWS ืืืคืขืื ืืืืช. ืืฉ ืชืืื ื ืืืื ื ืขืืืจ LocalStack ื- Docker Hub.
- ืืคืขื ืืช ืืกืงืจืืคื ืืื ืืืฆืืจ ืืช ืืืฉืืืืช ืืืจืืฉืืช ื-LocalStack. ืกืงืจืืคืืื ืฉื ืืขืืคืช ืืฉืชืืฉืื ื-AWS CLI.
ืืฉืืฉ ืืืืืงื ืขื ืืคืจืืืงื
ืืืฆื ืคืืขืืช ืืืืืงื ืืืืืืืืืช?
ืืืืื ืืืืืงื ืืื ืขืืื ื-Docker: ืืฉืืจืืช ืื ืืืง, Postgres, ืืื ืืืืืจื ื-Postman, ืื ืืืชืจ ื ืืื, ืืจืกืช ืืงืื ืกืืื ืฉืื - ื ืืืื.
Docker ืคืืชืจ ืืกืคืจ ืืขืืืช:
- ืขืฆืืืืช ืืชืฆืืจืช ืืืืจื;
- ืืชืงื ืช ืชืืืช: Docker ืืืจืื ืชืืื ืืช ื- Docker Hub;
- ืืืืจืช ืืืขืจืืช ืืืฆืื ืืืงืืจื: ืคืฉืื ืืืฆืืช ืืืืืืื.
ืืืงืจ-ืืื ืืืื ืงืื ืืืื ืจืื ืืจืฉืช ืืืจืืืืืืช, ืืืืืืช ืืืืื ืืจื ื, ืฉืื ืงืื ืืืื ืจืื ืืืฆืืื ืื ืืช ืื ืืคื ืฉืืืช ืืืืืื.
ืืืืืงื ื ืฉืืืช ืขื ืืื ืกืงืจืืคื ืืขืืคืช. ืืื ืืืคืขืื ืืช ืืืืืงื ืขื Windows ืื ื ืืฉืชืืฉืื ื-git-bash. ืืคืืื, ืกืงืจืืคื ืืื ืืกืคืืง ืื ืขืืืจ Windows ืืื ืขืืืจ ืืื ืืงืก. Git ื-Docker ืืืชืงื ืื ืขื ืืื ืื ืืืคืชืืื ืืคืจืืืงื. ืืขืช ืืชืงื ืช Git ืขื Windows, git-bash ืืืชืงื, ืื ืฉืื ืืืืื ืืฉ ืืช ืื.
ืืกืงืจืืคื ืืืฆืข ืืช ืืฉืืืื ืืืืื:
- ืื ืืืช ืชืืื ืืช Docker
docker-compose build
- ืืคืขืืช ืืกื ืื ืชืื ืื ื-LocalStack
docker-compose up -d <ะบะพะฝัะตะนะฝะตั>
- ืืืืจื ืฉื ืืกืื ื ืชืื ืื ืืืื ืช LocalStack
docker-compose run <ะบะพะฝัะตะนะฝะตั>
- ืืฉืงืช ืืฉืืจืืช ืื ืืืง
docker-compose up -d <ัะตัะฒะธั>
- ืืคืขืืช ืืืืื (ื ืืืื)
- ืขืฆืืจืช ืื ืืืืืืืช
docker-compose down
- ืคืจืกืื ืชืืฆืืืช ื-Slack
ืืฉ ืื ื ืฆ'ืื ืฉืื ืขืืืจืืช ืืืืขืืช ืขื ืกืืื ืืืงืืจืช ืืจืืง ืื ืฆืื ืืืื ืืงืืฉืืจ ืืืืื.
ืืชืืื ืืช ืืืืืช ืฉื Docker ืืขืืจืืืช ืืฉืืืื ืืื:
- ืืฉืืจืืช ืื ืืืง ืืื ืืืชื ืชืืื ื ืืื ืืืืฆืืจ. ืืชืฆืืจื ืฉื ืืืืืงื ืืื ืืืืฆืขืืช ืืฉืชื ื ืกืืืื.
- ืขืืืจ Postgres, Redis ื-LocalStack, ื ืขืฉื ืฉืืืืฉ ืืชืืื ืืช ืืืื ืืช ื- Docker Hub. ืืฉ ืื ืชืืื ืืช ืืืื ืืช ืขืืืจ Liquibase ื-Newman. ืื ืื ื ืืื ืื ืืช ืฉืื ื ืขื ืืฉืื ืฉืืื, ืืืกืืคืื ืฉื ืืช ืืงืืฆืื ืฉืื ื.
- ืืื ืืืืื ืืช LocalStack, ืืชื ืืฉืชืืฉ ืืชืืื ืช AWS CLI ืืืื ื ืืืืฆืจ ืชืืื ื ืืืืืื ืกืงืจืืคื ืืืืืกืก ืขืืื.
ืฉืืืืฉ
ืืขืืืช ืฉืืชื ืขืืื ืืืืชืงื ืืื
ืืืื ืืืืื ืืช
ืืืฉืจ ืงืื ืืืื ืจ ืขื ืฉืืจืืช ืคืืขื, ืื ืื ืืืืจ ืฉืืื ืืืื ืืงืื ืืืืืจืื. ืขืืื ืืืืชืื ืขื ืฉืืืืืืจ ืืืฉืื.
ืืขืื ืื ื ืคืชืจืช ืืคืขืืื ืืืืฆืขืืช ืกืงืจืืคื
ืืืืื: ืกืงืจืืคืืื ืืืงืฆืืช LocalStack ืฉืืืืื ืืชืืืื ืฉื 200 ื-SQS ืืื ื-SNS.
ืืชื ืืฉืืืืช ืืฉืืืืช ืืงืืืืืช
ืืืืงืืช ืืจืืืืช ืืืืืืช ืืคืขืื ืื-ืืื ืืช ืขื ืืืชื ืืืจื Docker, ืื ืฉืฉืืืช ืืืืืืื ืืืจืฉืช ืืืืืื ืืืืืช ืืืืืืืื. ืืชืจื ืืื, ืืืืงืืช ืืกื ืืคืื ืฉืื ืื ืฉื ืืืชื ืฉืืจืืช ืืืืืื ืืจืืฅ ืื ืื ืืื ืืช, ืื ืฉืื ืืกืคืืง ืืืชืื ืืช ืฉืื ืืื ืงืืืฅ ืืืืืจ.
ืืืืื: ืืกืงืจืืคื ืืืืืจ ืืช ืืืฉืชื ื COMPOSE_PROJECT_NAME ืืขืจื ืืืืืื.
ืชืืื ืืช Windows
ืืฉื ื ืืกืคืจ ืืืจืื ืฉืื ื ืจืืฆื ืืฆืืื ืืขืช โโืืฉืืืืฉ ื-Docker ื-Windows, ืืืืืื ืฉืืืืืืช ืืื ืืฉืืืืช ืืืื ืช ืืืืข ืืชืจืืฉืืช ืฉืืืืืช.
- ืกืงืจืืคืืื ืฉื ืืขืืคืช ืืืืื ืืืืืื ืืืืืช ืขื ืกืืืืช ืฉืืจื ืฉื ืืื ืืงืก.
ืกืื ืืืขืืคืช CR ืืื ืฉืืืืช ืชืืืืจ. ืงืฉื ืืืขืช ืืืืืขืช ืืฉืืืื ืฉืื ืืืฆื. ืืขืช ืขืจืืืช ืกืงืจืืคืืื ืืืื ื-Windows, ืืชื ืฆืจืื ืขืืจื ืืงืกื ืืชืืื. ืื ืืกืฃ, ืืขืจืืช ืืงืจืช ืืืจืกืืืช ืืืืืช ืืืืืช ืืืืืจืช ืืืืื.
ืื ืืืืืจ git:
git config core.autocrlf input
- Git-bash ืืืงื ืชืืงืืืช ืืื ืืงืก ืกืื ืืจืืืืช, ืืืืฉืจ ืงืืจืืื ืืงืืืฅ exe (ืืืื docker.exe), ืืืืืฃ ื ืชืืื ืืื ืืงืก ืืืืืืื ืื ืชืืื Windows. ืขื ืืืช, ืื ืื ืืืืื ื ืขืืืจ ื ืชืืืื ืฉืืื ื ืืืืื ื ืืืงืืืืช (ืื ื ืชืืืื ืืืืื). ืื ื ืืชื ืืืฉืืืช ืืชื ืืืืช ืื.
ืืืืื: ืืืกืฃ ืืืืกื ื ืืกืฃ ืืชืืืืช ืื ืชืื: //bin ืืืงืื /bin. ืืื ืืงืก ืืืื ื ื ืชืืืื ืืืื; ืขืืืจื, ืืกืคืจ ืืืืกื ืื ืืืื ืืืื. ืืื git-bash ืื ืืืื ื ืชืืืื ืืืื ืืื ืื ืกื ืืืืืจ ืืืชื.
ืคืื ืืืื
ืืขืช ืืคืขืืช ืืืืงืืช, ืืืืชื ืจืืฆื ืืจืืืช ืืืื ืื ืื ืื ืืืื ืืื ืืืฉืืจืืช ื ืืืงืื. ืืืืืื ืฉืืืืจืืขืื ืฉื ืืืื ืื ืืื ืงืฉืืจืื ืื ืืื, ืฉืืืืื ืืงืื ืกืืื ืืืช ืืื ืืจืื ืืืชืจ ื ืื ืืฉื ื ืงืืฆืื ื ืคืจืืื. ื ืืืื ืืฉืืง ืืจื ืืคืขืืช docker-compose, ืืื ืืคืื ืฉืื ืืกืชืืื ืืงืื ืกืืื. ืื ืื ืฉื ืืชืจ ืืื ืืืืื ืฉืืชืคืืงื ืฉื ืืฉืืจืืช ืืืืขื ืื ืืฉื.
ืืคืชืจืื ืืืงืืจื ืืื ืืขืฉืืช docker-compose ืืืขืื ืืื ืืื -d, ืืื ืืืืฆืขืืช ืืืืืืช ืืืขืืคืช, ืฉืื ืืช ืืชืืืื ืืื ืืจืงืข:
docker-compose up <service> &
ืื ืขืื ืขื ืฉืืื ืฆืืจื ืืฉืืื ืืืื ืื ื-Docker ืืฉืืจืืช ืฉื ืฆื ืฉืืืฉื. docker-compose ืืืขืื ืืคืกืืง ืืืืฆืื ืืืื ืื ืืงืื ืกืืื. ืขื ืืืช, ืืฆืืืช ืขืื ืืฆืืจืฃ.
ืืืืื:
docker attach --no-stdin ${COMPOSE_PROJECT_NAME}_<ัะตัะฒะธั>_1 &
ืืชื ืืฉืืช ืืืื ืืืืื ืืืืจืฆืืืช ืืืืงื
ืืืืงืืช ืืืคืขืืืช ืืืกืคืจ ืืืืจืฆืืืช. ืืกื ืื ืชืื ืื ืืื ื ืื ืืงื. ืืจืฉืืืืช ืืืกื ืื ืชืื ืื ืืฉ ืืืืื ืืืืืืืื. ืื ื ืจืฉืื ืืืืืืื ืกืคืฆืืคืืื ืืืงืฉืืช, ื ืงืื ืืชื ืืฉืืช ืืืืืจืฆืื ืืฉื ืืื.
ืืื ืืืืื ืข ืืื, ืืืืืื ืืืืืื ืืืืืช ืืืืืืืื, ืื ืฉืืฉ ืืืืืง ืืช ืื ืืืืืืืงืืื ืฉื ืืฆืจื ืขื ืืื ืืืืืงื. ืื ื ืืชื ืืืืืง ืืืง ืืืืืืืืงืืื ืขืงื ืืจืืฉืืช.
ืืืืื: ืฆืืจ GUIDs ืืืืฆืขืืช ืกืงืจืืคืืื ืฉื Postman.
var uuid = require('uuid');
var myid = uuid.v4();
pm.environment.set('myUUID', myid);
ืืืืจ ืืื ืืฉืชืืฉ ืืกืื ืืฉืืืืชื {{myUUID}}, ืฉืืืืืฃ ืืขืจื ืืืฉืชื ื.
ืฉืืชืืฃ ืคืขืืื ืืืืฆืขืืช LocalStack
ืื ืืฉืืจืืช ืื ืืืง ืงืืจื ืื ืืืชื ืืชืืจ SQS, ืื ืืื ืืืืื ืืืช, ืืืืืงื ืขืฆืื ืืืืืช ืืขืืื ืื ืขื ืืชืืจ ืืื.
ืืืืื: ืืงืฉืืช ื-Postman ื-LocalStack.
ื-API ืฉื ืฉืืจืืชื AWS ืืชืืขื, ืืืืคืฉืจ ืืืฆืข ืฉืืืืชืืช ืืื SDK.
ืื ืฉืืจืืช ืืืชื ืืชืืจ, ืื ื ืงืืจืืื ืืืชื ืืืืืงืื ืืช ืชืืื ืืืืืขื.
ืื ืืฉืืจืืช ืฉืืื ืืืืขืืช ื-SNS, ืืฉืื ืืืื ื LocalStack ืื ืืืฆืจ ืชืืจ ืื ืจืฉื ืื ืืฉื ื-SNS ืืื. ืืื ืืื ืืกืชืื ืืื ืฉืชืืืจ ืืขืื.
ืื ืืฉืืจืืช ืฆืจืื ืืงืจืื ืืืืขื ืืืชืืจ, ืื ืืฉืื ืืืืืงื ืืงืืื ื ืืชืื ืืืืขื ืื ืืชืืจ.
ืืืืงืช ืืงืฉืืช HTTP ืฉืืงืืจื ืืฉืืจืืช ืืืืงืจื ืื ืืืง
ืฉืืจืืชืื ืืกืืืืื ืขืืืืื ืขื HTTP ืขื ืืฉืื ืืืจ ืืืื AWS, ืืืืง ืืชืืื ืืช AWS ืืื ื ืืืืฉืืืช ื-LocalStack.
ืืืืื: ืืืงืจืื ืืื ืื ืืืื ืืขืืืจ
ืืืืงืช ืืืืืช ืืืจืฉืื ืฉื OAuth
ืื ื ืืฉืชืืฉืื ื-OAuth ื
ืื ืืื ืืจืืงืฆืื ืืื ืืฉืืจืืช ืืกืคืง ื-OAuth ืืกืชืืืช ืืฉืชื ืืงืฉืืช: ืจืืฉืืช, ืืชืฆืืจื ืืชืืงืฉืช /.well-known/openid-configuration, ืืืืืจ ืืื ืืืคืชื ืืฆืืืืจื (JWKS) ืืชืืงืฉ ืืืชืืืช ืืืชืฆืืจื. ืื ืื ืืื ืชืืื ืกืืื.
ืืืืื: ืกืคืง ื-OAuth ืืืืืงื ืฉืื ื ืืื ืฉืจืช ืชืืื ืกืืื ืืฉื ื ืงืืฆืื ืขืืื. ืืืกืืืื ื ืืฆืจ ืคืขื ืืืช ืืืืืื ื-Git.
ืชืืื ืืช ืฉื ืืืืงืช SignalR
Postman ืื ืขืืื ืขื websockets. ืืื ืืืืื ื ืืฆืจ ืืืืืงืช SignalR.
ืืงืื SignalR ืืืื ืืืืืช ืืืชืจ ืืกืชื ืืคืืคื. ืงืืืืช ืขืืืจื ืกืคืจืืืช ืืงืื ืชืืช .NET Core. ืืืงืื, ืฉื ืืชื ื-.NET Core, ืืืฆืจ ืืืืืจ, ืืืืืช ืืืืื ืืจืฆืฃ ืืกืืื ืฉื ืืืืขืืช. ืื ืืชืงืืืช ืืืืขื ืื ืฆืคืืื ืื ืฉืืืืืืจ ืืื, ืืืงืื ืืืฆื ืขื ืงืื ืฉื 1. ืื ืืืืืขื ืืฆืคืืื ืืืืจืื ื ืืชืงืืืช, ืืืงืื ืืืฆื ืขื ืงืื ืฉื 0.
ื ืืืื ืขืืื ืืืงืืื ืขื ืืืงืื. ืืกืคืจ ืืงืืืืช ืืืฉืงืื ืืืืืง ืฉืืืืืขืืช ืืืขืืจืืช ืืื ืื ืฉืฆืจืื.
ืืื ืืืคืขืื ืืกืคืจ ืืงืืืืช ืืฉืชืืฉ ืืืคืฉืจืืช --ืกืึผืึธื ืืฉืืจืช ืืคืงืืื docker-compose.
ืืคื ื ืืคืขืืชื, ืืชืกืจืื ืฉื Postman ืืืชืื ืขื ืฉืื ืืืงืืืืช ืืืฆืืจ ืงืฉืจืื.
ืืืจ ื ืชืงืื ื ืืืขืื ืฉื ืืืชื ื ืืืืืืจ. ืืื ืืื ืฉืจืชืื, ืืื ื ืืืงืื. ืืจืืฉื ืืืฉื ืืืจืช.
ืืืืื: ืืืงืื ืืืืื ืืฉืชืืฉ ืืื ืื ืื
HEALTHCHECK --interval=3s CMD if [ ! -e /healthcheck ]; then false; fi
ืงืืืฆื ืืืงืจ ืืืืืง ืืฆืื ืืช ืืืฆื ืืจืืื, ืืฆื ืืืจืืืืช ืืงืื ืืืฆืืื ืฉื ืืืืืื.
ืืืืจ ืืฉืืืช ื ืืืื, ืืกืงืจืืคื ืืืืง ืฉืื ืืงืื ืืืื ืจืื ืขื ืืืงืื ืืกืชืืืื, ืขื ืงืื 0.
ืืืคืื ืก ืงืืื
ืืืืจ ืฉืืชืืืจื ื ืขื ืืงืฉืืื ืฉืชืืืจื ืืขืื, ืืื ืื ื ืกื ืฉื ืืืื ื ืจืืฆื ืืฆืืืื. ืืืืืงืืช, ืื ืฉืืจืืช ืขืืื ืืืืืื ืืืช, ืชืื ืืื ืืจืืงืฆืื ืขื ืืกื ืื ืชืื ืื ืืขื Amazon LocalStack.
ืืืืงืืช ืืื ืืื ืืช ืขื ืฆืืืช ืฉื 30+ ืืคืชืืื ืืคื ื ืฉืืืืืช ืืืคืืืงืฆืื ืขื ืืื ืืจืืงืฆืื ืืืจืืืช ืฉื 10+ ืฉืืจืืชื ืืืงืจื ืขื ืคืจืืกืืช ืชืืืคืืช.
ืืงืืจ: www.habr.com