๋กœ์ผ“๐Ÿพ
article thumbnail
๋ฐ˜์‘ํ˜•

 

์ง€๋‚œ ๊ธ€์—์„œ๋Š” Action Controller Runner (์ดํ•˜ ARC) ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ AWS EFS ๋ฅผ ๋งˆ์šดํŠธํ•ด์„œ ํŠน์ • ๊ฒฝ๋กœ์— build ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์บ์‹ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

 

๊ทผ๋ฐ ๋งŒ์•ฝ AWS EFS ์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํ† ๋ฆฌ์ง€๊ฐ€ ์—†๋‹ค๋ฉด ์–ด๋–จ๊นŒ์š”?

๋‹คํ–‰ํžˆ ์ถฉ๋ถ„ํžˆ ์ข‹์€ ๋Œ€์ฑ…์•ˆ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ Github Action ์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” Action Cache ์ด๋ผ๋Š” ๋…€์„์ž…๋‹ˆ๋‹ค.

 

Github Action ์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์•„๋งˆ ์ด๋ฏธ ๋‹ค๋“ค ์ž˜ ์•„์‹ค ์ˆ˜๋„ ์žˆ๊ฒ ๊ตฐ์š”.

 

Action Cache ๋Š” ์ข‹์•„์š” 3.7k ๋ฅผ ๋ฐ›์„ ๋งŒํผ ๋งŽ์€ ์‚ฌ๋ž‘?์„ ๋ฐ›๊ณ  ์žˆ๋Š” ์•ก์…˜ ์ค‘์˜ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

Action Cache

 

 

๋„ํ๋จผํŠธ๋ฅผ ๋ณด๋ฉด ๊ฝค ์ž์„ธํ•˜๊ฒŒ ์„ค๋ช…์ด ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

 

์˜ˆ์ œ ์ฝ”๋“œ๋„ ์กด์žฌํ•˜๋ฉฐ, ๊ฐ ํ•„์š”ํ•œ with ์— ๋Œ€ํ•ด์„œ๋„ ์นœ์ ˆํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

name: Caching Primes

on: push

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3

    - name: Cache Primes
      id: cache-primes
      uses: actions/cache@v3
      with:
        path: prime-numbers
        key: ${{ runner.os }}-primes

    - name: Generate Prime Numbers
      if: steps.cache-primes.outputs.cache-hit != 'true'
      run: /generate-primes.sh -d prime-numbers

    - name: Use Prime Numbers
      run: /primes.sh -d prime-numbers

 

๊ทผ๋ฐ ๋ฌธ์ œ๋Š” ๋ด๋„ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š” ์ง€ ์ž˜ ์ดํ•ด๊ฐ€ ์•ˆ๊ฐ€๋”๋ผ๊ณ ์š”.. (์บ์‹ฑ์„ ํ•ด์ฃผ๋Š” ์•ก์…˜์ธ ๊ฑด ์•Œ๊ฒ ์–ด! ๊ทผ๋ฐ ๋ญ ์–ด๋–ป๊ฒŒ...)

 

๊ทธ๋ž˜์„œ ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Action Cache ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์บ์‹ฑ์„ ํ–ˆ์„ ๋•Œ ๊ณผ์—ฐ ์–ผ๋งˆ๋‚˜ ๋‹จ์ถ•๋˜๋Š” ์ง€ ์•Œ์•„๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

 

๋ ›์ธ ๋‘๋”์ฝ”๋“œ~

 

 

์—ฌ๋‹ด์œผ๋กœ,
Github Action ์˜ caches ๊ธฐ๋Šฅ์€ ๋ฌด๋ฃŒ์ด๋ฉฐ, Repo ๋‹น ์ตœ๋Œ€ ์บ์‹œ ์šฉ๋Ÿ‰์€ 10GB ์ž…๋‹ˆ๋‹ค. ์บ์‹œ ์œ ์ง€ ๊ธฐ๊ฐ„์€ 7์ผ๋กœ ์ œํ•œ๋˜๋ฉฐ, ์ตœ๋Œ€ ์šฉ๋Ÿ‰์„ ์ดˆ๊ณผํ•˜๊ฑฐ๋‚˜ ์œ ์ง€ ๊ธฐ๊ฐ„์„ ์ดˆ๊ณผํ•˜๋ฉด ์ž๋™์œผ๋กœ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. 7์ผ ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ์บ์‹œ ๋˜ํ•œ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ๊ด€๋ จ ๋ฌธ์„œ

 

 

Cache ์ „


์•„๋ฌด ๋ฐ์ดํ„ฐ๋„ ์บ์‹ฑ ๋˜์–ด ์žˆ์ง€ ์•Š์€ ํ™˜๊ฒฝ์—์„œ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š” ์ง€ ๋จผ์ € ์•Œ์•„๋ณด์ฃ !

 

์ง„ํ–‰๋˜๋Š” action.yaml ์€ ์•„๋ž˜์™€ ๊ฐ™์•„์š”.

steps:
    - name: Set up Java
      uses: actions/setup-java@v3
      with:
        distribution: zulu
        java-version: 17
        cache: gradle

    - uses: actions/cache@v3
      with:
        path: |
          ./gradle-cache

        key: ${{ github.repository }}-gradle-${{ hashFiles('**/*.gradle*') }}
        restore-keys: |
          ${{ github.repository }}-gradle-


    - name: Gradle Build
      shell: bash
      run: |
        ./gradlew build \
        --no-daemon \
        -Dorg.gradle.jvmargs=-Xmx1024m \
        --build-cache \
        --project-cache-dir=./gradle-cache/project \
        --gradle-user-home=./gradle-cache/global \
        --project-dir="./"

 

 

์ฒซ๋ฒˆ์งธ step ์—์„œ๋Š” zulu-17 ์˜ ์ž๋ฐ”๋ฅผ ์„ค์น˜ํ•˜๊ณ  gradle ๋กœ ์บ์‹ฑ์„ ํ•ด์ค๋‹ˆ๋‹ค. ๋งค job ๋งˆ๋‹ค ์ž๋ฐ”๋ฅผ ๊ณ„์†ํ•ด์„œ ์ƒˆ๋กœ ์„ค์น˜ํ•˜๋ฉด ๋งŽ์ด ๋น„ํšจ์œจ์ ์ด์ž–์•„์š”? (๊ทผ๋ฐ ์ด ๋ถ€๋ถ„์€ ๊ตณ์ด ์บ์‹ฑ ์•ˆํ•ด๋„ ์†๋„ ์ฐจ์ด๋Š” ๊ฑฐ์˜ ์—†์—ˆ๋˜ ๊ฑฐ ๊ฐ™์•„์š”)

 

๋‘๋ฒˆ์งธ step ์—์„œ๋Š” actions/cache@v3 ๋ฅผ ํ†ตํ•ด ์ง„ํ–‰์ด ๋˜๋Š”๋ฐ, ๊ทธ ์ „์— ์ž ๊น Github Action ์˜ ๋™์ž‘ ๋ฐฉ์‹ ๊ฐœ๋…์— ์ž ๊น ์งš๊ณ  ๋„˜์–ด๊ฐ€ ๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

 

๊ธฐ๋ณธ์ ์œผ๋กœ Job ์„ ์‹คํ–‰์‹œํ‚ค๊ณ  ๋กœ๊ทธ ๋‚ด์šฉ์„ ์ฐพ์•„๋ณด๋ฉด ์•„๋ž˜ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ Action ์ด ์‹คํ–‰๋˜๊ณ , ๋ชจ๋“  Action ์ด ๋๋‚˜๋ฉด, ์ง„ํ–‰ํ–ˆ๋˜ Action ์— ๋Œ€ํ•ด์„œ ๋‹ค์‹œ ํ•œ๋ฒˆ ํ›„์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค๋‹ˆ๋‹ค. 

 

 

์ €๋Š” ์‹ค์งˆ์ ์ธ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์€ In Action ์ด๋ผ๊ณ  ์ง€์นญํ•˜๊ณ , ์ดํ›„ ํ›„์ฒ˜๋ฆฌํ•˜๋Š” Action ์€ Post Action ์ด๋ผ๊ณ  ์ง€์นญํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐœ๋…์„ ์„ค๋ช…ํ•˜๋Š” ์ด์œ ๋Š” Action Cache ๊ฐ€ ๋ฐ”๋กœ ์ด๋Ÿฐ Post Action ์œผ๋กœ ์บ์‹œ๋ฅผ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์บ์‹œ ํžˆํŠธ๋ฅผ ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์ด์ฃ .

 

๊ทธ๋Ÿผ ๋‹ค์‹œ ๋ณธ๋ก ์œผ๋กœ ๋Œ์•„์™€์„œ ๋‘๋ฒˆ์งธ step ์ธ actions/cache@v3 ์— ๋‹ค์‹œ ์•Œ์•„๋ณด์ฃ .

  • path : ์บ์‹ฑํ•  ๊ฒฝ๋กœ - In Action ์ด ๋ชจ๋‘ ๋๋‚˜๊ณ  Post Action ์—์„œ ์ด ๊ฒฝ๋กœ์— ์žˆ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์บ์‹ฑ
  • key : ์บ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ํ‚ค - In Action ์—์„œ ์บ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ restore ํ•  ๋•Œ ์‚ฌ์šฉ (๋ฐ‘์—์„œ ๋‹ค์‹œ ํ•œ๋ฒˆ ์„ค๋ช…ํ•จ)
  • restore-keys: restore ๋ฅผ ๋ชปํ–ˆ์„ ๊ฒฝ์šฐ ๋‹ค๋ฅธ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋Œ€์ฒดํ‚ค

 

์„ธ๋ฒˆ์งธ step ์—์„œ๋Š” ์Šคํ”„๋ง์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ํ”„๋กœ์ ํŠธ๋ฅผ gradle ๋กœ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค. gradle ๋Š” --project-cache-dir ๊ณผ --gradle-user-home ์— ์บ์‹œ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋‘˜์˜ ์ฐจ์ด์ ์ด๋ผ๋ฉด ์ „์ž๋Š” ๊ฐ ํ”„๋กœ์ ํŠธ๋ณ„๋กœ, ํ›„์ž๋Š” ๊ธ€๋กœ๋ฒŒ๋กœ ์ €์žฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 

 

๊ทธ๋Ÿผ ์ด์ œ ์ด ์•ก์…˜์„ ์‹คํ–‰์‹œํ‚ค๋ฉด ๋ฌด์Šจ ์ผ์ด ๋ฐœ์ƒํ•˜๋Š” ์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

 

 

์ฒซ ์•ก์…˜์ด๋ฏ€๋กœ ์–ด๋– ํ•œ ์บ์‹œ ๋ฐ์ดํ„ฐ๋„ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋•Œ๋ฌธ์— ์•„๋ž˜ ๋กœ๊ทธ์ฒ˜๋Ÿผ ์บ์‹œ ํ‚ค๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

no cache key

 

"gradle cache is not found" ๋Š” actions/setup-java@v3 ์—์„œ cache: gradle ์„ ์ฃผ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์—ฌ์ง€๋Š” ๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.

gradle ๋ฅผ ์บ์‹ฑํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ ์ด์™€ ๊ด€๋ จ๋œ ์บ์‹œ ํ‚ค๋ฅผ ์ฐพ์ง€ ๋ชปํ•œ๊ฑฐ์ฃ .

 

๊ทธ๋ฆฌ๊ณ  "Cache not found for input keys" ๊ฐ€ actions/cache@v3 ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋กœ๊ทธ์ž…๋‹ˆ๋‹ค. ์—ญ์‹œ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ฒซ ์•ก์…˜์ด๋ฏ€๋กœ ์บ์‹ฑ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๊ณ , ๊ด€๋ จ ์บ์‹œ ํ‚ค๋ฅผ ์ฐพ์ง€ ๋ชปํ•ด์„œ ๋ฐœ์ƒํ•œ ๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.

 

์ฐธ๊ณ ๋กœ ์บ์‹œ ํ‚ค๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ํƒญ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

 

๋งŒ์•ฝ ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋ณด์—ฌ์ง€๋ฉด ๊ฐ„๋‹จํ•œ Action ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์„œ ์‹คํ–‰์‹œํ‚ค๋ฉด ์ด ๋‹ค์Œ๋ถ€ํ„ด ์œ„ ํ™”๋ฉด ์ฒ˜๋Ÿผ ๋ณด์—ฌ์งˆ ๊ฑฐ์—์š”.

์•„๋ฌด ์•ก์…˜๋„ ์—†์–ด์„œ ์•„๋ž˜์ฒ˜๋Ÿผ ๋ณด์—ฌ์ง€๋Š” ๊ฒ๋‹ˆ๋‹ค.

 

 

 

๊ทธ๋ฆฌ๊ณ  action cache ๊ฐ€ ๋๋‚˜๊ณ  ์ด์–ด์„œ gradle build ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

 

์•„๋ž˜๋Š” gradle build ๊ฐ€ ์‹คํ–‰๋  ๋•Œ ์ถœ๋ ฅ๋˜๋Š” ๋กœ๊ทธ์ž…๋‹ˆ๋‹ค. ๋ณด๋ฉด 523 ๋ผ์ธ์— NO-SOURCE ๋ผ๋Š” ๋ฌธ๊ตฌ๋ฅผ ํ™•์ธํ•  ์ˆ˜๊ฐ€ ์žˆ๋Š”๋ฐ ์ด๋Š” gradle build ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ ์บ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์„ ๋•Œ ์ถœ๋ ฅ๋˜๋Š” ๋ฌธ๊ตฌ์ž…๋‹ˆ๋‹ค.

gradle build

 

๋งŒ์•ฝ ์บ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด NO-SOURCE ๊ฐ€ ์•„๋‹ˆ๋ผ FROM-CACHE ๋ผ๋Š” ๋ฌธ๊ตฌ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ดํ›„ gradle build ๊ฐ€ ๋๋‚˜๋ฉด In Action ์— ํ•„์š”ํ•œ ์ž‘์—…๋“ค์€ ๋ชจ๋‘ ๋๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ดํ›„ Post Action ์„ ๋ณด๊ฒŒ ๋˜๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฌธ๊ตฌ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.

 

Cache Saved

 

actions/setup-java@v3 ๊ณผ actions/cache@v3 ์—์„œ cache ๋ฅผ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‘๋ฒˆ์˜ ์บ์‹œ๊ฐ€ ์ €์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

"Cache saved successfully" ๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ์บ์‹œ๊ฐ€ ์ €์žฅ๋˜์—ˆ๊ณ , "Cache saved with the key" ๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ํ•ด๋‹น ์บ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๊ณ  ์บ์‹œ ํ‚ค๋„ ๋ฐœ๊ธ‰๋˜์—ˆ์ฃ .

 

๊ทธ๋ฆฌ๊ณ  ์ด ์บ์‹œ๋Š” ์—ฌ๊ธฐ์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์—์„œ ์ƒ์„ฑ๋œ 2๊ฐœ์˜ ์บ์‹œ ํ‚ค์ž…๋‹ˆ๋‹ค. setup-java-linux-gradle-xxx ๋ผ๋Š” ์บ์‹œ ํ‚ค ์ด๋ฆ„์€ actions/setup-java@v3 ์—์„œ ์ƒ์„ฑํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋ฉฐ, <repo name>-gradle-xxxx ๋Š” actions/cache@v3 ์—์„œ .with.key ์— ๋ช…์‹œํ•œ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

์บ์‹œ ํ‚ค

 

์ด์ œ ์•ž์œผ๋กœ ์ด ์บ์‹œ ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์•ก์…˜์€ ์บ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์›ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด ์บ์‹œ ํ‚ค๋ฅผ ์‹ค์ˆ˜๋กœ ์‚ญ์ œํ•ด๋„ ๊ฑฑ์ •์€ ์•ˆํ•˜์…”๋„ ๋ฉ๋‹ˆ๋‹ค. ๋˜ ์•ก์…˜์„ ๋Œ๋ฆฌ๋ฉด ์ƒ์„ฑ๋˜๊ฑฐ๋“ ์š”. ๋‹ค๋งŒ, build ํ•  ๋•Œ ๋˜ ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ฒ ์ฃ ?

 

์บ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ์ง€ ์•Š๊ณ  ์ˆœ์ˆ˜ gradle build ๋ฅผ ์ง„ํ–‰ํ•œ ๊ฒฐ๊ณผ 7๋ถ„ ์ •๋„ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.

(CPU 1500Mi ๊ธฐ์ค€์ด๋ฉฐ, ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋Š” ์•„์ฃผ ๊ธฐ๋ณธ์ ์ธ dependency ๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ์Œ)

7๋ถ„ 15์ดˆ ์†Œ์š”

 

๊ทธ๋Ÿผ ์ด์ œ ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ์–ด๋– ํ•œ ๋ณ€ํ™”๊ฐ€ ์žˆ๋Š” ์ง€ ์‚ดํŽด๋ณด์ฃ .

 

 

Cache ํ›„


์ด์ œ ์บ์‹œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ์ด ๋˜์—ˆ๊ณ , ์บ์‹œ ํ‚ค๋ฅผ ํ†ตํ•ด์„œ ์–ธ์ œ๋“ ์ง€ ์บ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ๋ฐ”๋กœ Action ์„ ์‹คํ–‰ํ•ด๋ณด์ฃ .

 

actions/setup-java@v3 ๊ณผ actions/cache@v3 ๋ชจ๋‘ ์บ์‹œ ํ‚ค๋ฅผ ์ด์šฉํ•ด์„œ ์ž˜ ๋ณต์›ํ•œ ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  gradle build ๊ณผ์ •์—์„œ ์ถœ๋ ฅ๋˜๋Š” ๋กœ๊ทธ ๋˜ํ•œ FROM-CACHE ๋ผ๋Š” ๋ฌธ๊ตฌ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์„ ๋ณด๋‹ˆ ์บ์‹ฑ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด์„œ ๋นŒ๋“œ ํ•˜๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

๊ทธ๋Ÿผ ์ด์ œ Post Action ๋ฅผ ํ™•์ธํ•ด๋ณด์ฃ . Post Action ๊ฐ™์€ ๊ฒฝ์šฐ In Action ์˜ ์—ญ์ˆœ์œผ๋กœ ์ง„ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— actions/cache@v3 ๋จผ์ € ์‹คํ–‰๋œ ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„ฑ๊ณต์ ์œผ๋กœ ์บ์‹œ ์ฃผํ‚ค์— ์บ์‹œ ํžˆํŠธ๋ฅผ ํ–ˆ๋‹ค๊ณ  ๋‚˜์˜ต๋‹ˆ๋‹ค. 

 

 

์ด๋ฏธ์ง€์—์„œ๋Š” ์งค๋ ธ๋Š”๋ฐ "Cache hit ~" ๋งจ ๋’ค์— "not saving cache" ๋ผ๋Š” ๋ฌธ๊ตฌ ์žˆ๋Š”๋ฐ ์—…๋ฐ์ดํŠธ ๋œ ์บ์‹œ ๋ฐ์ดํŠธ๊ฐ€ ์—†๊ณ , ์ด๋ฏธ ์บ์‹œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ตณ์ด ์บ์‹œ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š์•˜๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์•ก์…˜ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. ์บ์‹ฑ ์ „์—๋Š” 7๋ถ„ 15์ดˆ๊ฐ€ ๊ฑธ๋ ธ๋Š”๋ฐ ์บ์‹ฑ ํ›„์—๋Š” 2๋ถ„ 35์ดˆ๊ฐ€ ์†Œ์š”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒ๋‹นํžˆ ๋งŽ์ด ๋‹จ์ถ•๋œ ๊ฑธ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธ€์—์„œ ์‚ฌ์šฉ๋œ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๊ฐ€ ์•„์ฃผ ๊ฐ€๋ฒผ์›Œ์„œ ๊ทธ๋ ‡์ง€ ๋งŒ์•ฝ ์‹ค๋ฌด์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœ์ ํŠธ๋ผ๋ฉด ์•„๋งˆ ๋” ๋งŽ์€ ์‹œ๊ฐ„ ๋‹จ์ถ•์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์„ ๊ฑฐ ๊ฐ™์•„์š”.

2๋ถ„ 35์ดˆ ์†Œ์š”

 

 

์˜ค๋Š˜์€ Github Action ์˜ ํ•ต์‹ฌ์ธ Cache ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์œ„์—์„œ ๋ณด์—ฌ๋“œ๋ฆฐ ๊ธฐ๋Šฅ๋ง๊ณ ๋„ ๋” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•ด์ฃผ๋‹ˆ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•ด๋ณด์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿผ ์˜ค๋Š˜์€ ์—ฌ๊ธฐ๊นŒ์ง€!

๋ฐ˜์‘ํ˜•
profile on loading

Loading...