๐ฅ๏ธ ๋ฐฑ์๋/CICD6 ์ด์ 1 ๋ค์ [CICD] ๊ธฐ์ด ์๋๋ฆฌ์ค ๊นํ ์ก์ ๊นํ์ก์ ์ฝ๋ ์ค๋ฅ ๊ฒ์ฌ ์ฌ์ดํธ https://rhysd.github.io/actionlint/ actionlint playground Loading WebAssembly binary... Yay! No error was detected. rhysd.github.io ๊ฐ์ ์๋๋ฆฌ์ค 3 ํ์ฌ ํ๋ก์ ํธ์ ํฌ์ํ ์ ์๋ ์๊ฐ์ ๊ณ ๋ คํด์ ์ผ๋จ ๊ฐ๋จํ CICD๋ฅผ ์ ์ฉํด๋ณด๊ธฐ ์ํด ์๋๋ฆฌ์ค 3์ ์ ํํจ ๊ฐ์ ๊ฐ๋ฐํ๊ฒฝ, QA, ์ด์ํ๊ฒฝ์ CICD ๊ตฌ์ฑ branch dev : ๊ฐ๋ฐํ๊ฒฝ master : ์ด์ํ๊ฒฝ QA ํ ์คํธ๋ฅผ ํตํด ์ํ๋ฅด์จ์ด ๊ฒฐํจ ์๋ณํ๊ธฐ ์ฝ๋์ ํ์ง๊ณผ ๊ธฐ๋ฅ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๋์ํ๋์ง ๊ฒ์ฆํจ ๋ฐฐํฌ์์ 1. ๊ฐ๋ฐ ํ๊ฒฝ (dev branch) 2. QA ํ๊ฒฝ 3. ์ด์ ํ๊ฒฝ (master branch) ๊ธฐ์กด ์๊ตฌ.. 2024. 3. 23. [CICD] ํค์๋ ๊ธฐ๋ฐ ์ด์ ์๋ฆผ ์๋ํ 3. ๊ฐ๋จํ ์ํฌํ๋ก์ฐ ๋ง๋ค๊ธฐ ํค์๋ ๊ธฐ๋ฐ ์ด์ ์๋ฆผ ์๋ํ ๋ง๋ค๊ธฐ ์ด์๊ฐ ์์ฑ๋ ๋ ์คํ issue event types: [opened] ํน์ ํค์๋๊ฐ ํฌํจ๋๋ฉด ์ฌ๋์ผ๋ก ๊ณต์ ํ๊ธฐ if critical -> ์ฌ๋์ critical-issue ์ฑ๋๋ก ๊ณต์ if cormal -> ์ฌ๋์ normal-issue ์ฑ๋๋ก ๊ณต์ ํค์๋๋ ๋ณ๋์ฌํญ์ด ์๊ธธ ์ ์์ ๋ณต์ก์ฑ์ ์ค์ด๋ ๋ฐฉ๋ฒ ํค์๋ ๊ด๋ฆฌํ๊ธฐ (X) ๊นํ์ก์ ์ํฌํ๋ก์ฐ์์ ๊ด๋ฆฌ (O) ์ธ๋ถ์์ ํค์๋ ๊ด๋ฆฌ ex) keyword.txt slack step ์ฌ์ฉ ๊ตฌ์กฐ ํค์๋๋งํผ ์ฌ์ฉํ๋ฉด ๊ด๋ฆฌ๊ฐ ์ด๋ ค์ slack step 1๊ฐ๋ก ์ฌ์ฉํ๊ธฐ ๋์ผํ ์ฌ๋ ์นํ ์ด๋ฆ ์ฌ์ฉํ๊ธฐ ๋์ผํ ์ํฌ๋ฆฟ ์ด๋ฆ ์ฌ์ฉํ๊ธฐ ${{ secret.SLACK_WEBHOOK }} ๊ตฌ์ฑ job 2.. 2024. 3. 23. [CICD] ๊นํ ๋ ํฌ ์์ฑ ์๋ํ 3. ๊ฐ๋จํ ์ํฌํ๋ก์ฐ ๋ง๋ค๊ธฐ ๊นํ ๋ ํฌ ์์ฑ ์๋ํ name: create-repo on: workflow_dispatch: inputs: prefix: description: 'set repo prefix' required: true default: 'service' type: choice options: - example - service name: description: 'set repo name' required: true default: 'github-actions' type: string jobs: create-repo-automation: runs-on: ubuntu-latest steps: - name: gh auth login run: | echo ${{ secrets.PERSONAL_.. 2024. 3. 23. [CICD] Github Actions์ ๋ค์ํ ๊ธฐ๋ฅ 2. Github Actions์ ๋ค์ํ ๊ธฐ๋ฅ 1. checkout github repository๋ฅผ ๊ฐ์ ธ์์ ์์ ์ ์ํํ ์ ์๋๋ก ํ๋ ์ก์ ๋ง์ผํ๋ ์ด์ค ๊ณต์ ์ก์ ํ์ํ ํ ์คํธ๋ ๋น๋ ์์ ๋ฑ์ ์ํํ ์ ์์ ๋ ํฌ์งํ ๋ฆฌ ๋ด์ฉ์ CICD ์ํฌํ๋ก์ฐ์์ ์ฌ์ฉํ ์ ์์ uses ํค์๋๋ก ์ก์ ์ ๋ถ๋ฌ์ฌ ์ ์์ name: checkout on: workflow_dispatch jobs: no-checkout: runs-on: ubuntu-latest steps: - name: check file list run: cat README.md checkout: runs-on: ubuntu-latest steps: - name: use checkout action uses: actions/checkout@v.. 2024. 3. 22. [CICD] Github Actions์ event Github Actions์ event 1. push ๋ ํ์งํ ๋ฆฌ / .github / workflows / push.yaml ํ์ผ ์์ฑํ๊ธฐ push.yaml name : ์ก์ ์ฐฝ์์ ํํ ๋ ์๊ฐํ ์ด๋ฆ on : ์ํฌํ๋ก์ฐ ํธ๋ฆฌ๊ฑฐ ํ ์ด๋ฒคํธ. ํธ๋ฆฌ๊ฑฐ ํ์ jobs : ์คํ์ํฌ job์ ์งํฉ. ํ์ custom-job-name : job์ด๋ฆ์ ์์ runs on : job์ ์คํ์ํฌ runner ์ง์ ํ๊ธฐ steps : step์ ์งํฉ - name : job์ด ์คํ์ํฌ ์คํญ ์ ์ํ๊ธฐ. ์คํญ๋ง๋ค ์ด๋ฆ์ ๋ช ์์ ์ผ๋ก ์์ฑ/์๋ต ๊ฐ๋ฅ run : step์์ ์คํํ ๋ด์ฉ. |๋ฅผ ์ด์ฉํ๋ฉด ๋ฉํฐ๋ผ์ธ ์ปค๋งจ๋ ์์ฑ ๊ฐ๋ฅ name: push-workflow on: push jobs: push-job: runs-on: ubun.. 2024. 3. 21. [CICD] ๊นํ๋ธ ์ก์ ์ปดํฌ๋ํธ GitHub Action 2023๋ ๋ง์ด ์ฌ์ฉํ๋ CICD๋๊ตฌ 1์ GitHub์ ์๋ํ ๋๊ตฌ ๋จ์ํ ์ํฌํ๋ก์ฐ ~ ๋ณต์กํ ์ํฌํ๋ก์ฐ ๊ตฌ์ถ ์ํํธ์จ์ด ๊ฐ๋ฐ ์ํฌํ๋ก์ฐ ์๋ํ GitHub ์ ์ฅ์ ๋ด์์ ์ํฌํ๋ก์ฐ๋ฅผ ์ง์ ๊ด๋ฆฌํ ์ ์์ YAML์ ์ด์ฉํด์ ์ํฌํ๋ก์ฐ๋ฅผ ์ฝ๊ฒ ์ค์ ํ ์ ์์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋จํ๊ฒ ํํํ ์ง๋ ฌํ ์ธ์ด .yml .yaml ํน์ง ๋ค์ํ ์ด๋ฒคํธ(๊นํ๋ธ ์ด๋ฒคํธ)์ ๋ฐ๋ผ ์ํฌํ๋ก์ฐ ์คํ ๊นํ์ก์ ์ปดํฌ๋ํธ workflow ํ๋ ์ด์์ ์์ ์ ์คํํ๋, ๊ตฌ์ฑ ๊ฐ๋ฅํ ์๋ํ ํ๋ก์ธ์ค .github/workflows ๊ฒฝ๋ก์ ํ์ผ์ด ์์ด์ผ ์คํ ๊ฐ๋ฅํจ ์ฌ๋ฌ ์ํฌํ๋ก์ฐ ์์ฑ ๋ฐ ์ฌ์ฉ ๊ฐ๋ฅ ์ด๋ฒคํธ ๋ฐ์์ ์คํ๋จ event ์ํฌํ๋ก์ฐ ์คํ์ ํธ๋ฆฌ๊ฑฐํ๋ ๊นํ๋ธ ๋ ํฌ์งํ ๋ฆฌ ๋ด ํน์ ํ๋ ํธ๋ฆฌ๊ฑฐ ๋ฐฉ์ :.. 2024. 3. 21. ์ด์ 1 ๋ค์