á¨áááᎠá°ááŞáľ á ááá´áá¸á áááľ áá á á°áŤáŤá ááŽáááśá˝ CI/CD á¨á áľá°áłá˝ áĽáľá ááľáĽ áá° á áľá¸áłá á áľáááááľ ááľáĽ áá¸áááŤáᢠá ááśááľáľ áá¨áŤ ááŁáááľ áŤáá áá á°áľ áá á áŤá ááᣠáĽááľ áŤáá á ááŤá¨áĽ ááĄáľá á¨á¤á°á°áĽ áĽá á¨áá°áá˝ áá áĽá á áľá°áłá˝ áá˝áśá˝á áá°áĽ áá˝ááᢠáŤáá áá፠ááŽáááą áá á áá á ááá áááá á á°á áá ááĽááá˘
áááá á¨áááᎠá°ááŞáľ áŽáľ á áŠááľ áá¨áŤáá˝ á á áľáá áááŽá˝ áá¸áá ááťáá ááá áá áá á á¨áá á˝ááŠá á¨áááł áĽá áĽá áĽáŤááá˝á áĽá á˝ááŽá˝á áá°áá, á á°ááá áľáŤá á áá¨á á˛ááľá˝. áĽáá° áááááᣠá áŁá á¨áá¨áááľ áá á á°ááá áłáłá¤á ááľáĽ áŤááá á¨ááἠááĽááľ ááá°á˝áŁ á¨á°áá á áááááśá˝ áá ááľáŤáľá ááá°á˝ áĽá á áľáá áááŽá˝á á áá˝áá áľ áá á¨á°áłáłáą áááśá˝á ááľá¨á áá¸áá˘
áá áá áĽá áľáá˝ á°á¨á᪠áááá áááᎠá°ááŞáľ á Docker ááŤáŁ ááľáĽ á ááá¨á áááł áá˝áá. á¨áá°ááá˝á áľááááááľ ááá¨ááἠá¨ááŤá áŤáĽá áĽá á áá° áááľ á¨áááĄáľ á°ááłáłá Docker ááľáá˝ ááá¨áŤá¸á ááá˘
á¨áá á ááŤá¨áĽ áŤáľ-á°á á ááŤáł á˝ááŽá˝á áŤáááŁá, áááľáá á¨áá á áłá˝ ááĽáŤáŤá.
- á á°ááłáłáŠ áśá¨á á áľá°ááá ááľáĽ áľáአá°ááŁáŤáľ áááśá˝;
- á áá°á áľáááážá˝ áá á áá¨á ááą ááľáĽ áááśá˝á ááá¨áľ;
- áááᎠá°ááŞáľ ááá áĽáá˛áá áá á á ;
- áááἠááľáłááťáá˝á áá° ááŤá áľáááśá˝ ááááľ áĽá áááŁáľ;
- á᪠HTTP áĽáŤááá˝á ááá¨á;
- á¨áľá áśáŹáľ áá¨áŤ (SignalR á áá áá);
- á¨OAuth áá¨áá፠áĽá áááľá á ááá¨á ááá˘
áá
á˝áá á¨á°áá°á¨á°á á
á áá á˝áá ááľáĽ á áááááąá á áá°á ááľáĽ áááľáŹáľ áľááŞááľ áĽáá´áľ áĽáá°áá áá áĽáááááłáá ᣠá¨ááἠááł áĽá á¨á ááá AWS á áááááśá˝ á Docker ᣠá¨á፠á ááľáľáá áá áá¨áŤ áŤáľáá áĽá á¨á°á ááá á áá á¨á°áá áŠáľá ááŤáŁáá˝ áŤáá áĽá áá°ááᢠáŽáą á á°ááá ááĽá áá°ááá˝ áá¨ááááᢠá áá ááááľ áĽáŤááłááą áľáŞáľ ᨠAWS á¨ááἠááł áĽá á áááááśá˝ áá á áľááá ááľáŤáąá áĽáá¨áááŁááá˘
á°ááłáłáŠ áľááŞááľ áááąá á áŤáłá¸á ááá˘áá˝ á áááśááľ á´áľááśáááťá¸á áĽá á ááááľ áľá áŁáá Gitlab CI á áááá áá á¨áá°áŠáľá˘
ááá á°á á á˛áľ áá¨áŤáá˝á ááľá°ááá á ááá˘á áŽáááá°á áá ááá áá°áááš á ááá áááľ á áá°áŠá áľ á°áá¨á áá á°á¨á᪠ááłáŞáŤáá˝á ááŤá á áŤáľááááá˘áśá¨á áá áá á˝áá áááłáá˘
áá°áá á áá¨á°ááľ ááááŤáśá˝ á á áŤáŁá˘áŤá á áááá áá ááŤááľ á áá áľáĄ
- á ááłá¨ áá¨áĄ áá á áá á áľá°ááá á áá°áá. á¨áşá
áĽáŤááá˝ ááľáĽ á ááą áááľá
áá˝áá;
á áá áááł á ááśáá˛á áá¨áŤá á áá°áŤá, áľáŤá áááá, áĽá ááááŤáąá á áááἠááľáłááťáá˝ ááľáĽ áááá á ááĽááľ; - á áŁá á°á°ááá áĽáŤááá˝ á á ááłááľ á¨áśáľá°á ááá á áááááśá˝ á ááááąáá˘
á á°á¨ááŞá, ááááŤáá áá áá á¨ááááá áá ááááŤáąá:
- ááá፠á áአáá á áá°áŤá ááĽá áŽáľ áĽáť áłááá áľááááá áŽáľ áá°áŤ á ááá˝áá áá¨áá áá°á á áá˝ááá˘
- á áá°áá á áŤáą áá á áá°áá á¨á°á°á¨á áááŚá˝á áá° áá áááááľ á¨áąáá áŤá á áĽáááá á ááľ ááá ááłáłáľ áá˝áá (á áá áá፠ááá ááá°áá?)á˘
áľá ááŽáááą áĽá á¨áá°áą á á°á¨áááľ
áŠáŁááŤá˝á á á ááá AWS á°áá ááľáĽ á Docker ááľáĽ á¨áá°áŤ á¨áááᎠá°ááŞáľ áľá áá°áá áŞáŤá á áŤá˘ á¨ááá áá¨áŤáá˝ áá°á á˛á á ááŽáááą áá áĽá á áá ááá áá áᣠááá áá á¨á ááą áá°ááá˝ áľáááá áľá á°áśá˝ áĽá áá á°á¨áľá°ááᢠá¨áá¨á ááą áĽá á¨á ááá á áááááśá˝ áá á ááľ áá áááᎠá áááááľá ááá¨á á áľááá áá áá˘
ááŽáááą áá°á á á¨áá ááŁáááľ áŤáá áá á°áľ áá°áľá áá áááᣠáá á áááᎠá°ááŞáąá á áĽáŤááłááą ááá áááľ ááá¨áá áŤáŤáľáłáᢠá ááľá á°ááŁá á¨ážá á áá ááá˘á á áááᎠá°ááŞáą áá áááŚá˝á áŤá°áááᣠá áĽá áááľááá áĽá áááá á¨ááá á ááśáá˛á áá¨áŤáá˝á áŤáŤááłáᢠá áľááá á¨áá ááá˘á áá°ááášá ááááŁá. ááá á˝ááŽá˝ áŤáá°áá, ááá ááłá á áááŤá áá ááĽáˇá. á¨áĽáŤááłááą áá á áá áá¨áŤáá˝ á áŤáľ á°á á á áááአáá áá°áŤáᢠáá° á ááľ á¨á፠á áááŤá ááááá áĽá á ááśáá˛á áá¨áŤáá˝á á áĽáą áá ááľááá á¨á°áłáŤ áááá á áá áá¨á°áłáᢠá á°ááŤá á áááŤá áá áŤááľ áá°ááá˝ áŤááᣠá áááááą á áá¨áŤ á áŤáŁá˘ á á ááá ááľá˛á áŽáá´ááá á áááááľ (á¤áá˝) áá á áŤáľ-á°á áááááᢠááááŤá áááá ááá˘áá˝ áĽá ááŤáŞáá˝ á áľááá áá, áĽá áĽáąá áááĽááľ á ááá¨áá. á áá á áŤáŁá˘ ááľáĽ áŤá ááŤáŞáá˝ á¨áĽá áá¨áŤáá˝á á áá¨ááá ááľá°áŤá¨áŤá ááá á á˛áľ áŁá áŞá áááľášá˘
á¨ááŽáááľ á ááá´áá¸á
á áááŹá˝á á¨á áľá á áá á áááááśá˝á áŤáŤáľáłáᢠá ááłááśáš á¨á°áťááľ á NET Core áĽá á NodeJs ááľáĽ ááᢠáĽáŤááłááą á áááááľ á á ááá ááľá˛á áŽáá´ááá á áááááľ ááľáĽ á áśá¨á áŽáá´ááá ááľáĽ áá°áŤáᢠáĽáŤááłááłá¸á á¨áŤáłá¸á á¨ááľáľááŹáľ áłáłá¤á á áá¸áᣠáĽá á ááłááśáš á°áá Redis á áá¸áᢠááá á¨á°áááą á¨ááἠááłáá˝ á¨áá. áĽá á áááááśá˝ á ááľ á áááľ ááἠá¨ááŤáľáááá¸á á¨áá áá ááἠá˛áá¨á áá° áĽááá á áááááśá˝ á SNS (ááá á¨ááłáá፠á áááááľ) áĽá á SQS (á ááá ááá áá¨á á áááááľ) á áŠá áá° áĽáŤááłááłá¸á áá°áááá áĽá á áááááśáš á áŤáłá¸á á¨á°áᨠá¨ááἠááł áŤáľáááŁá.
SQS áĽá SNS
SQS á¨á¤á˝á˛á˛áá¤áľ ááŽáśáŽáá á áá áá áááááśá˝á áá° áá¨á áĽááľáłáľááᥠáĽá á¨áá¨áá á¨ááᥠáááááśá˝á áĽááľáłáἠááá áľáááá˘
áĽá á áááááśá˝ á ááľ áá¨á áŤáá ᥠáĽáŤááłááą áááĽááľ áá° á ááą áĽáť áá°ááłáᢠá ááŤá¨áá¸á áŤááá áááľ ááá°áŤá¨áľ áĽá á°ááłáłá á áááááśá˝á á˛áŤáŤááą áá á áá ááá˘
áĽáŤááłááą áááĽááľ ááĽá á áááááśá˝ áĽáá˛á°ááľ á¨áááᣠáĽáŤááłááą á°ááŁá á¨áŤáą áá¨á ááá¨á áááŁáᣠáĽá SNS áááááśá˝á áá° áĽá áá¨á áááŁááľ áŤáľááááá˘
á á¤áľá¤áá¤áľ ááľáĽ áááľ ááĽá¨á ááą á°áá áááľ áááááĄáŁ áááłáᣠSQS áá¨áᢠáá° áááľ áááĽááľ ááá áľá˝ááá ᢠá áá á ááŁá áááĽááą ááá áááľ áá°áááá á áĽáŤááłááą áá¨á áááŤáᢠSNS áááááśá˝á áááá ἠáá´ á¨áááᢠá áá¨á ááá á áá¨áŤ áá áá° SNS á¨á°áá¨áá áááá á¨ááá ᨠSQS áá¨á ááá áᣠáá°ááááá áááľ ááááἠáĽá áá¨ááá ááá ἠáá˝ááá˘
á¤áá á ááľáá
á áĽááááš á áááááśá˝ á¨á áááá¨áĄ á ááĽáł á°á°áŤá˝ á áá°ááᢠááłá¨áť á á¤áá á ááľáá á áŠá ááᣠáĽáąá á¨ááłá¨áť ááĽáśá˝á áááľáťáᢠáá á¨áĽáá á áááááľ ááᣠáĽá ááĽáą áá°ááá˝á á áá˘
á á˝á áłá ááłáááŤáá˝
á áááŹá˝á áá ááá
á¨áłáá á¨áá¨áŤ á ááŤá¨áĽ
á¨áŠááľ áá¨áŤáá˝ áĽáá° áłáłá¤á áŤá áááŽá˝á á á áľáá áááŽá˝ áá°áŤáᢠáááᎠá°ááŞáľ áááłá á¨áá ááá áŁáá á áá á¨áĽ ááľáĽ áááἠáááá á á˘ááá áĽá á áá ááá á¨á°á áá°á áááἠá¨áá áĽáŤáá áá ááá á áá˝ááᢠá¨ááá áá¨áŤáá˝ áá áá ááŤáá á áá˝ááá˘
Đ
á¨áá á°á¨ áľááľáł áłáłá¤á á áľáá áą ááá á á¨áá°áááľ á˛á˘á¤áá¤áľ á ááą ááᢠá¨á°áá á¨á ááá¨áŤ áá. á áĽáá°áá ááááľ á¨ááἠááł ááľáĽ áŤáá ááἠá¨áááá á á á ááá áĽáľáŞáŤáá áľá¨áľ áĽáť áá. á áá á¨áŚá˝á ááá á á ááááá áĽá á¨ááἠáłááááľá á áŤá¨áááĽá.
áá áááá˝ á¨áá°áŠáľá ááá áá´á á¨áááľáá á¨áá¨áŤ ááá˘á áĽáá´áľ áĽáá°áá°áŤ áĽáľá¨áá¨áł áľá¨áľ áĽáť ááá˘
áá°áá á ááŤáŤááąá áľ áá ááľáľááŹáľ á áŤáľ á°á áĽáá˛ááá áĽá ááá°áľá áĽáá´áľ áá¨ááá áĽáá°ááťá á ááááŽáśááľ ááŁáĽá ááľáĽ á áá°ááá¸áᢠá¨áĽá áááľá áá áá áŤá°áááá áĽá á á°á¨ááŞ, ááááᎠá°ááŞáľ áĽáŤáą ááá¨áŤáá˝ ááá á áááľ áŽáľ á áá¨ááá.
áá° áááľáá áĽáááľ
á áĽáľááľ áá°áľ ááľáĽ, áááá á˝ááŽá˝ á ááá áááááľ á¨áŠááľ áá¨áŤáá˝ á á áĽááłááá ááá˝ áá, áľááá áá áá ááłá á¨á°áᨠá á áŁáŤ ááá á¨áĽ á°ááľáá.
á¨áá¨áŤ á áŤáŁá˘á áááááľ
á¨ááááŞáŤá á°ááŁá á¨áá¨áŤ á áŤáŁá˘á áá°ááŤáľ áá. á¨áááᎠá áááááľá áááľáŹáľ á¨ááŤáľááá á°á¨ááá˝áĄ-
- á áá¨áŤ áá áŤááá á áááááľ áá áŤáŁá˘á á áŤáŁá˘ áŤáá áŠáŁ á¨áá¨á ááą áĽá á¨AWS áá ááááááľ ááááŽá˝á á á áŤáŁá˘ á°ááááŽá˝ áááášá˘
- Postgresá áááአáĽá Liquibaseá á áááľ ááá°áľá áŤá¨áááá˘
á á°ááá á˛á˘á¤áá¤áľ ááľáĽáŁ áá° áłáłá¤á ááἠá¨áááá á ááľáŁ á¨ááἠááľá ááá á áŤáľáááááłáᣠá áá á ááááᣠá áá á¨áŚá˝á˘ á áááŹá˝áá á ááŤáááá áľ áá á áá á¨áŚá˝ á á á˛áą áľáŞáľ áĽá á áá á áááá áľ á á˝ áá áá á¨áĽ á ááŁá¸áᣠáĽá á á°ááá ááἠáłáŤáĄá˘ áá áľá°áľ ááŁááᢠá ááááŞáŤ áŁáś á¨ááἠááł ááľáĽ á á¨á´ááá˝á ááá á áአá¨áľá°áľ ááłá ááᢠáľá°áľ á áŤáą á áá°áá áŞáŤá ááľáĽ áááᣠáá˝ááᢠáááąá .NET áĽá NodeJS á¨ááá°áľ ááááá˝ á áá¸áᢠá áĽá áááł, áá°á áááľ á˛áŁá, áááᎠá°ááŞáľ á¨ááἠááá ááĽáŠá á¨ááá¨á ááĽáľ á°ááááá, áĽá ááá°áľ á¨áá¨áááá Liquibase á áá áá áá. - Amazon LocalStacká áŤáľáááŠá˘ áá á á¤áľ ááľáĽ á¨áá°áŤ á¨AWS á áááááśá˝ áľáá ፠ááᢠáLocalStack on Docker Hub á¨á°ááá ááľá á áá˘
- á LocalStack ááľáĽ á áľááá á áŤááľá áááá á áľááŞááąá áŤááąá˘ á¨áźá áľááŞááśá˝ AWS CLIá áá áááá˘
á ááŽáááą áá ááá¨áŤ áĽá
á áá áááá
á ááśáá˛á áá¨áŤá áĽáá´áľ áá á¨áá°áŤá?
á áá¨áŤ áá ááá ááá á áśá¨á ááľáĽ áá°áŤáᥠá áá¨áŤ áá áŤáá á áááááľáŁ ááľáľááŹáľáŁ á¨ááá°áľ ááłáŞáŤ áĽá ááľáľááᣠááá ááááá á¨áŽááśá áľáŞáą - ááááá˘
áśá¨á áĽá á˝ááŽá˝á áááłá
- á¨á áľá°ááá áá á áá ááá;
- áĽáááá˝á ááŤáᥠDocker ááľáá˝á ᨠDocker Hub áŤáááłá;
- áľáááąá áá° ááááŞáŤá áááł ááááľ: á ááá ááŤáŁáá˝á ááľáááľ.
áśá¨á-á áááĽá áŽáá´áááŽá˝á á á፠áľáá˝ á¨ááŤááá áľ á¨á áááá¨áĄ á¨á°ááá áá° á¨áášáá á ááłá¨ áá¨áĽ áŤááááá˘
áá°áá á¨áááŁá á¨á á áźá áľááŞááľ ááᢠáá°ááá á áááśá áá áááľáŹáľ git-bash áĽáá ááááᢠáľááá á ááľ áľááŞááľ ááááąá áááśááľ áĽá ááááľ á á ááᢠGit áĽá Docker á ááŽáááą áá áŁá ááá ááá˘áá˝ á°ááááᢠGit á á áááśá áá á˛áá git-bash á°áááᣠáľááá ááá á°á áĽáá˛á á ááá˘
áľááŞááą á¨áá¨á°ááľá á°á¨ááá˝ áŤá¨áááá:
- á¨áśáá°á ááľáá˝á ááááŁáľ
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 ááľá áá áá áĽá á áĽáą áá á¨á°áá á¨á° áľááŞááľ á¨áŤá ááľá ááá áŠá˘
á áá áá
ááŤááĽáááľ á¨áá˝á á˝ááŽá˝
áááááľá á áá áŁá á áá
á ááľ á áááááľ áŤáá ááŤáŁ á˛á°áŤ, áá áááľ áááááśá˝á áááá á ááá áá áááľ á áá°áá. áááááą áĽáľáŞááĽá áľá¨áľ áá á á á ááĽááľ.
áá
á˝áá á ááłááľ áá áľááŞááľ á áá áá áááłá
ááłáá¨áááąá SQS áĽá SNS 200 ááá˝ á¨áá áĽá LocalStack á á ááŚáľ áľááŞááśá˝á˘
áľáአá°ááŁá áááśá˝
á ááŤáł áá¨áŤáá˝ á á°ááłáłá Docker á áľá°ááá áá á á ááľ áá áááą áá˝ááᣠáľááá á¨ááŤáŁ áĽá á¨á ááłá¨ áá¨áĽ áľáá˝ áአááá á ááŁá¸áᢠá á°á¨ááŞá ᣠá¨á°ááŤáŠ á°ááłáłá á áááááľ á áááŤáá˝ á¨ááᥠáá¨áŤáá˝ á á°ááłáłá áá áá አáá˝áá ᣠáľáááá á áĽáŤááłááą á¨á˝áá ááá ááľáĽ áľáá¸áá ááá áĽáť á á á áá°ááá˘
ááłááľááŞááą á¨COMPOSE_PROJECT_NAME á°áááá áá° áአáĽá´áľ áŤááááá˘
á¨áááśááľ áŁá áŞáŤáľ
á áááśááľ áá Docker á áľá áá áá ááá¸á á¨ááááá¸á áĽá áááŽá˝ á á, ááááŤáąá áĽááá áááśá˝ áľá á°áśá˝ ááá áĽáá°áá¨á°áą ááá¨áłáľ á áľááá áá¸á.
- á áĽá ááŤáŁ ááľáĽ áŤá á¨áźá áľááŞááśá˝ á¨ááááľ ááľáá áá¨á¨áťáá˝ áááŤá¸á áááŁáá˘
á¨áźá CR ááááľ á¨á ááŁáĽ áľá á°áľ ááᢠááłáŠ áá áááá á¨áľá á°áľ áááááą ááá¨áľ á¨áŁáľ ááᢠá áááśááľ áá áĽáá°áá áŤá áľááŞááśá˝á á˛áŤááľá áľáááá á¨á˝áá á ááłá˘ áŤáľáááááłáᢠá á°á¨ááŞá, á¨áľáŞáľ áááŁá áŞáŤ áľáááą á áľááá áááá á áá áľ.
git á¨áááá¨á á áá ááááľ áááĄ-
git config core.autocrlf input
- Git-bash áá°á á á¨ááááľ áá á°áŽá˝á ááŽááá áĽá ᨠexe áááá (docker.exeá á¨ááŽ) á˛á°áá ááá á¨ááááľ ááááśá˝á á áááśááľ ááááśá˝ áá°áŤáᢠááá áá, áá á á áŤáŁá˘á áá˝á (ááá á áĽá ááŤáŁ ááľáĽ áŁá ááááśá˝) áá áá ááááśá˝ áľááá á áá°áĽá. áá áŁá ᪠áá°áá¨á á áá˝ááá˘
ááłá: á ááááą ááááŞáŤ áá á°á¨á᪠áááŁá áá¨ááŠ: // á˘á ᨠ/ á˘á ááá . ááááľ áĽáá°áá á áááľ ááááśá˝á áááááŁá; ááĽáą, á ááŤáł ááá¨áŤáá˝ á¨á ááľ áá á°ááłáłá áá¸á. áá git-bash áĽáá°áá á áááľ ááááśá˝á á áááááĽá áĽá áĽááąá ááááἠá ááááá.
á¨áááἠááľáłááť áá ááľ
áá¨áŤáá˝á á ááŽáĽá áľ ááᣠá¨áááąá á¨áááá áááἠááľáłááťáá˝ áĽá áĽá¨á°áá¨á¨ áŤáá á áááááľ áá¨áľ áĽáááááᢠá¨áĽááá áááἠááľáłááťáá˝ ááľá°áśá˝ áĽááľ á ááľ á¨á°áŤáŤá á áááá¸á á á ááľ áŽááśá ááľáĽ ááááľ á¨áááľ á¨á°ááŤáŠ áááá˝ á¨á áá ááš áá. áááá á á áŠá ááááŤá áśá¨á-á áááĽá áŠáŤ, áĽá áľááá á¨áĽáą áá ááľ á áŽááśá ááľáĽ áŤá áá. á¨ááá¨á á¨á áááááą áá¤áľá áá°á፠áááąá áá¨ááἠááá˘
á¨ááááŞáŤá áááľá ááľá¨á áá á dock-compose up áŁáá˛áŤ á¨ááᢠ-dááá áá á¨á áááąá á á á á áá áá áá á áá°áľ áá° áłáŤ áááŠáĄ
docker-compose up <service> &
áá áááἠááľáłááťáá˝á á¨áśá¨á áá° á¨áśáľá°á ááá á áááááľ áááá á áľááá áĽáľáŞáá áľá¨áľ á ááˇáᢠdock-compose up áááἠááľáłááťáá˝á áá° áŽááśá áááŁáľ á áááᢠááá áĄáľá á°ááˇáᢠáłááŞáá á°áŤááá.
ááłá:
docker attach --no-stdin ${COMPOSE_PROJECT_NAME}_<ŃĐľŃвиŃ>_1 &
á áá¨áŤ áľáááá˝ áá áá፠áááľ
áá°ááá˝ á á ááŤáł áľáááá˝ áá¨áááá. á¨áá¨á ááą á áá°á¸áłáᢠá áá¨á ááą ááľáĽ áŤá ááááŚá˝ áአááłáááŤáá˝ á áá¸áᢠá áĽáŤááá˝ ááľáĽ á¨á°áá°á ááłáááŤáá˝á á¨áťáá, á ááá°áá áľáááá˝ áá áááľ áĽááááá.
áĽáąá áááľáááľ ááłáááŤááš áአááá á ááŁá¸á ááá á áá¨áŤá á¨á°áá አááá áááŽá˝ áá°á¨á á ááŁá¸áᢠá ááłááľ áááŽá˝ á áááááá˝ ááááŤáľ áá°á¨á á áá˝ááá˘
ááłáááľáľáá áľááŞááśá˝á á áá áá GUIDáá˝á áŤáááŤáá˘
var uuid = require('uuid');
var myid = uuid.v4();
pm.environment.set('myUUID', myid);
á¨á፠ááááąá á áĽáŤáá ááľáĽ áá áá {{myUUID}}, á á°áááá áá á¨áá°áŤá.
á LocalStack á áŠá áľáĽáĽá
áĽá¨á°áá¨á¨ áŤáá á áááááľ á SQS áá¨á áŤáá á ááá á¨ááᣠáá áá ááá¨ááἠáá°áá áŤáą á¨áá áá¨á áá ááľáŤáľ á áá áľá˘
ááłáá¨ááľáľáá áá° LocalStack á¨áááᥠáĽáŤááá˝á˘
á¨AWS á áááááśá˝ á¤áá á á°áááá§áᣠáá á áŤá á¤áľá˛áŹ áá ááá˝ áĽáá˛á°á¨á áŤáľá˝ááá˘
á ááľ á áááááľ áá¨á áá á¨áťá, á¨ááŤá áĽáááŁáá áĽá á¨áááĽááąá áááľ áĽáááľáťáá.
á áááááą áá° SNS áááááśá˝á á¨áá¨áŁ á ááá áľ á°á¨á LocalStack áĽáá˛á áá¨á áááĽáŤá áĽá ááá á¨á¤áľá¤áá¤áľ áááľ áááááĄá˘ á¨á፠ááá ááá á¨áá á á°áááá áá ááááłá.
á áááááą á¨áá¨áá áááĽááľ ááá ἠá¨ááá á áá°áá á¨áá°á á°á¨á áá áá áááĽááľ áá° áá¨áá áĽáá˝áááá˘
á áá¨áŤ áá áŤáá áááᎠá áááááľ á¨ááᥠá¨á¤á˝á˛á˛á áĽáŤááá˝á á ááá¨á áá
á ááłááľ á áááááśá˝ á á¤á˝á˛á˛á áá á¨AWS áá áá°áŤáᣠáĽá á ááłááľ á¨AWS áŁá áŞáŤáľ á LocalStack ááľáĽ á áá°áá áŠáá˘
ááłá: á áĽááá
á ááŁááá˝ áá¨áł áá˝áá
á¨OAuth áá¨áá፠áĽá áááľá á ááá¨á áá
OAuth áĽá áĽáá ááááá˘
á á áááááą áĽá á OAuth á á áŤá˘á ááŤá¨á áŤáá ááá ááľá°ááĽá áá° áááľ áĽáŤááá˝ ááááłáᥠá ááááŞáŤ áá አáá á¨ááᢠ/. á á°áἠá¨ááłáá / áááľ-áá á, áĽá á¨á፠á¨á á°áŁáŁá ááá (JWKS) á á áľáŤáťá áá á¨áá አáá á¨áá. áá áá á¨áááááłááľ áááľ ááá˘
ááłáá¨áĽá á¨áá¨áŤ OAuth á á áŤá˘ á¨áááááłááľ á¨áááľ á áááá áĽá á áአáá áááľ áááá˝ ááᢠááľáá°áŤá á ááľ áá á¨á°áá ᨠáĽá áááľ ááá á ááá˘
á¨SignalR áá¨áŤ áŁá áŞáá˝
ááľáľáá á¨ááĽáśáŹáśá˝ áá á áá°áŤáᢠSignalR á áááá¨á áአááŁáŞáŤ á°ááĽáŻáá˘
á¨SignalR á°áá á á¨á áłá˝ á áá ááá áá˝ááᢠá NET Core áľá á¨á°áá á á¤á°-áá˝áááľ á áᢠá°áá áá, á NET Core ááľáĽ á¨á°ááá, áááááľá ááá°ááłá, á°á¨ááá§á áĽá á¨á°áá°á á°á¨áłáłá áááááśá˝á áá áĽáá. áŤáá°á á á áááĽááľ á¨á°á¨á° ááá áááááą á¨á á á°áá áá á 1 áŽáľ áááŁá. á¨áá¨á¨áťá á¨á°á á áá áááĽááľ á¨á°á¨á°, á°áá áá á 0 áŽáľ áááŁá.
áááá á¨á°áá áá áá á á ááľ áá áá°áŤá. áááĽááśá˝ ááááááľ áá ááľá¨áłá¸áá ááá¨ááἠáĽá á°áá áá˝ á°ááá¨ááá˘
áĽá á°áá áá˝á ááááľ á ááŤáŠá áá áá --áá á á áśá¨á-á áťáťá áľááá ááľáá áá.
á¨ááŽáĽá á ááľ á¨ááľáł á°á áľááŞááľ ááá á°áá áá˝ áááááśá˝á áĽáľáŞááĽáŠ áá áĽááá˘
áááááľá á¨áá á á
á á˝áá á áľááľá á ááĽáááᢠáá á ááááŽá˝ áá አáĽá á°áá áá áĽáá
á áᢠá¨á°áᨠá áŤááľ áŤáľááááá˘
ááłá: á ááŤáŁá ááľáĽ áŤáá á°áá á áá´áá áá ááá
HEALTHCHECK --interval=3s CMD if [ ! -e /healthcheck ]; then false; fi
áĄáľá áśá¨á ááá°á˝ á¨ááŤáŁáá áá°á á áááłáŁ á¨á¤á áááł áĽá á¨áá፠áŽáľ áŤáłáŤáá˘
áááá á¨á¨á¨á° á áá áľááŞááą á¨á°áá áá áá áŤááľ ááá áŽáá´áááŽá˝ á áŽáľ 0 ááá¨áŁá¸áá áŤá¨áááŁáá˘
á°áľáł á áá˘
á¨áá á¨á°ááášáľá á˝ááŽá˝ áŤá¸ááá á áá á¨á°á¨áá á¨áŠáŤ áá°ááá˝ áá áŠáᢠá áá¨áŤáá˝ ááľáĽáŁ áĽáŤááłááą á áááááľ á¨áłáłá¤á áĽá Amazon LocalStack áá á áááááľ áĽáá° á ááľ ááá áá°áŤáá˘
áĽááá áá¨áŤáá˝ á¨30+ á áá á¨áá á¨ááá˘áá˝ áĄáľáá á¨10+ áááᎠá°ááŞáľ ááľáĽáľáĽ ááľá°ááĽá áá á á°á°ááá á¨á°á°á፠áá°áá áŞáŤ ááľáĽ áŤá áľá á°áśá˝ áá áĽááá˘
ááá: hab.com