Myanmar Tech Academy

Myanmar Tech Academy

Share

We will share on-premise and cloud technologies related with network and server infrastructure. If you have any questions, do not hesitate to contact me.

06/06/2026

ဒီနေ့စမဲ့ AWS အတန်းရော DevOps Bootcamp အတန်းအတွက်ရော meeting invitation ရော Teams channel ထဲကိုရောထည့်ပေးပြီးပါပြီ
See you soon guys!!!!

23/05/2026

CKA ရော AWS အတန်းရော teams channel ထဲအကုန် invite လုပ်ပေးထားပြီးပါပြီ။
CKA အတန်းက ပထမ ၂၃ ရက်နေ့စမလို့ပေမဲ့ 6 ရက်နေ့မှစဖြစ်ပါမယ်။ Post မှာ ပုံဘဲ date ပြင်မိလိုက်ပီး content မှာ ၂၃ ဆိုပီးဖြစ်နေတော့တချို့ကဒီနေ့စကြမယ်ထင်နေကြလို့ပါ။ Personal mail တွေကိုလဲ meeting invite ပေးထားပါတယ်။
ဒါပေမဲ့အကုန်ပို့ပြီးခါမှ အဲ့ domain အဟောင်းက expire ဖြစ်နေတာသတိရလို့ ရောက်မရောက်တချက်ပြောပေးကြပါဦးနော် spam ထဲလဲတချက်စစ်ကြည့်ပေးကြပါနော်။

22/05/2026

⚙️ Advanced GitLab CI/CD – Rules & Logic

Production-level CI/CD Pipelines တွေမှာ pipeline job တိုင်းကို အမြဲ run နေစရာမလိုပါဘူး။
Branch, Tag, Environment, Trigger Type စတာတွေကိုကြည့်ပြီး logic ထည့်နိုင်ပါတယ်။

GitLab CI/CD မှာ rules, if, when တို့ကိုသုံးပြီး pipeline flow ကို smart control လုပ်နိုင်ပါတယ်။

📌 Why Use Rules & Logic?

✅ Unnecessary jobs မ run စေချင်တဲ့အခါ
✅ Production deploy ကို control လုပ်ချင်တဲ့အခါ
✅ Manual approval လိုချင်တဲ့အခါ
✅ Cost & pipeline time လျှော့ချချင်တဲ့အခါ

📌 Run Job Only on Main Branch

Production deploy jobs တွေကို main branch မှာပဲ run စေချင်ရင် 👇

deploy-prod:
stage: deploy
script:
- ./deploy.sh
rules:
- if: '$CI_COMMIT_BRANCH == "main"'

📌 What Happens Here?

✅ main branch push ဖြစ်မှ deploy job run မယ်
❌ feature branches မှာ deploy မလုပ်ဘူး

ဒါက production safety အတွက် အရမ်းအသုံးဝင်ပါတယ် 🔥

📌 Manual Deployment (when: manual)

Production deploy ကို automatic မလုပ်ဘဲ approval ရပြီးမှ run စေချင်ရင် 👇

deploy-prod:
stage: deploy
script:
- ./deploy.sh
when: manual

📌 What Happens Here?

✅ Pipeline run ပြီး job က pause ဖြစ်နေမယ်
✅ GitLab UI ထဲက “Play” button နှိပ်မှ deploy စလုပ်မယ်

ဒါက safer deployment strategy တစ်ခုပါ 🚀

📌 Combine Rules + Manual

Main branch မှာပဲ manual deploy ဖြစ်စေချင်ရင် 👇

deploy-prod:
stage: deploy
script:
- ./deploy.sh
rules:
- if: '$CI_COMMIT_BRANCH == "main"'
when: manual

📌 Real-World Use Cases

🚀 Production Deployment Control
🚀 Approval-based Releases
🚀 Scheduled Jobs
🚀 Environment-specific Pipelines
🚀 Skip unnecessary stages

📌 Best Practices

✔ Protect production deploy jobs
✔ Use manual approval for critical environments
✔ Keep deploy logic simple and readable
✔ Separate dev/staging/prod workflows
✔ Avoid duplicate pipeline runs

21/05/2026

🐳 Working with Docker in GitLab CI

Modern CI/CD Pipeline တွေမှာ Docker က almost mandatory ဖြစ်လာပါပြီ
“Build anywhere, run anywhere” ဆိုတဲ့ concept ကြောင့် application deployment တွေ ပို consistent ဖြစ်လာပါတယ်

GitLab CI/CD ထဲမှာ Docker ကိုအသုံးပြုပြီး

- Docker Image Build လုပ်ခြင်း
- Container Registry ထဲ Push လုပ်ခြင်း
- Deploy အတွက် reusable images အသုံးပြုခြင်းတွေကို automate လုပ်နိုင်ပါတယ်

📌 What is Docker-in-Docker (DinD)?

GitLab Runner ထဲမှာ Docker command run ချင်ရင် Docker daemon လိုပါတယ်။

အဲ့ဒါကြောင့် GitLab CI မှာ docker:dind (Docker-in-Docker) service ကိုသုံးပြီး pipeline ထဲကနေ Docker image build လုပ်နိုင်ပါတယ် ✅

📌 Example Workflow

1️⃣ Source Code Pull
2️⃣ Docker Image Build
3️⃣ GitLab Container Registry Login
4️⃣ Docker Image Push
5️⃣ Deploy to Server / Kubernetes

📌 Example .gitlab-ci.yml

image: docker:latest

services:
- docker:dind

variables:
DOCKER_TLS_CERTDIR: ""

stages:
- build

build-image:
stage: build
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker build -t $CI_REGISTRY_IMAGE:latest .
- docker push $CI_REGISTRY_IMAGE:latest

📌 Important GitLab CI Variables

✅ `$CI_REGISTRY`

GitLab Container Registry URL

✅ `$CI_REGISTRY_USER`

Auto-generated registry username

✅ `$CI_REGISTRY_PASSWORD`

Registry password/token

✅ `$CI_REGISTRY_IMAGE`

Full image path for your project

📌 What is GitLab Container Registry?

GitLab Container Registry ဆိုတာ Docker Images တွေ store လုပ်ဖို့ built-in private registry ပါ။

Example:

registry.gitlab.com/group/project/app:latest

ဒါကြောင့် Docker Hub မလိုဘဲ GitLab ထဲမှာတင် images တွေ manage လုပ်နိုင်ပါတယ် 🔥

📌 Best Practices

✔ Use specific image tags (v1.0.0) instead of only latest
✔ Use CI/CD Variables for credentials
✔ Keep Docker images size small
✔ Multi-stage builds သုံးပြီး optimize လုပ်ပါ
✔ Scan images for vulnerabilities
✔ Clean unused images regularly

📌 Benefits

🚀 Faster Deployments
🚀 Consistent Environments
🚀 Easy Rollbacks
🚀 Better DevOps Workflow
🚀 Kubernetes Ready

20/05/2026

⚡ Understanding Artifacts & Cache in GitLab CI/CD

CI/CD Pipeline တွေ run တဲ့အခါ speed နဲ့ efficiency က အရမ်းအရေးကြီးပါတယ်
ဒါကြောင့် GitLab CI/CD မှာ Artifacts နဲ့ Cache ကို နားလည်ထားဖို့လိုပါတယ်

📦 What is Artifact?

Artifacts ဆိုတာ pipeline stage တစ်ခုက generated files တွေကို next stage ဆီ pass လုပ်ပေးတာပါ။

📌 Example:

Build stage က ထွက်လာတဲ့

dist/
.jar
.exe
coverage reports တွေကို Deploy stage မှာ ပြန်အသုံးပြုလုပ်နိုင်တယ်။

✅ Use Case

Build once → Deploy anywhere
Test reports share လုပ်ခြင်း
Generated လုပ်ထားတဲ့ binaries များကိုသိမ်းထားခြင်း

📌 Example:

build:
stage: build
script:
- npm run build
artifacts:
paths:
- dist/

deploy:
stage: deploy
script:
- ls dist/

🚀 What is Cache?

Cache ဆိုတာ next pipeline run တွေမှာ speed ပိုမြန်အောင် reusable files တွေကို temporary store လုပ်ထားတာပါ။

အများဆုံး use လုပ်တာက dependencies တွေပါ 👇

node_modules/
.m2/
.npm/
vendor/

📌 Benefit

Dependency reinstall မလုပ်ရတော့ဘူး
Pipeline ex*****on time လျော့တယ်
CI/CD performance ပိုကောင်းလာတယ်

📌 Example:

cache:
paths:
- node_modules/

build:
script:
- npm install
- npm run build

📌 Artifact vs Cache

✅ Artifact

Stage between file sharing
Important output files
Used in next stages

✅ Cache

Speed optimization
Reusable dependencies
Used in future pipeline runs

🔥 Best Practice

✔ Use Artifacts for build outputs
✔ Use Cache for dependencies
✔ Avoid caching unnecessary files
✔ Keep cache size small
✔ Expire old artifacts regularly

19/05/2026

🔐 GitLab CI Variables – Secure Your Secrets

Database Passwords, API Keys, AWS Credentials တို့လို sensitive data တွေကို source code ထဲမှာ Hardcode ရေးထားတာက Security Risk အရမ်းကြီးပါတယ်။
အထူးသဖြင့် Git Repository public ဖြစ်သွားတာ၊ team member များလာတာ၊ logs ထဲ leak ဖြစ်တာမျိုးတွေဖြစ်နိုင်ပါတယ်။

ဒါကြောင့် GitLab မှာ CI/CD Variables ကိုသုံးပြီး secrets တွေကို secure လုပ်သင့်ပါတယ် ✅

📌 CI/CD Variables ဆိုတာဘာလဲ?

.gitlab-ci.yml ထဲက pipeline jobs တွေမှာ environment variables အဖြစ်သုံးနိုင်တဲ့ secret values တွေပါ
Example:

DB_PASSWORD
API_KEY
AWS_ACCESS_KEY_ID

📌 Variables ဘယ်မှာထည့်မလဲ?
GitLab Project → Settings → CI/CD → Variables

📌 Important Security Features

✅ Masked Variables

Pipeline logs ထဲမှာ secret value ကို hidden လုပ်ပေးတယ်
Example:
mypassword123 → **********

✅ Protected Variables

Protected Branch / Protected Tag တွေမှာပဲ access ရစေပါတယ်
Example:

main
production

ဒါက attacker တစ်ယောက် feature branch ကနေ production secrets access မရအောင်ကာကွယ်ပေးတယ်

📌 Example Usage
gitlab-ci.yml

deploy:
script:
- echo $DB_PASSWORD
- docker login -u $DOCKER_USER -p $DOCKER_PASSWORD

📌 Best Practices

✔ Never Hardcode Secrets
✔ Use Masked + Protected Variables
✔ Separate Dev / Staging / Prod Secrets
✔ Rotate API Keys Regularly
✔ Limit Maintainer Access

Security က DevOps မှာ optional မဟုတ်ပါဘူး — essential ဖြစ်ပါတယ် 🔥

16/05/2026

ခနခနလာမေးကြလို့ ဒီကဘဲဖြေပေးလိုက်ပါမယ်

အတန်းပီးရင် exam ready ဖြစ်လား?

ကျွန်တော်ကတော့လိုအပ်တာအကုန်သင်ပေးမှာပါ။ကိုယ့်ဘက်ကကြိုးစားအားထုတ်မှုပေါ်မူတည်ပီး exam ready ဖြစ်မဖြစ်ကတော့ မိမိကြိုးစားမှုအပေါ်ဘဲ မူတည်တယ်လို့ဖြေရမှာဘဲ။
စာလိုက်မလုပ်ဘဲ exam အောင်ချင်လို့တော့ဘယ်ရမလဲ အထိုက်အလျောက်စာလိုက်လုပ် hands on lab တွေသေချာလိုက်လုပ်ရင်တော့ exam အတွက် cover ဖြစ်ပါလိမ့်မယ်။

14/05/2026

🚀 Your First Automation Pipeline with GitLab CI/CD

GitLab CI/CD မှာ အရေးအကြီးဆုံး file ကတော့

👉 .gitlab-ci.yml

ဒီ file ထဲမှာ Pipeline ဘယ်လို Run မလဲဆိုတာ သတ်မှတ်ရပါတယ်။

━━━━━━━━━━━━━━━
📌 Basic Structure

stages:

- build
- test
- deploy

ဒါက Pipeline Stage Order ပါ။

✅ Build
✅ Test
✅ Deploy

အစီအစဉ်အတိုင်း Run သွားပါတယ်။

━━━━━━━━━━━━━━━
📌 Simple Job Example

hello-job:
stage: build

script:
- echo "Hello GitLab CI!"

━━━━━━━━━━━━━━━
📌 Result

Pipeline Run လိုက်ရင် —

✅ Job Start
✅ Runner Execute
✅ Console Output

Output:

Hello GitLab CI! 🔥

━━━━━━━━━━━━━━━
📌 Important Keywords

🔹 stages → Pipeline Order

🔹 job name → Job Identifier

🔹 script → Runner Execute လုပ်မယ့် Commands

🔹 tags → Specific Runner ရွေးဖို့

🔹 image → Docker Image သတ်မှတ်ဖို့

━━━━━━━━━━━━━━━
📌 Real Example (Node.js)

image: node:20

stages:
- install
- build

install-deps:
stage: install
script:
- npm install

build-app:
stage: build
script:
- npm run build

━━━━━━━━━━━━━━━
📊 Pipeline Flow
gitlab-ci.yml
⬇️
⚙️ GitLab Pipeline
├── Install
├── Build
└── Deploy
⬇️
🖥️ Runner Execute

အခုဆိုရင် simple GitLab CI file လေးနဲ့ ရိုးရိုးရှင်းရှင်း pipeline တစ်ခုကိုတည်ဆောက်ကြည့်လို့ရပါပြီ 🚀

14/05/2026

Edit : အရင် post က ပုံမှားနေတာပြင်မရလို့အသစ်ထပ်တင်လိုက်ရတာပါ 😬

🌩️ Become an AWS Certified Solution Architect (Associate Level) 🌩️
Design ==> Build ==> Secure ==> Scale on AWS
Record အတန်းတွေပြန်ဖွင့်တော့ Live အတန်းသစ်ထပ်မဖွင့်တော့ဖူးလား ခနခနလာမေးကြလို့ AWS Official Exam Outline ကို 100% cover ဖြစ်အောင် Theory + Hands-on Labs တွေနဲ့ Real-World Architecture အခြေခံပြီး သင်ကြားပေးမယ့်
AWS Solution Architect – Associate (SAA-C03) အတန်းသစ် ထပ်မံဖွင့်လှစ်လိုက်ပါပြီ 🚀
📘 Course Outline (Official AWS SAA-C03 Based)
1️⃣ AWS Fundamentals
2️⃣ Compute Services
3️⃣ Storage Services
4️⃣ Database Services
5️⃣ Networking & Content Delivery
6️⃣ Security & Identity
7️⃣ Monitoring, Automation & Cost
8️⃣ High Availability & Architecture Design
🔬 Hands-on Labs + Real-World Architecture ပါဝင်ပါမယ်
🎯 ဒီသင်တန်းပြီးရင်…
✅ AWS Architecture ကို Design လုပ်နိုင်လာမယ်
✅ Real-world + Exam oriented knowledge အခြေခံကောင်းတွေ ရလာမယ်
✅ AWS SAA Exam ဖြေဖို့ confidence ပိုရှိလာမယ်
✅ Cloud / DevOps Career အတွက် Strong Foundation ရလာမယ်
📅 သင်တန်းစတင်မည့်ရက် – 6-June-2026
⏰ သင်ချိန် – Every Sat & Sunday
🕘 ည 4:00 – 5:30 PM
🗓 သင်တန်းကာလ – 2 Months
💰 သင်တန်းကြေး – 250,000 MMK
🔥 Early Bird Discount: ပထမဆုံး အပ်နှံသူ ၅ ဦးအတွက် 50,000 MMK သီးသန့် Discount ရှိပါသည်။
🖥 သင်ကြားမည့်ပုံစံ – Microsoft Teams (Live Online Class)
📩 အသေးစိတ်သိချင်တာများကို Page Messenger မှာ ဆက်သွယ်မေးမြန်းနိုင်ပါတယ်
🔔 လူဦးရေကန့်သတ်ထားတဲ့အတွက် Discount မလွတ်ချင်ရင် မြန်မြန် Register လုပ်လိုက်ပါနော် 🤩

13/05/2026

GitLab CI Architecture — How It Works? ⚙️

GitLab CI/CD အလုပ်လုပ်ဖို့ အဓိက Component (၂) ခု လိုပါတယ်။

1️⃣ GitLab Server

ဒါက Pipeline ရဲ့ Brain ပါ။

သူက

✅ Source Code တွေကိုသိမ်းထားပေးတယ်
✅ Pipeline ကို Trigger လုပ်တယ်
✅ Jobs Schedule တွေလုပ်တယ်
✅ Runner တွေဆီကို Tasks ပို့တယ်

2️⃣ GitLab Runner

ဒါက Worker ပါ။

သူက တကယ်အလုပ်လုပ်တဲ့ Machine ဖြစ်ပါတယ်။

ဥပမာ

✅ Docker Build
✅ npm install
✅ Terraform Apply
✅ Kubernetes Deploy စတာတွေကို Runner က Run ပေးတာပါ။

Flow ကဘယ်လိုသွားလဲ?

1️⃣ Developer → git push
2️⃣ GitLab → .gitlab-ci.yml ဖိုင်ထဲကဟာကိုဖတ်
3️⃣ Pipeline Create
4️⃣ Job တွေ Runner ဆီပို့
5️⃣ Runner → Build/Test/Deploy
6️⃣ Result → GitLab UI ပြန်ပို့

🔹 Shared Runner vs Specific Runner

🔹 Shared Runner
GitLab က Shared ပေးထားတဲ့ Runner

✅ Easy Setup
❌ Limited Control

🔹 Specific Runner
ကိုယ်ပိုင် EC2 / VM / Kubernetes မှာ Install လုပ်ထားတဲ့ Runner

✅ Full Control
✅ Better Security
✅ Private Network Access

📊 Architecture Diagram Idea

Developer
↓ git push
GitLab Server
↓ jobs
⚙️ Runner 1 (Docker)
⚙️ Runner 2 (Shell)
⚙️ Runner 3 (Kubernetes)

🚀 Deploy Target

နောက်အပိုင်းတွေမှာတော့ sample GitLab CI file လေးတွေအတူတူစရေးကြည့်ရအောင်ပါ 🔥

Want your business to be the top-listed Computer & Electronics Service in Yagon?
Click here to claim your Sponsored Listing.

Telephone

Address


Bangkok
Yagon