์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ์๋ํ
- ๋ง์ด์์คํ์
- Azure
- ๋ฐฐํฌ์๋ํ
- AWS
- ๋์ปค
- MySQL
- PIPELINE
- ํด๋ผ์ฐ๋
- ๋ฆฌ์กํธ
- aws devops
- ๋ฐ์ดํฐํ์
- ์กฐ์ธ
- ์๋๋ฐฐํฌ
- ๋ฐ๋ธ์ต์ค
- github
- ๋ฐฐํฌ
- git
- node.js
- Pull
- azure devops
- nginx
- devops
- azure deveops
- slack
- docker
- react
- deveops
- CI/CD
- CSS
- Today
- Total
Full_Stack developer
Azure DevOps์์ ํ๊ฒฝ๋ณ(Dev/Prod) ํ์ดํ๋ผ์ธ ๊ตฌ์ฑํ๊ธฐ ๋ณธ๋ฌธ
Azure DevOps์์ ํ๊ฒฝ๋ณ(Dev/Prod) ํ์ดํ๋ผ์ธ ๊ตฌ์ฑํ๊ธฐ
develkbh 2025. 4. 8. 14:38๐ Azure DevOps์์ ํ๊ฒฝ๋ณ(Dev/Prod) ํ์ดํ๋ผ์ธ ๊ตฌ์ฑํ๊ธฐ
์์ ์ฐ๋ฆฌ๋ Azure DevOps๋ฅผ ์ฌ์ฉํด
๊ธฐ๋ณธ์ ์ธ CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑํด๋ดค์ด์.
์ด๋ฒ์๋ ํ ๋จ๊ณ ๋ ๋์๊ฐ,
**๊ฐ๋ฐ(Dev)**๊ณผ ์ด์(Prod) ํ๊ฒฝ์ ๋ถ๋ฆฌํด์
๋ฐฐํฌํ๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค์ด๋ณผ๊ฒ์.
โ๏ธ ๊ฐ๋ฐ์๋ Dev ํ๊ฒฝ์ ์์ ๋กญ๊ฒ ํธ์ํ๊ณ ,
โ๏ธ ์ด์ ๋ฐฐํฌ๋ ์น์ธ(์น์ธ์)์ด ์์ด์ผ๋ง ๋ฐฐํฌ๋๋๋ก ๊ตฌ์ฑํฉ๋๋ค.
๐ค ์ ํ๊ฒฝ์ ๋๋ ์ผ ํ ๊น?
Dev์ Prod๋ฅผ ๋๋๋ ์ด์ ๋ ๊ฐ๋จํด์:
- Dev: ์์ ๋กญ๊ฒ ํ ์คํธ, ๋๋ฒ๊น , ๋น ๋ฅธ ๋ฐ์
- Prod: ์ค์ฌ์ฉ์์๊ฒ ์ ๊ณต๋๋ ์ ์คํ ํ๊ฒฝ (๋ฒ๊ทธ ์์ผ๋ฉด ํฐ์ผ!)
CI/CD ํ์ดํ๋ผ์ธ๋ ์ด๋ฐ ๊ตฌ์กฐ์ ๋ง์ถฐ์ผ๊ฒ ์ฃ ?
๐งฉ ๊ตฌ์ฑ ํ๋ฆ ์์ฝ
โโโโโโโโโโโโโโโ
Commit → โ Build Stage โ
โโโโโโฌโโโโโโโโโ
↓
โโโโโโโโโโโโโโ
โ Dev ๋ฐฐํฌ โ (์๋)
โโโโโโโโโโโโโโ
↓
โโโโโโโโโโโโโโโโโโโโโโ
โ ์น์ธ ํ Prod ๋ฐฐํฌ โ (์๋ ์น์ธ)
โโโโโโโโโโโโโโโโโโโโโโ
๐ ๏ธ ์ค์ต: ํ๊ฒฝ๋ณ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ ๋ง๋ค๊ธฐ
1. CI ํ์ดํ๋ผ์ธ ๊ตฌ์ฑ (Build)
๋ฃจํธ์ azure-pipelines.yml ํ์ผ ์์ฑ:
trigger:
- main
pool:
vmImage: 'ubuntu-latest'
variables:
buildConfiguration: 'Release'
steps:
- task: NodeTool@0
inputs:
versionSpec: '18.x'
- script: |
npm install
npm run build
displayName: 'Build App'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: 'build'
artifactName: 'drop'
๐ก ๋น๋๋ ๊ฒฐ๊ณผ๋ฌผ์ Artifacts๋ก ๋ง๋ค์ด์ Release ๋จ๊ณ๋ก ๋๊ฒจ์ค๋๋ค.
2. Release Pipeline ๊ตฌ์ฑ (ํ๊ฒฝ๋ณ ๋ฐฐํฌ)
- Azure DevOps → Releases → New Release Pipeline
- Artifacts ์ฐ๊ฒฐ
- ์ CI ํ์ดํ๋ผ์ธ์ Artifacts(drop) ์ ํ
- Stage 1: Dev ํ๊ฒฝ ๊ตฌ์ฑ
- ๋ฐฐํฌ ๋์: Azure App Service (Dev์ฉ)
- ์ด๋ฆ: Deploy to Dev
- ์๋ ๋ฐฐํฌ ์ค์ : ์ฒดํฌ!
- Stage 2: Prod ํ๊ฒฝ ๊ตฌ์ฑ
- ๋ฐฐํฌ ๋์: Azure App Service (Prod์ฉ)
- ์ด๋ฆ: Deploy to Prod
- ์๋ ๋ฐฐํฌ: โ ํด์
- Pre-deployment approvals์ ์น์ธ์ ์ง์ (PM, Tech Lead ๋ฑ)
- Dev → Prod ์ฐ๊ฒฐ
- Dev Stage ์๋ฃ ์ → Prod Stage ์์๋๋๋ก ์ฐ๊ฒฐ
โ ํ๊ฒฝ๋ณ ๋ถ๊ธฐ ์ ๋ต๋ ๊ณ ๋ คํ๊ธฐ
- main ๋ธ๋์น → Dev ์๋ ๋ฐ์
- release ๋๋ production ๋ธ๋์น → Prod ์น์ธ ๋ฐฐํฌ
๋๋
- dev, prod ๋ธ๋์น๋ก CI/CD ๋ฐ๋ก ๊ตฌ์ฑํด๋ ์ข์์
๐ก ์ค๋ฌด ํ
- ํ๊ฒฝ ๋ณ์๋ ํ์ดํ๋ผ์ธ ๋ณ์ or Azure App Service ์ค์ ์์ ๊ด๋ฆฌ ๊ฐ๋ฅ
- Secret ๊ฐ์ Azure Key Vault์ ์ฐ๋ ๊ฐ๋ฅ
- pm2, Docker, Helm ๋ฑ ๋ค์ํ๊ฒ ๋ฐฐํฌ ๋๊ตฌ ์ปค์คํฐ๋ง์ด์ง ๊ฐ๋ฅ
- ์น์ธ์ ์ง์ ์, ์น์ธ ์์ฒญ ๋ฉ์ผ/Slack ์๋ฆผ๋ ๊ฐ๋ฅ
๐ฏ ๋ง๋ฌด๋ฆฌ
ํ๊ฒฝ์ Dev/Prod๋ก ๋ถ๋ฆฌํ๋ ๊ฑด ๋จ์ํ “๋ถ๋ฆฌ ๋ฐฐํฌ”๊ฐ ์๋๋ผ
์ฑ
์ ์๋ ๋ฆด๋ฆฌ์ฆ ๊ด๋ฆฌ์ ์์์
๋๋ค.
Azure DevOps์ Release ํ์ดํ๋ผ์ธ์ ํ์ฉํ๋ฉด
- ์๋ ๋ฐฐํฌ์ ์๋ ์น์ธ์ ๋ณํํ๊ณ
- ์ค์ ์์ด ๋ฆด๋ฆฌ์ฆ๋ฅผ ์งํํ ์ ์์ด์.
'Devops > Azure' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
YAML๋ก ํ๊ฒฝ๋ณ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ ์์ฑํ๊ธฐ (0) | 2025.04.09 |
---|---|
Azure DevOps์์ ์น์ธ ๋ฐ ์๋ฆผ ์๋ํํ๊ธฐ (Slack, Email) (0) | 2025.04.09 |
ํ์ดํ๋ผ์ธ์์ ํ๊ฒฝ ๋ณ์์ ์ํฌ๋ฆฟ ๊ด๋ฆฌํ๋ ๋ฒ (0) | 2025.04.08 |
Azure DevOps์์ CI/CD ํ์ดํ๋ผ์ธ ๊ตฌ์ฑํ๊ธฐ (0) | 2025.04.08 |
Azure Deveops๋? (1) | 2025.04.08 |