๊ฐœ๋ฐœ ์‹œ๋‚˜๋ธŒ๋กœ

github action .env file ์ถ”๊ฐ€

youngdeok 2023. 8. 11. 18:08

local์—์„œ ์ž‘์—…์„ ํ•˜๋‹ค netlify๋ฅผ ํ†ตํ•œ ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์กด์— local์—์„œ .envํŒŒ์ผ์„ ํ†ตํ•ด์„œ KAKAO_MAP_KEY๋ฅผ ๋ฐ›์•„์„œ ์ž‘์—…์„ ํ•˜๋‹ค๊ฐ€ ๋ฐฐํฌ๋ฅผ ํ•˜๊ฒŒ ๋˜๋‹ˆ .envํŒŒ์ผ์„ ์ฐธ์กฐํ•  ์ˆ˜ ์—†์–ด์„œ ๋งต์ด ๋œจ์ง€ ์•Š๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

!https://blog.kakaocdn.net/dn/bz9muI/btsqZ1eeMvg/vuNK40cv5BBjBKRazAUMSk/img.png

๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์„œ์นญ์„ ํ•˜๋˜์ค‘ github action์„ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

githubAction ์ด๋ž€?

GitHub Actions๋Š” GitHub์—์„œ ์ œ๊ณตํ•˜๋Š” ์ง€์†์ ์ธ ํ†ตํ•ฉ(CI) ๋ฐ ์ง€์†์ ์ธ ๋ฐฐํฌ(CD) ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•˜๊ณ , ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด๋‚˜ ์ด๋ฒคํŠธ์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ์ž‘์—…์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GitHub Actions๋Š” ์ฝ”๋“œ๋ฅผ ํ‘ธ์‹œํ•˜๊ฑฐ๋‚˜ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ ์—ด๋ฆฌ๊ฑฐ๋‚˜ ๋ณ‘ํ•ฉ๋  ๋•Œ ์ž๋™์œผ๋กœ ํŠธ๋ฆฌ๊ฑฐ๋˜๋Š” ์ž‘์—…์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋…๊ณผ ๊ธฐ๋Šฅ

  1. ์›Œํฌํ”Œ๋กœ์šฐ (Workflow): ์›Œํฌํ”Œ๋กœ์šฐ๋Š” GitHub Actions์˜ ํ•ต์‹ฌ ์š”์†Œ๋กœ, ํ•˜๋‚˜ ์ด์ƒ์˜ ์ž‘์—…์œผ๋กœ ๊ตฌ์„ฑ๋œ ์ž๋™ํ™”๋œ ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ž‘์—…์€ ์ฝ”๋“œ๋ฅผ ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ํŒจํ‚ค์ง€ํ™”, ๋ฐฐํฌ ๋“ฑ๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์ž‘์—…์œผ๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์ž‘์—… (Job): ์›Œํฌํ”Œ๋กœ์šฐ๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ์ž‘์—…์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ž‘์—…์€ ๋ณ‘๋ ฌ ๋˜๋Š” ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ ์ž‘์—…์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋‹จ๊ณ„๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.
  3. ๋‹จ๊ณ„ (Step): ์ž‘์—…์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋‹จ๊ณ„๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ๋‹จ๊ณ„๋Š” ํ•˜๋‚˜์˜ ๋ช…๋ น ๋˜๋Š” ์ž‘์—…์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์ผ๋ จ์˜ ๋‹จ๊ณ„๋กœ ์ „์ฒด ์ž‘์—…์ด ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฝ”๋“œ๋ฅผ ๋นŒ๋“œํ•˜๊ฑฐ๋‚˜ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋“ฑ์˜ ๋‹จ๊ณ„๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ์ด๋ฒคํŠธ (Event): GitHub Actions ์›Œํฌํ”Œ๋กœ์šฐ๋Š” ํŠน์ • ์ด๋ฒคํŠธ์— ์˜ํ•ด ํŠธ๋ฆฌ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฝ”๋“œ ํ‘ธ์‹œ, ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ์ƒ์„ฑ, ๋ธŒ๋žœ์น˜ ๋ณ‘ํ•ฉ ๋“ฑ์˜ ์ด๋ฒคํŠธ๊ฐ€ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
  5. ์ž‘์—… ์‹คํ–‰ ํ™˜๊ฒฝ (Runner Environment): ์ž‘์—…์€ ์‹คํ–‰์„ ์œ„ํ•ด ํŠน์ • ํ™˜๊ฒฝ (์˜ˆ: Linux, macOS, Windows)์—์„œ ์‹คํ–‰๋˜๋ฉฐ, ํ•„์š”ํ•œ ๋„๊ตฌ์™€ ์ข…์†์„ฑ์„ ์„ค์น˜ํ•˜๊ณ  ์ž‘์—…์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

1. ์œ„์˜ ๋ฐฉ๋ฒ•๋Œ€๋กœ ๋“ค์–ด๊ฐ€์„œ secret ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ๋“ฑ๋กํ•ด ์ค๋‹ˆ๋‹ค.

2. ์œ„์˜ ๋ฐฉ๋ฒ•๋Œ€๋กœ ๋“ค์–ด๊ฐ€์„œ yml file์„ ๋งŒ๋“ค์–ด์ฃผ๋ฉด ๋์ž…๋‹ˆ๋‹ค.

#์„ธ๋ถ€์ ์ธ ์ฝ”๋“œ์˜ ์—ญํ™œ์ด ๊ถ๊ธˆํ•˜์‹œ๋‹ค๋ฉด https://ji5485.github.io/post/2021-06-06/build-ci-cd-pipeline-using-github-actions/ ์—์„œ ํ™•์ธํ•ด ๋ณด์„ธ์š”!

 

main.yml

name: Front Deployment

on:
  pull_request:
    branches:
      - main
  push:
    branches:
      - main

jobs:
  build:
    name: react build & deploy
    runs-on: ubuntu-latest
    steps:
      - name: checkout Github Action
        uses: actions/checkout@v3
	  
      # .env์— ์žˆ๋˜ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋“ค์„ ๋“ฑ๋กํ•ด์ฃผ๋Š” ๋‹จ๊ณ„
      - name: .env setting
        run: |
          echo "REACT_APP_SERVER_IP=${{ secrets.REACT_APP_SERVER_IP }}" >> .env
          echo "REACT_APP_EXAMPLE=${{ secrets.REACT_APP_EXAMPLE }}" >> .env

      - name: install npm dependencies
        run: npm install

      - name: react build
        run: npm run build

 

 

 

์ ์šฉํ›„

๋„ˆ๋ฌด ์ž˜๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค!.

 

https://s0ojin.tistory.com/49

https://ji5485.github.io/post/2021-06-06/build-ci-cd-pipeline-using-github-actions/