๐ ํ์ฌ ๋ฌธ์ ์
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 "...์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋จ"๋ฅผ ์ ๊ฑฐํ๋ค. ์
๋ก๋/์ฌ์ฌ ์ ์ถ์ด ์คํจํ๋ฉด ์ํฌํ๋ก์ฐ๊ฐ ์ ์งํ๊ฒ ๋นจ๊ฐ๋ถ ๋ก ํ๋ฉดํ๋๋ค.
โ๏ธ ์์
๋ด์ฉ
์ฐ๊ณ ์ด์ (Android, ๊ฐ์ "์ฌ์ฌ๊น์ง ์๋ + ๊ฑฐ์ง ์ฑ๊ณต ์ ๊ฑฐ" ์ฒ ํ):
๐โโ๏ธ ๋ด๋น์
๋ฐฑ์๋: ์ด๋ฆ
ํ๋ก ํธ์๋: @Cassiiopeia
๋์์ธ: ์ด๋ฆ
๐ ํ์ฌ ๋ฌธ์ ์
ROMROM-IOS-TESTFLIGHT.yaml)๊ฐ TestFlight ์ ๋ก๋๊น์ง๋ง ํ๊ณ , App Store production ์ฌ์ฌ ์ ์ถ์ ํ์ง ์๋๋ค.pilot()(TestFlight ์ ๋ก๋)๋ง ํธ์ถํ๊ณdeliver(App Store ์ฌ์ฌ ์ ์ถ) ์ฝ๋๊ฐ ์๋ค.fastlane upload_testflight || echo "โ ๏ธ ๊ถํ ์๋ฌ ๋ฐ์ํ์ง๋ง ์ ๋ก๋๋ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋จ"๋ก ๋์ด ์์ด, **์ ๋ก๋๊ฐ ์ค์ ๋ก ์คํจํด๋ ์ํฌํ๋ก์ฐ๊ฐ ์ด๋ก๋ถ(success)**๋ก ๋๋๋ค. ์คํจ๊ฐ ๊ฐ๋ ค์ง๋ค.๐ ๏ธ ํด๊ฒฐ ๋ฐฉ์ / ์ ์ ๊ธฐ๋ฅ
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๊ฐ ์ฌ์ฌ ์ ์ถํ๋๋ก ํ๋ค. (์ฒ๋ฆฌ ์ค์ธ ๋น๋๋ ์ฌ์ฌ ์ ์ถ ๋ถ๊ฐ)|| echo "...์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋จ"๋ฅผ ์ ๊ฑฐํ๋ค. ์ ๋ก๋/์ฌ์ฌ ์ ์ถ์ด ์คํจํ๋ฉด ์ํฌํ๋ก์ฐ๊ฐ ์ ์งํ๊ฒ ๋นจ๊ฐ๋ถ๋ก ํ๋ฉดํ๋๋ค.โ๏ธ ์์ ๋ด์ฉ
ROMROM-IOS-TESTFLIGHT.yaml์ fastlane lane์deliver(์ฌ์ฌ ์ ์ถ) ์ถ๊ฐ + lane ์ฌ๋ช ๋ช (deploy_appstore)pilot์skip_waiting_for_build_processing: false๋ก ๋น๋ ์ฒ๋ฆฌ ๋๊ธฐ|| echo๊ฑฐ์ง ์ฑ๊ณต ์ ๊ฑฐ + ํธ์ถ๋ถ๋ฅผfastlane deploy_appstore๋ก ๊ต์ฒด/suh-changelog-deploy):deliver์ฌ์ฌ ์ ์ถ step์ด ์ฑ๊ณต ๋๋ ์คํจ ์ ๋นจ๊ฐ๋ถ๋ก ํ๋ฉดํ๋๋์ง ํ์ธ๐โโ๏ธ ๋ด๋น์