αααα αΆαα½ααααα»αα
αααααααα αΆαααα’αααααααααααα·ααΈαα α»ααα·αααααααααα½ααααααααΊααΆαα
ααααααΈαααααααΆααααααα·ααααα - α’αααα’αα·αααααα α’αααααΆααααα αα·αα’ααααααααααααα αααααΆαα
ααΆαααααααα - ααααΎαααααααααααα»αα αααααα’αα»ααααα
αααααα·ααααααααααΆαααααααααααααα - α’αααα―αααααααα»ααα·αααααααΎαααααααααα»αα
αααα½αα±ααααΆααααααααΆααα·α αα ααααΆαααααααα½ααα αα·αααααΎααααΆαααααα·ααααααα·ααααααααα½αααααΎααααΈαααααΎαααααΎαααΆαααααΎααααααααα»α ααααΎαααΎααα·ααΈααΆααααα αααααΆααααααα’αααααΎα αα·ααααααααΆαααααΎαααααααααααααααααα·αααα’αα»αααααΆααααααααααα»α αα·αααααααΆααΏααααααΌαααΆαααααααΆαα αααααΆαα ααΆααααααααααΆαααααααΈααα ααααααα ααΆααααααααα§ααααααααα»α αα·ααααααααα½αααΆα αααα½ααααα αααα»ααααααααα CI αααα αααΆααααα½ααα·αα·ααα αα·αααΆαααααα»ααααααΆαααΆαααα
α’αααα’αΆα
ααααααααααααααααΆαα
αααααααα αΆααααΆααααα½αα
ααα½ααααα»αααΆαααααΎααααααααααΎαααααΎαα
αα
αα
αααα·ααααΆαα·αααααΆααα
αααα»α
ααααΉαααΆααααααα·α
αααα·αααααΆαααααΎααααααααα»αααΆααααΆααααααααααααααααααααΆααααα»αααΆααα½ααααα αΌαα§ααααααααα»α Apache JMeter, Yandex.Tank αα·ααααααααααααααΆαααααα½αααααα’ααααα αααα»ααααααααααα½ααααα αΌαααΆαααααααααΆααααΆαα’αααΎα α·αααα ααΆααααα αΆαααΉαααΆααααααΆαα GitLab CI ααα»αααααααααΆαααααΊααΆααΏαααααααΆαααααΆαααααααααα CI ααΆααα’ααα
ααΆαααααΎααααααααα»αααΆααααΆααΊααΆααααΆαααααΆααααααΆααααΆαααααΎααααααααα»αα ααΆαααααΎααααααααα»αααααΌαααΆαααααΎαααΆααα αααα»ααααα»αααααΆααααΆαααΆααααΆαα ααααααααααΌαααΆαααααα»ααααααααααααααααααα·αα αααα»α GitLab Pages, Influx DB αα·α Grafana α¬αα αααα»αααααααααααΆαααΆαααααΆααααα (TestRail, ReportPortal ααα)α ααααααααααααα·αααα αα·αααΆαααααΎααΆαααααααΆαααααΌαααΆαα’αα»ααααααΆαααα’αΆα ααααΎαα ααΆα ααααααααα αα·ααααααααααΌ gitlab-ci.yml ααααααΆαα αααα»ααααααα GitLab CI α
α’ααααααααααααααα·ααΈααΆααααααααααΊααΆα αααααΆαα ααΆαααααααα CI ααΆααααΌα ααααΆααααΆααααα»α ααΌαααΆα docker ααααααααααα»α ααααααααα αΌαααΆααααα αα·αααΆαααααα»ααααααΆαααΆαααααααΌαααΆααααααΆαα»ααααααΆααααααΆαααααααααααααα·αααααααααΆα (αα·ααααα DevOps) ααααααααααα·αααααααααΎααααααααα»αα’αΆα αααααααΎααΆααα·αααααααΉαααααααααααα½αααααΎααΆαα’αα·ααααααααΆαααααΎαααααα αα·αααΆααα·ααΆαααΎαααααααααααα½ααα ααααα·ααααααααΆααααα αΆα αααααΆαα ααΆααααααααα
αααααΆααααΆαααΆααααααααΆααα·αααααΆ ααΎαααΉαααααααααΆαααααα·ααΈααααα α¬αααΆαααΈαααααααααα»αααααΎαααααααααΌαααΆαααΆαααααααΆα αα·αααααααα ααΆααααααααααΆαα»ααα½α α αΎα (ααααααΈαααααααααααααα·αα αααα»α Python, SaltStack, Ansible ααα α’αΆα ααααΌαααΆαααααΎαααααΆααααΆαααα)α αααααΆαααα ααααααα·αααΆααααΌαααααΆαααααΎααααααααα»αααΆααααΆαα½α ααααΉαααΈααααΆααααΆαα ααΆααααα α ααΆαααααΎααααα ααΆαααααα»ααααααΆαααΆααα. ααααααΆααααα’α·αααααααααΎααααΆααααΆα (ααΌαααΆαααΆααα’ααα’αΆα α α»α ααΆα)α
ααααααα·α αα·ααα·αααααααΆααΌαααααΆααααα»αααΆαααααΎααααααααα»α
αα
αααα’αα»ααααααΆαααααΎαααααααααα»αααΎαααααΆααΆααααααΆααααααΆαα
αααα»αααααΆααααΆα - αααΆαααΈααα·αααα·αααααααααα·ααΈααΉαααααΌαααΆαααΆααα±ααααααΎαααΆα - ααααααααα»α (Apache JMeter, Yandex.Tank α¬αααΌαα»ααααα»αααααααααααααααα½αα―α) α
ααααα ααΆααααα (ααααα ) - αααΆαααΈαααα¬αααααα·ααΈαααααΆαααα‘αΎααα ααΎαααΆαααΈααααααααΉαααααΌααααα»αα
ααααΆααΈαααΌααΆααααα (ααααΈααΆααααα) - αααα»αααααα αΆααααΆαααΆααααααα αααααααΆαααααα’αααααααΎ αα·αααααα·αααααααααααΉααα»αα αααααααααααΆαααΆααααα ααΆαα½αααΉαααααΎαααααΆαααα αα·αααΆαααααΎααα α’αΆαααααααΎαααΆαααΆαααααααααααΆααααααΆααα
αααααααααααΆα α¬αααααΆααααα»α (αααααα) - αααα»α
ααΆααααα - ααααααΈααααααΆααααα»ααααΆαααΆαααααααααααΆαααααααα»αααΆαα»αα
αααααΆαααΆααααα (αααααΆαααΆααααα) - αααα»αααααΆαααααΎααααααα·ααααααααααα»αα
ααααααΆαα (testrun) - ααΆαααααΎαααααααααααΆαααααΎαααΆαααΆαααααΎααααααα½αααΆαα½αααΉαααααΆααΈαααΌααΆααααα»ααααααΆαααααα·ααααα·αααααα αα·ααααΆαααΆααααααααα½αααΆαα
ααααΎαααααΆα (ααααΎ) - ααααΎ HTTP ααααΎααΈααααΆααααΆααα ααααα α
ααΆαααααΎααααααααΆα (ααΆαααααΎααα) - ααΆαααααΎααα HTTP ααααΎααΈααααα
αα
ααααΆααααΆαα
ααΌαααααΎααα HTTP (ααααΆαααΆαααΆαααααΎααα HTTP) - ααΌαααααΎααααααααααΆαααΈαααΆαααΈααααααααα·ααΈα
ααααα·ααααα·ααΆαααΊααΆααααααααΆαααααΎαααααααΎααααααα ααααα·ααααα·ααΆαααααΌαααΆαααΆααα
αΆααααΈααΆαα
αΆααααααΎαααααΆαααααΎααααΎ (ααααΎ) αα αΌααααααΆααααα
ααααααΆαααα½αααΆαααααΎααα (ααΆαααααΎααα)α
ααααΆαααΆαααααα·ααααα·ααΆα - ααΆααΎααΆα’αΆα αα αα½α αααα»αααΆααααα ααααααααααΆαααααΎαααααααΎααααααααααααα¬ααα ααααα·αααΎααΆαααα α»αααΆαα½ααα αααα»αααααααα αααααααα·ααααα·ααΆαααΆααααΌαααααΌαααΆαα αΆαααα»αααΆαα·αααααααα
αααααααΆααααΎααα (ααΆαααΊααααΆα) - αααααααΆα αΆααααΈα α»ααααα ααααααΆαααααΎααααΎ (ααααΎ) αααααΆαα αΆααααααΎαααααΆαααα½αααΆαααααΎααα (ααΆαααααΎααα) α
αααα»ααααααα - ααααααααααααΆαααααααααΆααααα»α αα·αααααΆααααΆααααα»ααααααΆαααααααα αααα»αααααΎαααΆαααααΆαααααΎααααααααα»αα
ααααααααΆααΌαααααΆααααααΆααααΆαααααΆαααΆαααααααααα»α
αα½αα
ααα½ααααααααΌαααΆαααααΎααααΆαα αα·αααααΆαααΆααΌαα
αααα»ααα
αααα»ααα·ααΈααΆααααα
αααααααααααΆααααααΆααααΆααααα»α
ααααααααααααααααααααα
α¬αααααα·ααΈααααααα»αααααΌαααΆαααΆααααααα
αααααααΆααααα»α
α
ααα½α vCPU αα·αααΆαα
αα
αΆα α’αααβα
αα
αΆα,
ααΆα - αααααα "ααΆαα·ααα" ααααααΆααααΆααααα»α
αααΈααΈααΌ, α’αααα
αα
αΆα ααΆαααααΎααααΆααααΆα - ααΆααααααααααΈααΈααΌ α’αααα
αα
αΆα αα·αααΆααααα»αααΆα
αα
αααα»αααααΎαααΆαααααΆαααααΎαααααα ααΆααααααΆααΆαααααααΆααΆααα
αααααα’αα·ααααΆαααααΆα
αααααΆαααααααΆαα (αα
ααΎααααΆααααΆααααα»α) - ααααααΆαα
α
ααα»α
αααααΆαααααααΆααα
ααΎαααΆαααΈααα,
αααααααααααααΆααααΆααααα»αααααΌαααΆαααα‘αΎαα
ααΆααααααΆααΆααααΆαααααα»ααα½ααα·ααΆααΈ (bps)
αααααΆαααααααΆαα(αα
ααΎααααα
) - ααααα·ααααααΌαα
ααα»α
αααααΆαααααααΆα
αα
ααΎαααΆαααΈαααααααα
α ααΆααααααΆααΆααααΆαααααα»ααα½ααα·ααΆααΈ (bps)
α’αααααααΎααααΆαααα·αααα·α- α
ααα½αα’αααααααΎααααΆαααα·αααα·α,
ααΆαα’αα»ααααααααΆααΈαααΌααΆααααα»ααα·α
ααααΎααααΆααααΆααααααααΆαα’αααααααΎααααΆαααα·αααααΆαα
ααααΆαααΆαα’αααααααΎααααΆαααα·αααα·αααααααΆαα/αααΆααα/ααα»α β α
ααα½ααααααα αα·α
ααααΆαααΆααα·αααααααααααα’αααααααΎαα·αααα·α
αααααΆααααααΆααΈαααΌααααΆααααα»α ααααΌα
ααΆα
ααα½αααα»αααααααΆα
ααΆααΌαα
ααααααΉαααΆα’αααααααΎααααΆααααΆααα’ααα’αΆα
αααααααΆαα
ααΆαααα·α
αα
ααΆαααααα’ααααααααΆααααααΆαααα
αααα»ααααααααααα»αα
ααα α»αααΆαα½αααΉαααΆααααααΆα’αααααααΎααααΆαααα·αααααΆααααΉααα·αα’αΆα
αααααααΆααααα αΆααααα’ααααα
αααααααΎααΆαααΆαα½ααααααααα
ααααΎαααα»ααα½ααα·ααΆααΈ (ααΆααΈ)- α ααα½αααααΎαααααΆααααα»ααα½ααα·ααΆααΈ (α¬ααΆααΈ) α
ααααααααααΆααααααααΆααααΆααααα»αααΊα
ααα½αααααΎαααααΆα’αΆα
αααααΎαααΆαα
ααΆααα·ααααααΊααΆααΆαααααααααααααααΆαα
αΌαααααΎαααααα·ααΈαααα’αααααααΎααααΆαααα·αααα·α
ααΆαααααΎααααααα»ααα½ααα·ααΆααΈ (ααΆααΈ)
- α
ααα½αααααΆαααααΎααααααααΆααααα»ααα½ααα·ααΆααΈ (α¬ααΆααΈ) α
ααααααααααΆααααααααΆααααααααα
α ααα»ααααΆα
αααααΎα αα·αααααΎααΆαααααΎααααα
ααΉααααα½αααΆαα½α
ααααΆααααΆααααα»α
ααααΆαααΆαααααΎααα HTTP- α
ααα½αβααβααΌαβααααΎαβααβαααααβααααΆβ
ααΈαααΆαααΈααααααααα·ααΈαααααΆαααα½ααααααααΆααααΆααααα»αα
α§ααΆα ααα 200 OK ααΆααααααΆααΆαα α
ααααααα
αα·α 404 - ααΆααααΆααα·αααααΌαααΆαααααΎα
ααΆαααΊααααΆα
(αααααααΆααααΎααα) - αααααααΆααΈααΈαααα
αα
ααααΎααααΎ (ααααΎ) αα»ααααα
αΆααααααΎαααα½αααΆαααααΎααα (ααΆαααααΎααα) α
ααΆααααααΆααΆααααΆααΈααΈαα·ααΆααΈ (ms)
αααααααΆααααΎαααααααα·ααααα·ααΆα- αααααααΆααααααα·ααααα·ααΆααααααααα½α
ααΆααααα
ααααααααααΆαααααΎαααααααΎα
αααααΊααΆαααααααΆα
αΆααααΆααααΈααΆαα
αΆααααααΎαααααΆαααααΎααααΎ (ααααΎ)
αα αΌααααααΆααααα
ααααααΆαααα½αααΆαααΆαααααΎααα (ααΆαααααΎααα) α
αααααααΆααααα·ααααα·ααΆαα’αΆα
ααααΌαααΆαααΆααααΆαα·ααΆααΈ (α¬ααΆααΈ)
αα
αααα»ααα·ααΈααΆα
αααΎα: αα·α
αΆαααΆα’αααααααΆ,
α’αα·ααααΆ ααααα αα·αα§ααΆα ααα 90 ααΆαααα
ααΆαα’αΆαα’αααααααΆ αα·αα’αα·ααααΆααΊααααΆαααααα»αα
ααααΆαααΆαααααΎαααΆαααααααααα
ααΆαααααΈαα
αα·αααΊααααΌαααΆαααααααΎααΉαααΆαααααα»α,
ααΌα
αααααΆαααα αΆαα’αααααααΎααααΆααααΆαα
αααΎα
ααααΎαααΆαααααααααααΆαα»αααΆααα
ααααα·αααααααΎαααΆααααααααα
ααααα·ααααα·ααΆααααα»ααα½ααα·ααΆααΈ (ααΆααΈ) - α
ααα½ααααααα
ααααα·ααααα·ααΆααααα»ααα½ααα·ααΆααΈ (ααΆααΈ),
αααααΊααΆααΎααΆααααα»αα’αΆα
ααα½αααααΆαααα»ααααΆα αα·α
ααααΎαααΆαααααΎ αα·αα
ααααΆαααααΎαααα
ααΆααα·ααααααΊααΆααααΎαααΆααααααααααα
ααααΆαααΆαααααα·ααααα·ααΆα , ααααααΆαα / αααΆααα / ααα»α - ααα
αααααα αα·ααααααα αα·αα
ααα½αααααα·ααααα·ααΆαααα»αα
αααααΆααα’αααααααΎααααΆαααα·ααα·ααααααα
ααααα·ααααα·ααΆααα·αααΆααΆαααα
α’αααααααΆααααα»αααΆαααααΎααΆαααΆαα½αααααααααααααααα»ααααα»α
αααα»αααααΆααααΆααααααααΆαααααααΆαααααΎααααα
ααααααα·αααααΆαααααΎααααααααα»αααΊααΆααααααΆαα α αΎαααΆαααΈααααΆααααΆαααααΆααα ααααααα»αααΆαααΎαα‘αΎααα½α α αΎαα αααα α-ααΆααααα-αααΆαααΆααααααααΊααΆααααα αααααα ααΆααααα αα·αααααααααΆαααΆαααααααααααΆααααααααααα»α αααααΆααααα’αα»ααααααΆαααααΎααααααααα»α α αΎααα α α»ααααα αα αααααΎα αα·αααααα»ααααααΆαααΆαααααΆαααααα
αααααα αααΆαααΆααααααααΆαααα
- QA.Tester ααΊααΆα’αααααααΆααααα»αααΆαααααΎαααααααααα»α
- ααααα ααΊααΆαααααα·ααΈααααα αααα’αααα ααααΉαααΈα’αΆαααααα·αα·ααΆααααααΆαα αααααααΆααααα»αα
ααΆαα αΆααααααΆααααα’αααααΆα ααααΆααααΆα αα·αααα αΆααααα»αααααΆααααΆα
ααααΆααααΆααα·αααα αΆα
ααΎβααΆαβααΏαβα’αααΈβααΎαα‘αΎα
α’αααΈααααα
α
αααα
αΌα
ααΎα’αααΈααΆαα·ααααα
ααΆααααα αα ααααΆααααΆαααααααααααΆααααΆαααααΎααααα
αααΆαααΆαααααααααα»α
ααΆαααααααα·αααΆαα
αΆααααααΎα
α’αααβααααΎ
αααΆαααΆαααααααααα»α,
αααααΎααααααααααα·α
ααΆααααα
ααααααΆαααΆααααα
(αααα»ααααααα)
αααααΎαααααΆαααααα½ααααααΆαα
ααΆαα
αΆααααααΎααααα»αααααΆααααΆα
αααααΆαααΆααααα
αααααααααααΆαααααΎααααα
VM
ααΆαααΆαααααααΆαααΎααα
αααΆαααΈααα·αααα·αααΆαα½α
αααααααααααααΌαααΆα
ααΆαααααα VM αααααΆααααααΆααααΆααααα»α
ααααααΈαααααααααααααα·αααααααααΆαα
ααΆααααααΎα VM
VM ααΆαααααααα
ααΆαααααααααα
αααα»α
ααα
α’αα
ααΆααααα
α αα·ααααα
αααααααααααααα·ααααα·ααΆα
ααα·ααααΆααααααΆαα
αααα»αααΆαααΆαααααΆααααΆα
ααΆααααααααα·ααααΆααααααΆαα
ααααΆααααΆααααα»α
ααααααΈαααααααααααααα·αααααααααΆαα
ααΆααααααααα·ααααΆα
ααα·ααααΆαααΆααααα
αα
ααααααααααααα·ααααα·ααΆα ααααΆαααα αα·ααααααα·ααΈ
α
αΆαααΆα
ααααααΆααααΆαααΆα
ααααΆααααΆααααα»α
ααααΆααααΆααααα»α
ααΆαααα‘αΎα ααΆαααααααα
ααΆαααααααα αα·αααΆαααααα
ααααΆααααΆααααα»αα
α¬ααΆαααααΌαααΆα docker ααΈ
ααααααααα»ααααααΆαααααααα»αααΆαα»α
αααα»αααΌαααΆα docker ααααα
(YAT, JM α¬αααααααααααααααααααα½αα―α)
ααΆαααααα
ααααΆααααΆααααα»α
αααα
α αα·ααααα
α
ααΎααααΈααααΎααΆαααααΆααααΆααααα»α
αααααα ααααΆααααΆαααααΆαα’αα»ααααααααααααα»αα αααααααΊααΆααααΆααααΆααααα»ααααααΆαααΆαααααααΆααα αααα»ααααα»αααααΆααααΆαααΆααααΆαααααααΆαα GitLab CI
αααα»α
ααΆαα
αΆααααααΎαααααΆααααΆααααα»α
ααΆαα½αααΉααααααΆαααΆααααααααααΆαααααΎαααΎα
αα·ααααΆαααΆαααααααααα»α
αααααΎαα’αααααααΎααααΆαα
αααααΆααααΆαα
αΆααααααΎα
ααααΆααααΆααααα»α
αααααΆαααΆααααα
αααααααααααΆαααααΎααααα
αααααα ααα»ααααα·ααααα·
ααΆαααααΎααααααααα»α
αααααα ααα»αααααααα
ααΆαααααααααΆαααααΆααααααΌααααα»ααααααΆααααααα
αα·αααααΆααααΆααααα»α
ααααΎαααΆαααααΆααααΆα
ααΆαααααα·ααααα·ααααΆααααΆα
αααα»αααααααΈαααΆααααα
αα
βαααα»αβααΆαβα’αα»αααβααΆα
αααα»ααααααα
αααα»αα’ααααααααααααΆααααΆα
αααααΆαααααααααααΆααααα
αααααΆαααΆααααα
αααααααααααΆαααααΎααααα
αααααα ααα»
ααΆααααααΌααααααα ααα» "αα
"
ααα‘α»ααααααααΎααααααααα»αα
αααα»ααααααααααΆαααααααΆαααααΆααααΆα,
ααααΆαααΆαααααααα
ααΆααααα
αα·α VM αααααααΎαααΆαααααΆααααΆα
αααααα ααα»ααααα·ααααα·
ααΆαααααΎααααααααα»α
αααααα ααα»αααααααα
αααααα
ααΆααααααΌααααααΆαα "αα
" ααα‘α»ααααααααΎααααα
ααΆαααααααααΆαααααΆααααααΌααα
αααα»ααααααΆααααααα
αα·αααααΆααααΆααααα»α
αααΆαααΆαααα ααααΆααααΆααααα ααααΆαααΆαααααΆααααα
αααΆαααΈαααααΎα
ααααΎαααΆαααααΌαααΆααααααΌα
αααααααααααα»ααα·α
αααααααααααα½ααα·αα·ααα "αα
"
αααααααα·ααααααα ααα»
ααΆααααααΎααααΆαααΆααααα
αααα»α
αααααααααα’αΆα
α’αΆαααΆαααααααα»ααα
α’αΆα
ααααΎαα
ααΆαααΆαα½αααΆαα»
α’ααααα·ααΆα
αααααα ααα»ααααα·ααααα·
ααΆαααααΎααααααααα»α
αααααα ααα»αααααααα
ααΆαααααααααΆαααααΆααααααΌααα
αααα»ααααααα
ααααα
αα·αααααΆααααΆααααα»α
ααααΎαααΆααααααα ααα» "αα
"
αααα»ααααααααααααααααααΆαα
αααα»αα‘αΎααα
αααααααααα»αααΆααααα
αααΆαααΆααααααα»ααα·αα·αααα,
ααα»αααα’αΆα
α’αΆαααΆαα
ααααα»αααααααΆα
ααΆαααααα»ααααααΆαααΆααα
α’αααΈααααα»α
ααΆαααααΎαααααααΆααααα
ααααΆααααα
ααα
ααα "αα
"
αααααααΆαααα»ααααααααααααα
αααααΆαααααα»ααα
ααΆααααα
ααααΆαα
αααααΆαα»ααααα»ααααααααΆααααα
αααΆαααΆααααααα»ααα
ααΎ
αααα»α, αααααα
αααααΆααααΆααα·ααΆαααααααα»ααα
ααΆαααααΆααααααααααα»ααα αααα»αααααΌ CI
α
αΌααααααα
αααααααΆαααααααα αααα»αα
αααααα αΆαααΈααααααΎαααααααα½αα
ααα½ααα
αααα»ααααα»αα αα»α
ααΆααααΌα αααααΆααααα½αααΈαα·ααααα DevOps ααααααΎα ααΎαααΆααααααΎααααα»αααααΆααααΆααα·ααααα½ααα
αααα»α GitLab CI ααΎααααΈααααΎαααΆαααΆαααααΎααααααααα»αα ααΎααααΈαα»αα±ααα
ααα‘ααα½αααΆαα
αααα»αααααΌααΆαα½αα’αααααα ααΌα
ααΆα’αΆααααααΌααααα»α ααΎαααΆαααααααααααΆααα
ααααΆααααΆαααΆαααααα
ααΎααααΎααΌα
ααααα
ααΎααααΈαααααααααΆααααααααααΌαααΆαααααααααααΉα? ααααααααααααΆααααΆααααα»α - α
ααα½ααααααααααΆαααα vCPU, RAM αα·α Disk - α’αΆα
ααααΌαααΆαααααΆαααααα’ααααΎααΆααα·ααααααΆ Docker, Python (αααααΆαα Yandex.Tank), ααααΆααααΆα GitLab CI, Java (αααααΆαα Apache JMeter) αα½αααααααΎαααΆαααΎααααΆααααΆα . αααααΆαα Java ααααα JMeter ααΆααααΌαααΆαααααΆααααααα±ααααααΎ RAM α’αααααααΆ 512 MB α αΎαααΆααααααααααΆαααΎα
ααΌα αααα αααααα’ααααΎαααα·αααααααααααΎα ααΎαααΌαααααΆαα±ααααααΎ vCPU αααΆαα αα ααΆαα 4, RAM 4 GB, 60 GB SSD αααααΆααααααΆααααΆααααα»αα ααα αΌαααααΆααααααΆαααααΌαααΆαααααααααααα’ααααΎαααααΌαααΆααααααααααααα»αα
ααΎαααααΎααααααααα»αααΈαααΆα αααα - Apache JMeter αα·α Yandex.Tank docker ααΌαααΆαα
ααΎααααΈααΆαααΆααααα½αααααΆαααααΎααααΆαααα
αααα»ααααα»αα αα»αααααααΎα ααΎααααΈαααααααΆαααααα’αααααΆααααααααα½αα―ααααα»αααΆαααααΆααααααΌα αα·αααααααααα·ααΆααΆα ααΎαααΆααααααΎαααΌαααΆα docker ααααααααααα»ααα
ααΎ GitLab CI ααΆαα½αααΉαααΆαααααα»ααααα
αααααααΆααααα»αα
ααΎαααΆαααα―αααΆα docker ααΌαααααΆαααααααααΆαα Yandex.Tankα
Dockerfile
1 | FROM direvius/yandex-tank
2 | ENTRYPOINT [""]
α αΎααααααΆαα Apache JMeter αα½ααααα
Dockerfile
1 | FROM vmarrazzo/jmeter
2 | ENTRYPOINT [""]
α’αααα’αΆα
α’αΆαααΈααααααααααααααααα½ααααα
αΌαααΆαααααααααΆααααααααΎαααααΎαααΆααα
αααα»αα’ααααα "
ααααΌαα·αααααα
α§ααΆα αααααααααΌαααααΆααααααΎααααααααα»αααΆααα
αααα»ααααααα
ααααΌαααααΊααΆααααααΆαα α αΎααααα αΆαααΈααααΆααααΆαααΆααααΈααααΆαααααΎαααααααααα»ααααααΆααα·αααααΆαα
αααα»αααααΆααααΆαααΆαααΎα ααΆααααα
α ααΆαααααΎααααα αα·αααΆαααααα»ααααααΆαααΆαααα ααα½ααα»αααααΌαα
ααααααΏαααα
- ααααΆααααΆα
αααα α αα½αααααααΌαααΆαααααΎααΎααααΈαααααααααα ααΆαααααααΆαα»α α¬αα·αα·αααααΎαααΆαα’αΆα ααααΆαααααααΆα ααα·ααααΆααααααΆααααααααααα»ααα·αα αΆαααΆα αααααααα ααΆαααααααααα αα½αααααααΌαααΆααααααΎαααΆαα»αααΆααΌαααΆα docker α αΎααααα αααααα»ααααααΈααααα dockerα ααααΆαααααααααΆαααααααααα ααααΆααα ααααΆααααΆαααΆαααααα ααα»ααααβα’αααβα’αΆα βαααααΎαβααΆβα‘αΎαβαα·α αα·αβαααααΎαβααΌαααΆαβαααβααΆαβααααααβαααβαααα½αα―αα - ααααΆααααΆα
ααΆαααααΎααααα ααααΎααΎααααΈαααααΆααααααααααα»α ααααΎαααΆαααααα αα·ααααααΆαα»αααααα»αα»ααΆαααΆαααααα α’αααα’αΆα ααααΎαααΎαααααααααα»αααΆαα½αα Yandex.Tank, Apache JMeter, ααααΆαααααα½αααααα’ααα α¬ααΆααα’ααααααΆα ααΎααααΈαα·ααααααααααα·αα αΆαααΆα α ααααΆαααααααα ααααα· α¬αα»αααΆαααΆααααα α ααα»α α αΌααααααΆααααααααααα»αα- αααΆαααΆααααααα
αΆααααααΎααααααΆαα Yandex.Tank ααααΌαααΆααααααΆαααα
αααα»α .
/tests/yandextank.sh , - αααΆαααΆααααααα
αΆααααααΎα Apache JMeter ααααΌαααΆααααααΆαααα
αααα»αα―αααΆα
./tests/jmeter.sh .
α αααΆαα ααααΌααααΆαααααααα ααΆααααααααααΆααα½αααααα»αααααΆααααΌαααΆαααααΎααΎααααΈαααα αα’ααααααααααΆαα½ααααααααα CI αα·ααα·ααααααΆααααΈααΆαααΆαααααααα·ααααΆααΆααααααα αααα»αααΆααα αααααΆααααΆαααααΎααααα α ααα»α α αΌαααααΌαααΆααααααΆαα ααΆαααααααααααααααΈα bash αααααΆαααα·ααα α αα·ααΈααΆαααααααααΆαααααΎαααΆαααΆαααααΎααααα αααααΎααααΆαααΆααα αα·αααααααΈαααΆααααααααα½αα―αααααΌαααα’αα»ααααααααα·ααααα QA α αα αααα»αααΆααααα αΆα αααααΆααααααααααα»αααΆααααΈα ααααΎααααααα Yandex ααααΌαααΆαααααΎααΆααΆαααΆαααααααΆαααααααα»αα ααααααΈα αα·αβαααΆαααΆααααααβααΆαααααβααΆαβαα βαααα»αβαα
./tests . - αααΆαααΆααααααα
αΆααααααΎααααααΆαα Yandex.Tank ααααΌαααΆααααααΆαααα
αααα»α .
- αα
ααΆα
αααΆαααΆααα α’αααααααΌααααααΆα’αααΈαααααααααααΆαααααααααααααααααα½αααΆααα ααααΆααααΆαααΆααααααα ααΆαααααααααααα»αααΆααααα α§ααΆα ααααα ααΆαα GitLab Pages α¬ααααααααααΆαααΆααααα·αααα ααααα GitLab αααααΌαα±ααααα―αααΆα ./public αα·αααα αα·αααΆαα―αααΆα index.html αααΆααα·α αααααΆααααΈααΆαααααΎαααααααΆααααα ααα α’αααα’αΆα α’αΆαα’αααΈααΆααα»αααααΆααααααΆαααα GitLab Pages ααααααααΆαα .α§ααΆα αααααααααααΆαα αααα·ααααααα
- ααΈ JMeter αα
ααααα GitLab , - ααΈ Yandex.Tank αα
InfluxDB αα·α Grafana .
ααΆααααα ααααΆαααααΆαα’αααΈααΆαααα‘αΎαα
- HTML αα·αα·αααααα
αααα»α
ααααα GitLab , - αα
InfluxDB α αΎααααααΆαααααα
α αααααααΆααΆ .
- ααΈ JMeter αα
αα αααα»αα§ααΆα αααααΆααααα ααααααααααΆαααΆαααααΎααααααααα»α αα·αααααααααα»αααΈα (α’αααα’αΆα αα·αααααΎαααΆαααααα·αα αΆαααΆα α) ααΎααα ααΌα αααα
Apache JMeter α’αΆα αααααΎααααΆαααΆααα HTML ααααααα½αα―α ααΌα ααααααΆααΆααααα αααααααα»αααΆααααααΆαα»αααΆαα αααα»α GitLab Pages αααααααΎα§ααααααααααααΆαα αααααΆααααααααααΆαααΆααα Apache JMeter ααΎααα ααΌα αααα
αα
αααα»αα§ααΆα αααααΆααααααααααΆαα Yandex.Tank α’αααααΉαααΎαααααα»ααααα
αααααα
αα
αααα»αα’ααααααααα»αααΆααα·ααΆαα’αααΈαααα·ααα "ααΆαααααΎααααααααα»αααΆααααΆαααα" (ααΆαααααΎααααααααα»αααΆααααΆαααα) α αααα·αααααΆααααΊααααΌαααααΎα αααααΆαα
ααΆαααααααααααααα»αααααΆααααΆααααα»ααααααΆααααααααΆαα»α ααΌαααΆα docker ααααααααααα»α ααααααααααΆαααΆααα αα·ααααααααααα½ααααα
αΌαααααΆαα½αααΆαα
αααα»α GitLab CI αααααα’ααααΎααααΌ .gitlab-ci.yml ααΆαααα (α§ααΆα ααα
PS αααα»αα αααα·ααΆαααΆααααααα’ααααα»ααααΆαααααΆααααα α αααααα αααα·ααααααααα»αααΊααα Sergey Kurbanov αα·α Nikolai Yusev αααααΆαααααα½ααα αα ααααααααα»αααΆαα’αα»αααααααα·αααααΆαααααΎαααααααααα»αααΆααααΆαααααα αααα»ααααα»αα αα»αααααααΎαα
α’ααααα·αααα:
ααααα: www.habr.com