Skip to content

๐Ÿš€[๊ธฐ๋Šฅ๊ฐœ์„ ][CICD][iOS] App Store ์‹ฌ์‚ฌ ์ž๋™ ์ œ์ถœ ๋ˆ„๋ฝ + ๊ฑฐ์ง“ ์„ฑ๊ณต ์ œ๊ฑฐย #931

Description

@Cassiiopeia

๐Ÿ“ ํ˜„์žฌ ๋ฌธ์ œ์ 

  • iOS ๋ฐฐํฌ ์›Œํฌํ”Œ๋กœ์šฐ(ROMROM-IOS-TESTFLIGHT.yaml)๊ฐ€ TestFlight ์—…๋กœ๋“œ๊นŒ์ง€๋งŒ ํ•˜๊ณ , App Store production ์‹ฌ์‚ฌ ์ œ์ถœ์€ ํ•˜์ง€ ์•Š๋Š”๋‹ค. pilot()(TestFlight ์—…๋กœ๋“œ)๋งŒ ํ˜ธ์ถœํ•˜๊ณ  deliver(App Store ์‹ฌ์‚ฌ ์ œ์ถœ) ์ฝ”๋“œ๊ฐ€ ์—†๋‹ค.
  • ๊ทธ๋ž˜์„œ ๋งค ๋ฆด๋ฆฌ์Šค๋งˆ๋‹ค App Store Connect ์›น์—์„œ ์ˆ˜๋™์œผ๋กœ ์‹ฌ์‚ฌ๋ฅผ ์ œ์ถœํ•ด์•ผ ํ•œ๋‹ค. ์ด๋ฏธ production ์ถœ์‹œ ์ค‘์ธ ์•ฑ์ด๋ผ, ํ”Œ๋žซํผ๋งˆ๋‹ค ์‹ฌ์‚ฌ๋ฅผ ๋”ฐ๋กœ ์ž…๋ ฅํ•˜๋Š” ๊ฒŒ ํฐ ๋ถˆํŽธ์ด๋‹ค.
  • ์ถ”๊ฐ€ ๋ฌธ์ œ โ€” ๊ฑฐ์ง“ ์„ฑ๊ณต: ์›Œํฌํ”Œ๋กœ์šฐ 487์ค„์ด fastlane upload_testflight || echo "โš ๏ธ ๊ถŒํ•œ ์—๋Ÿฌ ๋ฐœ์ƒํ–ˆ์ง€๋งŒ ์—…๋กœ๋“œ๋Š” ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋จ"๋กœ ๋˜์–ด ์žˆ์–ด, **์—…๋กœ๋“œ๊ฐ€ ์‹ค์ œ๋กœ ์‹คํŒจํ•ด๋„ ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ์ดˆ๋ก๋ถˆ(success)**๋กœ ๋๋‚œ๋‹ค. ์‹คํŒจ๊ฐ€ ๊ฐ€๋ ค์ง„๋‹ค.
  • ์ด๋Š” Android ๐Ÿš€[๊ธฐ๋Šฅ๊ฐœ์„ ][CICD][PlayStore] ๋ฐฐํฌ success์ธ๋ฐ ์‹ฌ์‚ฌ ์ œ์ถœ ์•ˆ ๋˜๋Š” ๊ฑฐ์ง“ ์„ฑ๊ณต ๋ฌธ์ œ ์ˆ˜์ • ๋ฐ ์‹ค์ธก ๊ฒ€์ฆย #930(๋ฐฐํฌ success์ธ๋ฐ ์‹ฌ์‚ฌ ์ œ์ถœ ์•ˆ ๋˜๋Š” ๊ฑฐ์ง“ ์„ฑ๊ณต)๊ณผ ๊ฐ™์€ ๊ฒฐ์˜ ๋ฌธ์ œ๋‹ค. iOS๋Š” ๊ฑฐ์ง“ ์„ฑ๊ณต์— ๋”ํ•ด ์‹ฌ์‚ฌ ์ œ์ถœ ๊ธฐ๋Šฅ ์ž์ฒด๊ฐ€ ์—†๋‹ค.

๐Ÿ› ๏ธ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ / ์ œ์•ˆ ๊ธฐ๋Šฅ

  • pilot()(TestFlight ์—…๋กœ๋“œ) ๋‹ค์Œ์— deliver๋กœ App Store production ์‹ฌ์‚ฌ ์ž๋™ ์ œ์ถœ ๋‹จ๊ณ„๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ/์Šคํฌ๋ฆฐ์ƒท์€ App Store Connect ์›น์—์„œ ๊ด€๋ฆฌํ•˜๋ฏ€๋กœ ๋นŒ๋“œ๋งŒ ์‹ฌ์‚ฌ์— ์ œ์ถœํ•œ๋‹ค.
    • submit_for_review: true โ€” ์‹ฌ์‚ฌ ์ž๋™ ์ œ์ถœ (์ˆ˜๋™ ์ž…๋ ฅ ์ œ๊ฑฐ, ์ด ์ž‘์—…์˜ ํ•ต์‹ฌ)
    • automatic_release: true โ€” ์‹ฌ์‚ฌ ํ†ต๊ณผ ์ฆ‰์‹œ ์ž๋™ ์ถœ์‹œ
    • skip_binary_upload: true โ€” pilot์œผ๋กœ ์˜ฌ๋ฆฐ ๋นŒ๋“œ ์‚ฌ์šฉ (์žฌ์—…๋กœ๋“œ ์•ˆ ํ•จ)
    • skip_metadata: true / skip_screenshots: true โ€” ๋ฉ”ํƒ€/์Šค์ƒท์€ ์›น ๊ด€๋ฆฌ
  • pilot์˜ skip_waiting_for_build_processing๋ฅผ false๋กœ ๋ฐ”๊ฟ” ๋นŒ๋“œ ์ฒ˜๋ฆฌ ์™„๋ฃŒ๋ฅผ ๊ธฐ๋‹ค๋ฆฐ ๋’ค deliver๊ฐ€ ์‹ฌ์‚ฌ ์ œ์ถœํ•˜๋„๋ก ํ•œ๋‹ค. (์ฒ˜๋ฆฌ ์ค‘์ธ ๋นŒ๋“œ๋Š” ์‹ฌ์‚ฌ ์ œ์ถœ ๋ถˆ๊ฐ€)
  • ๊ฑฐ์ง“ ์„ฑ๊ณต ์ œ๊ฑฐ: 487์ค„ || echo "...์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋จ"๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค. ์—…๋กœ๋“œ/์‹ฌ์‚ฌ ์ œ์ถœ์ด ์‹คํŒจํ•˜๋ฉด ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ์ •์งํ•˜๊ฒŒ ๋นจ๊ฐ„๋ถˆ๋กœ ํ‘œ๋ฉดํ™”๋œ๋‹ค.

โš™๏ธ ์ž‘์—… ๋‚ด์šฉ

  • ROMROM-IOS-TESTFLIGHT.yaml์˜ fastlane lane์— deliver(์‹ฌ์‚ฌ ์ œ์ถœ) ์ถ”๊ฐ€ + lane ์žฌ๋ช…๋ช…(deploy_appstore)
  • pilot์˜ skip_waiting_for_build_processing: false๋กœ ๋นŒ๋“œ ์ฒ˜๋ฆฌ ๋Œ€๊ธฐ
  • 487์ค„ || echo ๊ฑฐ์ง“ ์„ฑ๊ณต ์ œ๊ฑฐ + ํ˜ธ์ถœ๋ถ€๋ฅผ fastlane deploy_appstore๋กœ ๊ต์ฒด
  • ๊ฒ€์ฆ (Android #930๊ณผ 1ํšŒ ๋ฐฐํฌ๋กœ ๋™์‹œ ์ˆ˜ํ–‰, /suh-changelog-deploy):
    • CI ๋กœ๊ทธ์—์„œ deliver ์‹ฌ์‚ฌ ์ œ์ถœ step์ด ์„ฑ๊ณต ๋˜๋Š” ์‹คํŒจ ์‹œ ๋นจ๊ฐ„๋ถˆ๋กœ ํ‘œ๋ฉดํ™”๋˜๋Š”์ง€ ํ™•์ธ
    • App Store Connect โ†’ ์•ฑ โ†’ ๋ฒ„์ „์ด **"์‹ฌ์‚ฌ ๋Œ€๊ธฐ ์ค‘(Waiting for Review)"**์œผ๋กœ ์‹ค์ œ ์ง„์ž…ํ–ˆ๋Š”์ง€ ํ™•์ธ
    • ์ˆ˜๋™ ์‹ฌ์‚ฌ ์ œ์ถœ ์—†์ด ์ž๋™์œผ๋กœ ์‹ฌ์‚ฌ์— ๋“ค์–ด๊ฐ€๋Š”์ง€ ํ™•์ธ
  • ๊ฒ€์ฆ ์„ฑ๊ณต ์‹œ, ๊ฒ€์ฆ๋œ ํ˜•ํƒœ๋ฅผ ํ…œํ”Œ๋ฆฟ(SUH-DEVOPS-TEMPLATE ๋งˆ์ดํŽ˜์ด์ง€์˜ ์ด์šฉ์•ฝ๊ด€ ํŽ˜์ด์ง€ ์ถ”๊ฐ€ ํ•„์š”ย #399)์— ์ด์‹

์—ฐ๊ณ„ ์ด์Šˆ (Android, ๊ฐ™์€ "์‹ฌ์‚ฌ๊นŒ์ง€ ์ž๋™ + ๊ฑฐ์ง“ ์„ฑ๊ณต ์ œ๊ฑฐ" ์ฒ ํ•™):

๐Ÿ™‹โ€โ™‚๏ธ ๋‹ด๋‹น์ž

  • ๋ฐฑ์—”๋“œ: ์ด๋ฆ„
  • ํ”„๋ก ํŠธ์—”๋“œ: @Cassiiopeia
  • ๋””์ž์ธ: ์ด๋ฆ„

Metadata

Metadata

Assignees

Labels

์ž‘์—…์™„๋ฃŒ์ž‘์—… ์™„๋ฃŒ ์ƒํƒœ์ธ ๊ฒฝ์šฐ (์ด์Šˆ ํ์‡„)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions