์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- MySQL
- ์๋๋ฐฐํฌ
- docker
- devops
- nginx
- ๋ฐฐํฌ
- Azure
- ๋ฐฐํฌ์๋ํ
- slack
- ๋ฐ์ดํฐํ์
- ๋์ปค
- PIPELINE
- azure deveops
- CI/CD
- AWS
- ๋ง์ด์์คํ์
- github
- react
- aws devops
- ๋ฆฌ์กํธ
- Pull
- ๋ฐ๋ธ์ต์ค
- CSS
- ์๋ํ
- node.js
- ํด๋ผ์ฐ๋
- git
- ์กฐ์ธ
- azure devops
- deveops
- Today
- Total
Full_Stack developer
Azure DevOps์์ CI/CD ํ์ดํ๋ผ์ธ ๊ตฌ์ฑํ๊ธฐ ๋ณธ๋ฌธ
๐ Azure DevOps์์ CI/CD ํ์ดํ๋ผ์ธ ๊ตฌ์ฑํ๊ธฐ
์ง๋ ๊ธ์์๋ Azure DevOps์ ๊ฐ๋
๊ณผ ๊ตฌ์ฑ ์์๋ฅผ ์๊ฐํ์ด์.
์ด๋ฒ์๋ ์ค์ ๋ก Azure DevOps๋ฅผ ์ฌ์ฉํด์
CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์
๋จ๊ณ๋ณ๋ก ์๊ฐํด๋ณผ๊ฒ์!
๋ชฉํ: GitHub์ ์ปค๋ฐํ๋ฉด → ์๋์ผ๋ก ๋น๋ → Azure์ ๋ฐฐํฌ๋๋ ํ๋ฆ ๋ง๋ค๊ธฐ!
๐ก CI/CD๋ ๋ค์ ํ๋ฒ ๊ฐ๋จํ?
- CI (Continuous Integration):
์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์์ฃผ ํตํฉํ๊ณ , ์๋ ํ ์คํธ/๋น๋๋ฅผ ์ํํด ํ์ง ์ ์ง - CD (Continuous Delivery/Deployment):
ํ ์คํธ๋ ์ฝ๋๋ฅผ ์๋์ผ๋ก ๋ฐฐํฌํด, ๋น ๋ฅด๊ณ ์์ ์ ์ธ ๋ฆด๋ฆฌ์ฆ ๊ฐ๋ฅ
๐งฉ Azure DevOps ํ์ดํ๋ผ์ธ ๊ตฌ์ฑ ํ๋ฆ
Azure DevOps์์ ํ์ดํ๋ผ์ธ์ ํฌ๊ฒ ๋ ๊ฐ์ง ๋ฐฉ์์ด ์์ด์:
- Classic Editor (GUI ๊ธฐ๋ฐ)
- ๋๋๊ทธ ์ค ๋๋กญ ๋ฐฉ์, UI ์น์ํจ
- ์ด๋ณด์์๊ฒ ์ข์
- YAML ๊ธฐ๋ฐ Pipeline
- ์ฝ๋๋ก ํ์ดํ๋ผ์ธ ์์ฑ (๋ฒ์ ๊ด๋ฆฌ ๊ฐ๋ฅ)
- DevOps ์๋ จ์์๊ฒ ์ถ์ฒ
์ด๋ฒ์๋ YAML ๊ธฐ๋ฐ์ผ๋ก ์ค์ต ๊ตฌ์ฑํด๋ณผ๊ฒ์!
๐ ๏ธ ์ค์ต: React ์ฑ์ Azure์ CI/CD๋ก ๋ฐฐํฌํ๊ธฐ
๋ชฉํ: GitHub → ๋น๋ → Azure Static Web App ์๋ ๋ฐฐํฌ
1. Azure DevOps ํ๋ก์ ํธ ์์ฑ
- https://dev.azure.com ์ ์
- ์ ํ๋ก์ ํธ ์์ฑ (my-react-cicd-project ๋ฑ)
2. GitHub ์ ์ฅ์ ์ฐ๊ฒฐ
- Pipelines > New pipeline ํด๋ฆญ
- ์ฝ๋ ์ ์ฅ ์์น: GitHub ์ ํ
- ์ ์ฅ์ ์ธ์ฆ → ๋ฆฌํฌ์งํ ๋ฆฌ ์ ํ
3. azure-pipelines.yml ํ์ผ ์์ฑ
ํ๋ก์ ํธ ๋ฃจํธ์ ์๋์ ๊ฐ์ ํ์ผ ์์ฑ:
trigger:
- main
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
inputs:
versionSpec: '18.x'
displayName: 'Install Node.js'
- script: |
npm install
npm run build
displayName: 'Install and Build'
- task: CopyFiles@2
inputs:
SourceFolder: 'build'
Contents: '**'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: 'drop'
๐ก ์ด ํ์ดํ๋ผ์ธ์ main ๋ธ๋์น์ ์ปค๋ฐ์ด ๋ฐ์ํ ๋
React ์ฑ์ ๋น๋ํ๊ณ , build ํด๋ ๊ฒฐ๊ณผ๋ฌผ์ ์ํฐํฉํธ๋ก ์ ์ฅํฉ๋๋ค.
4. ๋ฐฐํฌ ํ์ดํ๋ผ์ธ ์ถ๊ฐ (์: Azure Static Web App, App Service ๋ฑ)
- ๋ฐฐํฌ ํ๊ฒ์ ๋ฐ๋ผ ๋ฌ๋ผ์ ธ์:
- Static Web App์ด๋ฉด GitHub Actions ์ถ์ฒ (์๋ ์ค์ ๊ฐ๋ฅ)
- Azure App Service๋ฉด Release Pipeline ๊ตฌ์ฑ
๊ฐ๋จํ ์์๋ก App Service ๋ฐฐํฌํ ๋๋ Release ๋จ๊ณ์์
Azure App Service deploy ์์
์ ์ถ๊ฐํ๋ฉด ๋ผ์.
โ ๋ฐฐํฌ๊น์ง ์์ฑ๋ ํ๋ฆ
- GitHub์ ์ปค๋ฐ
- Azure DevOps Pipeline ์คํ
- ๋น๋ ๋ฐ ์ํฐํฉํธ ์์ฑ
- ์๋์ผ๋ก Azure์ ๋ฐฐํฌ ์๋ฃ!
๐ ํ & ์ถ์ฒ ์ค์
- ๋จ๊ณ๋ณ ์บ์ ์ถ๊ฐ: npm install ์บ์ฑ์ผ๋ก ์๋ ํฅ์
- ํ๊ฒฝ๋ณ ๋ถ๋ฆฌ: dev, staging, prod ๋ถ๋ฆฌํด์ ๊ด๋ฆฌ
- ํ ์คํธ ํตํฉ: npm test ์ถ๊ฐํด์ ์๋ ํ ์คํธ
- Slack/Email ์๋ฆผ ์ฐ๋ ๊ฐ๋ฅ
๐ฏ ๋ง๋ฌด๋ฆฌ
Azure DevOps๋ ๊น๋ํ๊ณ ๊ฐ๋ ฅํ CI/CD ํ๋ซํผ์ด์์.
ํ ๋ฒ ์ค์ ๋ง ํด๋๋ฉด,
์ฝ๋ ์ปค๋ฐ → ๋น๋ → ํ
์คํธ → ๋ฐฐํฌ๊น์ง ์์ ์๋ํ๋
๊ฐ๋ฐ ํ๊ฒฝ์ ๋ง๋ค ์ ์์ต๋๋ค.
'Devops > Azure' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
YAML๋ก ํ๊ฒฝ๋ณ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ ์์ฑํ๊ธฐ (0) | 2025.04.09 |
---|---|
Azure DevOps์์ ์น์ธ ๋ฐ ์๋ฆผ ์๋ํํ๊ธฐ (Slack, Email) (0) | 2025.04.09 |
ํ์ดํ๋ผ์ธ์์ ํ๊ฒฝ ๋ณ์์ ์ํฌ๋ฆฟ ๊ด๋ฆฌํ๋ ๋ฒ (0) | 2025.04.08 |
Azure DevOps์์ ํ๊ฒฝ๋ณ(Dev/Prod) ํ์ดํ๋ผ์ธ ๊ตฌ์ฑํ๊ธฐ (0) | 2025.04.08 |
Azure Deveops๋? (1) | 2025.04.08 |