Бидний системийн шинэ хувилбар байршуулах үйл явц хэрхэн хийгддэг вэ?
“Наадмын дараа намар”-аа гэж…
Энэ жилийн наадам нар, хур тэгширсэн өнгөтэй сайхан болж найз нартайгаа аяллаар явж амралт маань дууслаа.
Наадмын дараа намар гэж ажилдаа шамдах цаг айсуй. “Хүлээгээрэй юу?! Би амарч дуусаагүй байна шдээ” гээд яахав ээ. :)
За өнөөдрийн энэ блогоороо бидний системийн шинэ хувилбар байршуулах үйл явц хэрхэн хийгддэг вэ гэдгээр товчхон цөөн үгээр хүргэе гэж бодлоо.
Юун түрүүнд манай серверүүд бүгд AWS дээр байрладаг бөгөөд deployment tool-ээрээ Jenkins-ийг хэрэглэдэг.
Шинэ хувилбар эцсийн хэрэглэгчид хүргэх үе шатууд:
- Тодорхой нэг даалгаврыг хийж дуусаад үндсэн шинэ хувилбарын(features) branch-руу түлхэх хүсэлт гаргана.
- Үүнийг Jenkins сервер маань хүлээн авч тестийн орчинд тухайн кодыг ажлуулна. Ингэхдээ тестийн орчиноо бэлдэж, backend болон frontend кодын стандартыг шалгах, frontend & backend-ийн нэгж, интегрэйшн тестүүдийг шалгаж бичсэн кодын бүх мөр нь тестлэгдсэн байгааг шалгаад slack-ийн чатруугаа мессеж дамжуулснаар Continous Integation(CI) хэсэг маань дуусна.
- Continuous Deployment(CD) хэсэг нь Deploy stage дээр ажиллана. Хэрэв features бранч дээр дээр кодын өөрчлөлт орж ирээд CI хэсгийг амжилттай давсан тохиолдолд тестийн сервер дээр шинэ хувилбар байршина.
- Тест сервер дээр шинээр хөгжүүлсэн зүйлсээ гараараа шалгаад хэрэв ямар нэг асуудал гарвал тухайн асуудлаа шийдчихээд 1-р алхамруу буцна. Харин асуудал гарахгүй бол дараагийн төлөвлөгөөт deployment өдрөө features бранчаа master бранчтайгаа нэгтгэнэ.
- Үүний дараа pipeline маань дахин нэг ажиллаж production сервер дээр шинэ хувилбараа байршуулна.
За манай компаний монгол дахь хөгжүүлэгчдийн шинэ хувилбар байршуулах үйл явц, дараалалыг базаад хэлэхэд ийм болж байна. Та бүхэн санал хүсэлт, алдаа дутагдал олж харвал надтай холбогдоорой. Анхаарал тавьж уншсанд баярлалаа.
Хүндэтгэсэн,
Б. Бат-Орших