๋นŒ๋“œ ์˜ˆ์•ฝ

์ด ํŽ˜์ด์ง€์—์„œ๋Š” Google Cloud ์ฝ˜์†”์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์ „ ์ •์˜๋œ ์ผ์ •์œผ๋กœ ๋นŒ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋นŒ๋“œ๋ฅผ ์˜ˆ์•ฝํ•˜๋ ค๋ฉด ์ˆ˜๋™ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ๋งŒ๋“  ๋‹ค์Œ Cloud Scheduler๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

  • Enable the Cloud Build API.

    Enable the API

  • ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ค€๋น„ํ•˜์„ธ์š”.
  • ์•„์ง ํŠธ๋ฆฌ๊ฑฐํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์ˆ˜๋™ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ์ˆ˜๋™ ํŠธ๋ฆฌ๊ฑฐ์ธ ๊ฒฝ์šฐ์—๋งŒ ๋นŒ๋“œ๋ฅผ ์˜ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋นŒ๋“œ ์˜ˆ์•ฝ

์ˆ˜๋™ ํŠธ๋ฆฌ๊ฑฐ ๋งŒ๋“  ํ›„ ๋นŒ๋“œ๋ฅผ ์˜ˆ์•ฝํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋นŒ๋“œ๋ฅผ ์˜ˆ์•ฝํ•˜๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. ํŠธ๋ฆฌ๊ฑฐ ํŽ˜์ด์ง€ ์—ด๊ธฐ:

    ํŠธ๋ฆฌ๊ฑฐ ํŽ˜์ด์ง€ ์—ด๊ธฐ

  2. ์‹คํ–‰ํ•˜๋ ค๋Š” ์ˆ˜๋™ ํŠธ๋ฆฌ๊ฑฐ์˜ ์ด๋ฆ„์ด ํฌํ•จ๋œ ํ–‰์„ ์ผ์ •์—์„œ ์ฐพ์Šต๋‹ˆ๋‹ค.

  3. ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ํฌํ•จ๋œ ํ–‰์˜ ์˜ค๋ฅธ์ชฝ ๋์— ์žˆ๋Š” ๋ฉ”๋‰ด(์„ธ๋กœ ํƒ€์›)๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ๋นŒ๋“œ๋ฅผ ์˜ˆ์•ฝํ•˜๋ ค๋ฉด ์ผ์ •์— ๋”ฐ๋ผ ์‹คํ–‰์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ์˜ค๋ฅธ์ชฝ์— ์ผ์ •์— ๋”ฐ๋ผ ํŠธ๋ฆฌ๊ฑฐ ์‹คํ–‰ ํŒจ๋„์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  5. Cloud Scheduler API๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

    ๋นŒ๋“œ๋ฅผ ์ฒ˜์Œ ์˜ˆ์•ฝํ•  ๋•Œ๋งŒ Cloud Scheduler API๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  6. ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ Cloud Scheduler์—์„œ ์‚ฌ์šฉํ•  ์„œ๋น„์Šค ๊ณ„์ •์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ๋‹ค์Œ ํ˜•์‹์˜ ๊ธฐ๋ณธ ์˜ˆ์•ฝ ์„œ๋น„์Šค ๊ณ„์ •์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ PROJECT_ID๋Š” ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID์ž…๋‹ˆ๋‹ค.

     cloud-build-trigger-scheduler@PROJECT_ID.iam.gserviceaccount.com
    

    ๊ธฐ๋ณธ ์˜ˆ์•ฝ ์„œ๋น„์Šค ๊ณ„์ •์„ ์„ ํƒํ•˜๋ฉด Cloud Build ํŽธ์ง‘์ž IAM ์—ญํ• ์ด ๋ถ€์—ฌ๋œ ๊ณ„์ •์ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด ์„œ๋น„์Šค ๊ณ„์ •์€ Cloud Scheduler์—์„œ ๋นŒ๋“œ ์˜ˆ์•ฝ์— ์‚ฌ์šฉ๋˜๋ฏ€๋กœ ์‚ญ์ œํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์‹ค์ˆ˜๋กœ ์ด ์„œ๋น„์Šค ๊ณ„์ •์„ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ IAM ๊ถŒํ•œ์„ ์ทจ์†Œํ•œ ๊ฒฝ์šฐ IAM ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜์—ฌ ์ˆ˜๋™์œผ๋กœ ์„œ๋น„์Šค ๊ณ„์ •์„ ์ถ”๊ฐ€ํ•˜๊ณ  Cloud Build ํŽธ์ง‘์ž ์—ญํ• ์„ ๋ถ€์—ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๊ณ„์ •์ด ๋‹ค์‹œ ์ƒ์„ฑ๋˜๋ฉด ๊ธฐ์กด Cloud Scheduler ์ž‘์—…์ด ๋‹ค์‹œ ์‹œ์ž‘๋  ๋•Œ๊นŒ์ง€ ์ตœ๋Œ€ 1์‹œ๊ฐ„์ด ์†Œ์š”๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  7. ๊ณ„์†์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ์„ ํƒํ•œ ๋ฆฌ์ „์ด ์—†์œผ๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ ์ „์— Cloud Scheduler ์ž‘์—…์˜ ๋ฆฌ์ „์„ ์„ ํƒํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์ „์„ ์„ ํƒํ•˜๋ฉด App Engine ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ”„๋กœ์ ํŠธ์— ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋‚˜์ค‘์— ํ”„๋กœ์ ํŠธ์˜ ๋ฆฌ์ „์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ง€์›๋˜๋Š” ๋ฆฌ์ „์„ ์ฐธ์กฐํ•˜์„ธ์š”.

  8. ๋‹ค์Œ Cloud Scheduler ์ž‘์—… ์„ค์ •์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    • ์ด๋ฆ„: Cloud Scheduler ์ž‘์—…์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
    • ์„ค๋ช…(์„ ํƒ์‚ฌํ•ญ): Cloud Scheduler ์ž‘์—…์— ๋Œ€ํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค.
    • ๋นˆ๋„: ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์‹คํ–‰ํ•  ๋นˆ๋„๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ ๋นˆ๋„๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ํฌ๋ก  ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ปค์Šคํ…€ ๊ฐ’์„ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ˆ˜๋™ ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ๋งค์ผ ์˜ค์ „ 6์‹œ์— ์‹คํ–‰๋˜๋„๋ก ํ•˜๋ ค๋ฉด ํฌ๋ก  ๊ตฌ๋ฌธ์˜ ๋นˆ๋„๋ฅผ 0 6 * * *๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ํฌ๋ก  ๊ตฌ๋ฌธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํฌ๋ก  ์ž‘์—… ์ผ์ • ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.
    • ์‹œ๊ฐ„๋Œ€: ์‹œ๊ฐ„๋Œ€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  9. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•˜์—ฌ Cloud Scheduler ์ž‘์—…์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    ๊ฐ ์ˆ˜๋™ ํŠธ๋ฆฌ๊ฑฐ๋งˆ๋‹ค ์Šค์ผ€์ค„๋Ÿฌ ์ž‘์—…์„ ์—ฌ๋Ÿฌ ๊ฐœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  10. Cloud Scheduler ์ž‘์—…์„ ๋ณด๋ ค๋ฉด ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•˜์—ฌ ํŒจ๋„์„ ๋‹ซ์Šต๋‹ˆ๋‹ค.

Cloud Scheduler ์ž‘์—… ์—…๋ฐ์ดํŠธ

์ˆ˜๋™ ํŠธ๋ฆฌ๊ฑฐ์˜ ๋ฒ„์ „ ํ•„๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ํŠธ๋ฆฌ๊ฑฐ์™€ ์—ฐ๊ฒฐ๋œ Cloud Scheduler ์ž‘์—…์„ ์ˆ˜๋™์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ˆ˜๋™ ํŠธ๋ฆฌ๊ฑฐ์˜ ๋ถ„๊ธฐ ์ด๋ฆ„์„ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒฝ์šฐ ์ž‘์—…์˜ ๋ถ„๊ธฐ ์ด๋ฆ„์„ ์ˆ˜๋™์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Cloud Scheduler ์ž‘์—…์„ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. Cloud Scheduler๋ฅผ ์—ฝ๋‹ˆ๋‹ค.

    Cloud Scheduler ํŽ˜์ด์ง€ ์—ด๊ธฐ

    Cloud Scheduler ์ž‘์—… ๋ชฉ๋ก์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  2. [์„ ํƒ์‚ฌํ•ญ] ํŠธ๋ฆฌ๊ฑฐ์™€ ์—ฐ๊ฒฐ๋œ Cloud Scheduler ์ž‘์—…์„ ํŒŒ์•…ํ•ฉ๋‹ˆ๋‹ค.

    1. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํŠธ๋ฆฌ๊ฑฐ ID๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ TRIGGER_NAME์€ ํŠธ๋ฆฌ๊ฑฐ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

      gcloud builds triggers describe TRIGGER_NAME
      
    2. ํŠธ๋ฆฌ๊ฑฐ ID๋ฅผ ๊ธฐ๋กํ•ด ๋‘ก๋‹ˆ๋‹ค.

    3. ํ…Œ์ด๋ธ” ์ƒ๋‹จ์˜ ํ•„ํ„ฐ ๋ง‰๋Œ€์— ํŠธ๋ฆฌ๊ฑฐ ID๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    ํŠธ๋ฆฌ๊ฑฐ์™€ ์—ฐ๊ฒฐ๋œ Cloud Scheduler ์ž‘์—… ๋ชฉ๋ก์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  3. ์—…๋ฐ์ดํŠธํ•  ์ž‘์—…์˜ ์ด๋ฆ„์ด ํฌํ•จ๋œ ํ–‰์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ํŽ˜์ด์ง€ ์ƒ๋‹จ์˜ ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    Cloud Scheduler ์ž‘์—…์„ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์–‘์‹์ด ํ‘œ์‹œ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  5. ๋ณธ๋ฌธ ํ•„๋“œ์—์„œ ๋ฒ„์ „์„ ์—…๋ฐ์ดํŠธํ•˜์„ธ์š”.

  6. ์—…๋ฐ์ดํŠธ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ Cloud Scheduler ์ž‘์—…์˜ ํŠธ๋ฆฌ๊ฑฐ์™€ ์—ฐ๊ฒฐ๋œ ๋ฒ„์ „์ด ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Cloud Scheduler ์ž‘์—… ์‚ญ์ œ

ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์‚ญ์ œ ๋˜๋Š” ์‚ฌ์šฉ ์ค‘์ง€ํ•ด๋„ ํŠธ๋ฆฌ๊ฑฐ ์ผ์ •์„ ์˜ˆ์•ฝํ•  ๋•Œ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋œ ๋ชจ๋“  Cloud Scheduler ์ž‘์—…์„ ์ž๋™์œผ๋กœ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ ์ค‘์ง€ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ž‘์—…์€ ๊ณ„์† ์กด์žฌํ•˜๋ฉฐ ๋นŒ๋“œ๋Š” ๊ณ„์† ํ˜ธ์ถœ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ง€์ •๋œ ์‹œ๊ฐ„์— ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ๋” ์ด์ƒ ์‹คํ–‰๋˜์ง€ ์•Š๋„๋ก ํ•˜๋ ค๋ฉด Cloud Scheduler ์ž‘์—…์„ ์‚ญ์ œํ•˜์„ธ์š”.

๋‹ค์Œ ๋‹จ๊ณ„