GitLab เจ…เจคเฉ‡ เจซเจพเจธเจŸเจฒเฉ‡เจจ เจจเจพเจฒ เจเจช เจธเจŸเฉ‹เจฐ 'เจคเฉ‡ iOS เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เจฐเจจเจพ

GitLab เจ…เจคเฉ‡ เจซเจพเจธเจŸเจฒเฉ‡เจจ เจจเจพเจฒ เจเจช เจธเจŸเฉ‹เจฐ 'เจคเฉ‡ iOS เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เจฐเจจเจพ

เจซเจพเจธเจŸเจฒเฉ‡เจจ เจจเจพเจฒ GitLab เจเจช เจธเจŸเฉ‹เจฐ 'เจคเฉ‡ iOS เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจฆเจพ เจนเฉˆ, เจธเจพเจˆเจจ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจนเจพเจฒ เจนเฉ€ เจตเจฟเฉฑเจš เจธเฉ€ เจ‡เฉฑเจ• เจเจ‚เจกเจฐเฉŒเจ‡เจก เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจฌเจฃเจพเจ‰เจฃ เจ…เจคเฉ‡ เจšเจฒเจพเจ‰เจฃ เจฆเฉ‡ เจคเจฐเฉ€เจ•เฉ‡ เจฌเจพเจฐเฉ‡ เจชเฉ‹เจธเจŸ เจ•เจฐเฉ‹ GitLab เจฆเฉ‡ เจจเจพเจฒ เจ…เจคเฉ‡ เจคเฉ‡เจœเจผ เจฒเฉ‡เจจ. เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจฆเฉ‡เจ–เจพเจ‚เจ—เฉ‡ เจ•เจฟ เจ•เจฟเจตเฉ‡เจ‚ เจ‡เฉฑเจ• iOS เจเจช เจฌเจฃเจพเจ‰เจฃเจพ เจ…เจคเฉ‡ เจšเจฒเจพเจ‰เจฃเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ TestFlight เจตเจฟเฉฑเจš เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เจฐเจจเจพ เจนเฉˆเฅค เจฆเฉ‡เจ–เฉ‹ เจ•เจฟ เจ‡เจน เจ•เจฟเฉฐเจจเจพ เจ เฉฐเจกเจพ เจนเฉˆ เจฎเฉˆเจ‚ GitLab Web IDE เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• iPad เจชเฉเจฐเฉ‹ 'เจคเฉ‡ เจฌเจฆเจฒเจพเจ… เจ•เจฐ เจฐเจฟเจนเจพ/เจฐเจนเฉ€ เจนเจพเจ‚, เจฎเฉˆเจ‚ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจฒเฉˆเจ‚เจฆเจพ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ‰เจธเฉ‡ เจ†เจˆเจชเฉˆเจก เจชเฉเจฐเฉ‹ 'เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ‡ เจŸเฉˆเจธเจŸ เจธเฉฐเจธเจ•เจฐเจฃ เจฒเจˆ เจ‡เฉฑเจ• เจ…เฉฑเจชเจกเฉ‡เจŸ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเจพเจ‚ เจœเจฟเฉฑเจฅเฉ‡ เจฎเฉˆเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจตเจฟเจ•เจธเจฟเจค เจ•เฉ€เจคเจพ เจธเฉ€เฅค

เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจฒเจตเจพเจ‚เจ—เฉ‡ เจธเจตเจฟเจซเจŸ 'เจคเฉ‡ เจธเจงเจพเจฐเจจ iOS เจเจช, เจœเจฟเจธ เจจเจพเจฒ เจฎเฉˆเจ‚ เจตเฉ€เจกเฉ€เจ“ เจฐเจฟเจ•เจพเจฐเจก เจ•เฉ€เจคเฉ€เฅค

เจเจชเจฒ เจธเจŸเฉ‹เจฐ เจธเฉฐเจฐเจšเจจเจพ เจฌเจพเจฐเฉ‡ เจ•เฉเจ เจธเจผเจฌเจฆ

เจธเจพเจจเฉ‚เฉฐ เจนเจฐ เจšเฉ€เจœเจผ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจฒเจˆ เจ‡เฉฑเจ• เจเจช เจธเจŸเฉ‹เจฐ เจเจช, เจตเฉฐเจก เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ, เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจตเจฟเจœเจผเจจเจฟเฉฐเจ— เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒ เจฆเฉ€ เจฒเฉ‹เฉœ เจชเจตเฉ‡เจ—เฉ€เฅค

เจ‡เฉฑเจฅเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจฎเฉเจธเจผเจ•เจฒ เจšเฉ€เจœเจผ เจเจช เจธเจŸเฉ‹เจฐ เจตเจฟเฉฑเจš เจธเจพเจˆเจจเจฟเฉฐเจ— เจ…เจงเจฟเจ•เจพเจฐ เจธเจฅเจพเจชเจค เจ•เจฐเจจเจพ เจนเฉˆเฅค เจฎเฉˆเจจเฉ‚เฉฐ เจ‰เจฎเฉ€เจฆ เจนเฉˆ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจฒเจˆ เจ‡เจธเจฆเจพ เจชเจคเจพ เจฒเจ—เจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจจเจตเฉ‡เจ‚ เจนเฉ‹, เจคเจพเจ‚ เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจนเฉ€ เจฆเจฟเจธเจผเจพ เจตเฉฑเจฒ เจ‡เจธเจผเจพเจฐเจพ เจ•เจฐเจพเจ‚เจ—เจพ, เจชเจฐ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจฅเฉ‡ Apple เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸเจพเจ‚ เจฆเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฆเฉ€เจ†เจ‚ เจชเฉ‡เจšเฉ€เจฆเจ—เฉ€เจ†เจ‚ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจจเจนเฉ€เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡, เจ…เจคเฉ‡ เจ‰เจน เจฒเจ—เจพเจคเจพเจฐ เจฌเจฆเจฒ เจฐเจนเฉ‡ เจนเจจเฅค เจ‡เจน เจชเฉ‹เจธเจŸ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจคเฉเจนเจพเจกเฉ€ เจฎเจฆเจฆ เจ•เจฐเฉ‡เจ—เฉ€เฅค

เจฎเฉ‡เจฐเฉ€เจ†เจ‚ เจเจชเจพเจ‚

เจคเฉเจนเจพเจจเฉ‚เฉฐ เจเจช เจธเจŸเฉ‹เจฐ เจ•เจจเฉˆเจ•เจŸ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจเจช เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจคเจพเจ‚ เจœเฉ‹ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจฒเจˆ เจ‡เฉฑเจ• ID เจนเฉ‹เจตเฉ‡ .xcodebuild. เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒ เจ…เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ†เจˆเจกเฉ€ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจŸเฉˆเจธเจŸ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉฐเจกเจฃ เจฒเจˆ เจ•เฉ‹เจก เจฌเจฟเจฒเจก, เจ•เฉ€เจฎเจค เจ…เจคเฉ‡ เจ‰เจชเจฒเจฌเจงเจคเจพ, เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸเจซเจฒเจพเจˆเจŸ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฆเฉ€ เจนเฉˆเฅค เจœเจจเจคเจ• เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจจเจพ เจ•เจฐเฉ‹, เจœเฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจธเจฎเฉ‚เจน เจนเฉˆ, เจ†เจธเจพเจจ เจธเฉˆเฉฑเจŸเจ…เฉฑเจช เจนเฉˆ, เจ…เจคเฉ‡ เจเจชเจฒ เจคเฉ‹เจ‚ เจตเจพเจงเฉ‚ เจ‡เจœเจพเจœเจผเจคเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเจพเจ‚ เจชเฉเจฐเจพเจˆเจตเฉ‡เจŸ เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจ•เจพเจซเฉ€ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค

เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒ

เจเจช เจธเฉˆเฉฑเจŸเจ…เฉฑเจช เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจเจชเจฒ เจกเจฟเจตเฉˆเจฒเจชเจฐ เจ•เฉฐเจธเฉ‹เจฒ เจฆเฉ‡ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ, เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒ เจธเฉˆเจ•เจธเจผเจจ เจตเจฟเฉฑเจš เจฌเจฃเจพเจˆเจ†เจ‚ เจ—เจˆเจ†เจ‚ iOS เจตเฉฐเจก เจ…เจคเฉ‡ เจตเจฟเจ•เจพเจธ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ‡เจนเจจเจพเจ‚ เจธเจพเจฐเฉ‡ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจตเฉ€เจœเจผเจจเจฟเฉฐเจ— เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจœเจฟเจจเฉเจนเจพเจ‚ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ, เจจเจนเฉ€เจ‚ เจคเจพเจ‚ เจ•เจฆเจฎ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจ…เจคเฉ‡ เจธเจพเจน เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจตเฉ‡เจ–เฉ‹เจ—เฉ‡เฅค

เจนเฉ‹เจฐ เจšเฉ‹เจฃ

เจ‡เจธ เจธเจงเจพเจฐเจจ เจตเจฟเจงเฉ€ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉฐเจฐเจšเจฟเจค เจ•เจฐเจจ เจฆเฉ‡ เจนเฉ‹เจฐ เจคเจฐเฉ€เจ•เฉ‡ เจนเจจเฅค เจ‡เจธ เจฒเจˆ, เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจตเฉฑเจ–เจฐเฉ‡ เจขเฉฐเจ— เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ…เจจเฉเจ•เฉ‚เจฒ เจนเฉ‹เจฃเจพ เจชเฉˆ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจธเจญ เจคเฉ‹เจ‚ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจ—เฉฑเจฒ เจ‡เจน เจนเฉˆ เจ•เจฟ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเฉฐเจฐเจšเจจเจพ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ .xcodebuild, เจœเฉ‹ เจ•เจฟ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจตเฉฑเจฒ เจ‡เจธเจผเจพเจฐเจพ เจ•เจฐเฉ‡เจ—เจพ, เจ…เจคเฉ‡ เจ•เฉ€เจšเฉ‡เจจ เจ‰เจธ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฒเจˆ เจฌเจฟเจฒเจก เจ•เฉฐเจชเจฟเจŠเจŸเจฐ 'เจคเฉ‡ เจ‰เจชเจฒเจฌเจง เจนเฉ‹เจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ เจœเจฟเจธ เจฆเฉ‡ เจจเจพเจฎ เจนเฉ‡เจ  เจฆเฉŒเฉœเจพเจ• เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆเฅค เจกเจฟเจœเฉ€เจŸเจฒ เจฆเจธเจคเจ–เจค เจฒเจˆ เจ…เจธเฉ€เจ‚ เจซเจพเจธเจŸเจฒเฉ‡เจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจ•เฉ‹เจˆ เจธเจฎเฉฑเจธเจฟเจ† เจนเฉˆ เจœเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจนเฉ‹เจฐ เจœเจพเจฃเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจตเฉ‡เจฐเจตเจฟเจ†เจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเฉ‹ เจกเจฟเจœเฉ€เจŸเจฒ เจฆเจธเจคเจ–เจคเจพเจ‚ เจฌเจพเจฐเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ.

เจ‡เจธ เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจš เจฎเฉˆเจ‚ เจชเจนเฉเฉฐเจš เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจฐเจฟเจนเจพ เจนเจพเจ‚ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจ…เจคเฉ‡ เจธเจพเจน, เจชเจฐ เจ…เจธเจฒ เจตเจฐเจคเฉ‹เจ‚ เจฒเจˆ เจ‡เจน เจธเจผเจพเจ‡เจฆ เจฌเจฟเจนเจคเจฐ เจ…เจจเฉเจ•เฉ‚เจฒ เจนเฉˆ เจฎเฉˆเจš.

GitLab เจ…เจคเฉ‡ เจซเจพเจธเจŸเจฒเฉ‡เจจ เจฆเฉ€ เจคเจฟเจ†เจฐเฉ€

CI เจฐเจจเจฐ เจฆเฉ€ เจคเจฟเจ†เจฐเฉ€

เจ‡เจน เจธเจพเจฐเจพ เจกเจพเจŸเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ…เจธเฉ€เจ‚ MacOS เจกเจฟเจตเจพเจˆเจธ 'เจคเฉ‡ GitLab เจฐเจจเจฐ เจฆเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจตเฉฑเจฒ เจตเจงเจฆเฉ‡ เจนเจพเจ‚เฅค เจฌเจฆเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ, เจคเฉเจธเฉ€เจ‚ เจธเจฟเจฐเจซเจผ MacOS 'เจคเฉ‡ iOS เจเจชเจธ เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจชเจฐ เจธเจญ เจ•เฉเจ เจฌเจฆเจฒ เจธเจ•เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจคเจฐเฉฑเจ•เฉ€ เจฆเฉ€ เจ‰เจฎเฉ€เจฆ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจœเจฟเจตเฉ‡เจ‚ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ 'เจคเฉ‡ เจจเจœเจผเจฐ เจฐเฉฑเจ–เฉ‹ xcเจฌเจฟเจฒเจก ะธ เจšเจฟเฉฐเจจเฉเจน, เจ…เจคเฉ‡ เจธเจพเจกเจพ เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจ•เฉฐเจฎ gitlab-ce#57576.

เจฆเฉŒเฉœเจพเจ• เจธเจฅเจพเจชเจค เจ•เจฐเจจเจพ เจฌเจนเฉเจค เจธเฉŒเจ–เจพ เจนเฉˆเฅค เจตเจฐเจคเจฎเจพเจจ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเฉ‹ macOS 'เจคเฉ‡ GitLab เจฐเจจเจฐ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจจเจฟเจฐเจฆเฉ‡เจธเจผ.

เจจเฉ‹เจŸ เจ•เจฐเฉ‹เฅค เจฆเฉŒเฉœเจพเจ• เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ shell. เจ‡เจน เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจฆเฉ€ เจฌเจœเจพเจ เจธเจฟเฉฑเจงเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจตเจœเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจฎเฉˆเจ•เฉ‹เจธ 'เจคเฉ‡ iOS เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจตเจฐเจค เจฐเจนเฉ‡ เจนเฉ‹ shell, เจฌเจฟเจฒเจกเจฟเฉฐเจ— เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจฐเจจเจฐ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจธเจฟเฉฑเจงเฉ‡ เจฌเจฟเจฒเจก เจนเฉ‹เจธเจŸ 'เจคเฉ‡เฅค เจ‡เจน เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจœเจฟเฉฐเจจเจพ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจฌเจฟเจนเจคเจฐ เจฌเฉเจฐเจพเจŠเจœเจผ เจ•เจฐเฉ‹ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจ‡เจธ เจฒเจˆ เจคเฉเจธเฉ€เจ‚ เจ•เฉเจ เจตเฉ€ เจฎเจฟเจธ เจจเจพ เจ•เจฐเฉ‹.

sudo curl --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64
sudo chmod +x /usr/local/bin/gitlab-runner
cd ~
gitlab-runner install
gitlab-runner start

เจเจชเจฒ เจ•เฉ€เจšเฉ‡เจจ เจจเฉ‚เฉฐ เจ‡เจธ เจนเฉ‹เจธเจŸ 'เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจจเจพเจฒ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจœเฉ‹ Xcode เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ‡เจธเจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฆเจพ เจธเจญ เจคเฉ‹เจ‚ เจ†เจธเจพเจจ เจคเจฐเฉ€เจ•เจพ เจนเฉˆ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฒเฉŒเจ—เจ‡เจจ เจ•เจฐเจจเจพ เจœเฉ‹ เจฌเจฟเจฒเจก เจจเฉ‚เฉฐ เจšเจฒเจพเจเจ—เจพ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจนเฉฑเจฅเฉ€เจ‚ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ‡เจ—เจพเฅค เจœเฉ‡เจ•เจฐ เจธเจฟเจธเจŸเจฎ เจ•เฉ€เจšเฉ‡เจจ เจชเจนเฉเฉฐเจš เจฒเจˆ เจชเฉเฉฑเจ›เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ CI เจจเฉ‚เฉฐ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจนเจฎเฉ‡เจธเจผเจพ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเจ“ เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเฉ‹เฅค เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ•เจฟ เจ‰เจน เจนเฉเจฃ เจ•เฉ€เจšเฉ‡เจจ เจฆเฉ€ เจฎเฉฐเจ— เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจ, เจตเจฟเฉฑเจš เจœเจพเจฃ เจ…เจคเฉ‡ เจชเจพเจˆเจชเจฒเจพเจˆเจจเจพเจ‚ เจฆเฉ‡ เจชเจนเจฟเจฒเฉ‡ เจœเฉ‹เฉœเฉ‡ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฃเจพ เจฏเฉ‹เจ— เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจฎเฉเจธเฉ€เจฌเจค เจ‡เจน เจนเฉˆ เจ•เจฟ เจเจชเจฒ เจธเจพเจกเฉ‡ เจฒเจˆ เจ†เจŸเฉ‹ เจฎเฉ‹เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจ†เจธเจพเจจ เจจเจนเฉ€เจ‚ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ, เจชเจฐ เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจšเจพเจฒเฉ‚ เจ•เจฐ เจฒเฉˆเจ‚เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจธเจญ เจ•เฉเจ เจ เฉ€เจ• เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เจพเฅค

fastlane init

เจ•เจฟเจธเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจตเจฟเฉฑเจš เจซเจพเจธเจŸเจฒเฉ‡เจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆ, เจšเจฒเจพเจ“ fastlane init. เจฌเจธ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเฉ‹ เจซเจพเจธเจŸเจฒเฉ‡เจจ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจ เจ…เจคเฉ‡ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจจเจฟเจฐเจฆเฉ‡เจธเจผ, เจ–เจพเจธ เจ•เจฐเจ•เฉ‡ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจญเจพเจ— เจตเจฟเฉฑเจš Gemfile, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจตเฉˆเจšเจฒเจฟเจค CI เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจฐเจพเจนเฉ€เจ‚ เจคเฉ‡เจœเจผ เจ…เจคเฉ‡ เจ…เจจเฉเจฎเจพเจจเจฟเจค เจฒเจพเจ‚เจš เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

เจคเฉเจนเจพเจกเฉ€ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจตเจฟเฉฑเจš, เจ‡เจนเจจเจพเจ‚ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจšเจฒเจพเจ“:

xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init

เจซเจพเจธเจŸเจฒเฉ‡เจจ เจ‡เฉฑเจ• เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจฆเฉ€ เจฎเฉฐเจ— เจ•เจฐเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจซเจฟเจฐ เจคเจฟเฉฐเจจ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจซเจพเจธเจŸเจฒเฉ‡เจจ เจซเฉ‹เจฒเจกเจฐ เจฌเจฃเจพเจเจ—เจพ:

1. fastlane/Appfile

เจ‡เฉฑเจฅเฉ‡ เจ•เฉเจ เจตเฉ€ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจจเจนเฉ€เจ‚ เจนเฉˆ. เจฌเจธ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ“ เจ•เจฟ เจคเฉเจนเจพเจกเฉ€ เจเจชเจฒ เจ†เจˆเจกเฉ€ เจ…เจคเฉ‡ เจเจช เจ†เจˆเจกเฉ€ เจธเจนเฉ€ เจนเจจเฅค

app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address

2. fastlane/Fastfile

Fastfile เจฌเจฃเจพเจ‰เจฃ เจฆเฉ‡ เจ•เจฆเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจซเจพเจธเจŸเจฒเฉ‡เจจ เจฆเฉ€เจ†เจ‚ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจฌเจฟเจฒเจŸ-เจ‡เจจ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ‡เจธเจฒเจˆ เจ‡เฉฑเจฅเฉ‡ เจตเฉ€ เจธเจญ เจ•เฉเจ เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจฒเจพเจˆเจจ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚ เจœเฉ‹ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ TestFlight 'เจคเฉ‡ เจ…เฉฑเจชเจฒเฉ‹เจก เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡ เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เฉฐเจฎเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉฐเจก เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ‡เจน เจธเจพเจฐเฉ‡ เจ“เจชเจฐเฉ‡เจธเจผเจจ (get_certificates, get_provisioning_profile, gym ะธ upload_to_testflight) เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจซเจพเจธเจŸเจฒเฉ‡เจจ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจนเจจเฅค

เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ get_certificates ะธ get_provisioning_profile เจฆเจธเจคเจ–เจค เจ•เจฐเจจ เจฆเฉ€ เจชเจนเฉเฉฐเจš เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจ…เจคเฉ‡ เจธเจพเจน. เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจตเจฐเจค เจฐเจนเฉ‡ เจนเฉ‹ เจฎเฉˆเจš เจœเจพเจ‚ เจœเฉ‹ เจตเฉ€, เจฌเจฆเจฒเจพเจ… เจ•เจฐเฉ‹เฅค

default_platform(:ios)

platform :ios do
  desc "Build the application"
  lane :flappybuild do
    get_certificates
    get_provisioning_profile
    gym
    upload_to_testflight
  end
end

3. fastlane/Gymfile

เจ‡เจน เจ‡เฉฑเจ• เจตเจฟเจ•เจฒเจชเจฟเจ• เจซเจพเจˆเจฒ เจนเฉˆ, เจชเจฐ เจฎเฉˆเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจกเจฟเจซเฉŒเจฒเจŸ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจ…เจคเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจซเฉ‹เจฒเจกเจฐ เจตเจฟเฉฑเจš เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฐเฉฑเจ–เจฃ เจฒเจˆ เจนเฉฑเจฅเฉ€เจ‚ เจฌเจฃเจพเจ‡เจ† เจนเฉˆเฅค เจ‡เจน CI เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจœเฉ‡ เจฆเจฟเจฒเจšเจธเจชเฉ€ เจนเฉˆ, เจฌเจพเจฐเฉ‡ เจชเฉœเฉเจนเฉ‹ gym เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจตเจฟเฉฑเจš เจฆเจธเจคเจพเจตเฉ‡เจœเจผ.

https://docs.fastlane.tools/actions/gym/

เจธเจพเจกเฉ€ .gitlab-ci.yml

เจ‡เจธ เจฒเจˆ, เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฒเจˆ เจ‡เฉฑเจ• เจธเฉ€เจ†เจˆ เจฐเจจเจฐ เจนเฉˆ เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ เจคเจฟเจ†เจฐ เจนเจพเจ‚เฅค เจ†เจ“ เจฆเฉ‡เจ–เฉ€เจ เจ•เจฟ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ•เฉ€ เจนเฉˆ .gitlab-ci.yml:

stages:
  - build

variables:
  LC_ALL: "en_US.UTF-8"
  LANG: "en_US.UTF-8"
  GIT_STRATEGY: clone

build:
  stage: build
  script:
    - bundle install
    - bundle exec fastlane flappybuild
  artifacts:
    paths:
    - ./FlappyBird.ipa

เจฌเจฟเจฒเจ•เฉเจฒ เจจเจนเฉ€เจ‚! เจ…เจธเฉ€เจ‚ เจฒเฉ‹เฉœ เจ…เจจเฉเจธเจพเจฐ เจซเจพเจธเจŸเจฒเฉ‡เจจ เจฒเจˆ เจซเจพเจฐเจฎเฉˆเจŸ เจจเฉ‚เฉฐ UTF-8 'เจคเฉ‡ เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจนเฉˆ, เจฐเจฃเจจเฉ€เจคเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹ clone เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเฉ‡ เจจเจพเจฒ shell, เจคเจพเจ‚ เจœเฉ‹ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจนเจฐเฉ‡เจ• เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจฒเจˆ เจ‡เฉฑเจ• เจธเจพเจซเจผ เจตเจฐเจ•เจธเจชเฉ‡เจธ เจนเฉ‹เจตเฉ‡, เจ…เจคเฉ‡ เจฌเจธ เจ•เจพเจฒ เจ•เจฐเฉ‹ flappybuild เจซเจพเจธเจŸเจฒเฉ‡เจจ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เฉฑเจชเจฐ เจฆเฉ‡เจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจธเจพเจจเฉ‚เฉฐ TestFlight เจตเจฟเฉฑเจš เจจเจตเฉ€เจจเจคเจฎ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจฆเฉ€ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€, เจฆเจธเจคเจ–เจค เจ…เจคเฉ‡ เจคเฉˆเจจเจพเจคเฉ€ เจฎเจฟเจฒเจฆเฉ€ เจนเฉˆเฅค

เจ…เจธเฉ€เจ‚ เจ†เจฐเจŸเฉ€เจซเฉˆเจ•เจŸ เจตเฉ€ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚. เจ•เจฟเจฐเจชเจพ เจ•เจฐเจ•เฉ‡ เจจเฉ‹เจŸ เจ•เจฐเฉ‹ เจ•เจฟ เจซเจพเจฐเจฎเฉˆเจŸ .ipa เจ‡เฉฑเจ• เจนเจธเจคเจพเจ–เจฐเจฟเจค ARM เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจนเฉˆ เจœเฉ‹ เจธเจฟเจฎเฉ‚เจฒเฉ‡เจŸเจฐ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจšเฉฑเจฒเจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจธเจฟเจฎเฉ‚เจฒเฉ‡เจŸเจฐ เจฒเจˆ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจธเจฟเจฐเจซเจผ เจฌเจฟเจฒเจก เจŸเฉ€เจšเจพ เจœเฉ‹เฉœเฉ‹ เจœเฉ‹ เจ‡เจธเจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจซเจฟเจฐ เจ‡เจธเจจเฉ‚เฉฐ เจ†เจฐเจŸเฉ€เจซเฉˆเจ•เจŸ เจฎเจพเจฐเจ— เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹เฅค

เจนเฉ‹เจฐ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ

เจ‡เฉฑเจฅเฉ‡ เจ•เฉเจ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจนเจจ เจœเฉ‹ เจนเจฐ เจšเฉ€เจœเจผ เจจเฉ‚เฉฐ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD ะธ FASTLANE_SESSION

เจเจช เจธเจŸเฉ‹เจฐ เจตเจฟเฉฑเจš เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจ•เจฐเจจ เจ…เจคเฉ‡ TestFlight 'เจคเฉ‡ เจ…เฉฑเจชเจฒเฉ‹เจก เจ•เจฐเจจ เจฒเจˆ เจซเจพเจธเจŸเจฒเฉ‡เจจ เจฒเจˆ เจชเฉเจฐเจฎเจพเจฃเฉ€เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฒเจˆ เจ‡เฉฑเจ• เจชเจพเจธเจตเจฐเจก เจฌเจฃเจพเจ“ เจœเฉ‹ CI เจตเจฟเฉฑเจš เจตเจฐเจคเจฟเจ† เจœเจพเจตเฉ‡เจ—เจพเฅค เจตเฉ‡เจฐเจตเฉ‡ เจ‡เฉฑเจฅเฉ‡.

เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจฆเฉ‹-เจ•เจพเจฐเจ• เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจนเฉˆ, เจคเจพเจ‚ เจ‡เฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฌเจฃเจพเจ“ FASTLANE_SESSION (เจ‰เฉฑเจฅเฉ‡ เจนเจฆเจพเจ‡เจคเจพเจ‚)

FASTLANE_USER ะธ FASTLANE_PASSWORD

เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจ…เจคเฉ‡ เจธเจพเจน เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐเจจ 'เจคเฉ‡ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒ เจ…เจคเฉ‡ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจ•เจนเจฟเฉฐเจฆเฉ‡ เจนเจจ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ FASTLANE_USER ะธ FASTLANE_PASSWORD. เจตเฉ‡เจฐเจตเฉ‡ เจ‡เฉฑเจฅเฉ‡. เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ•เฉ‹เจˆ เจตเฉฑเจ–เจฐเฉ€ เจฆเจธเจคเจ–เจค เจตเจฟเจงเฉ€ เจตเจฐเจค เจฐเจนเฉ‡ เจนเฉ‹ เจคเจพเจ‚ เจ‡เจน เจœเจผเจฐเฉ‚เจฐเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจ…เฉฐเจค เจตเจฟเฉฑเจš

เจคเฉเจธเฉ€เจ‚ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ‡เจน เจธเจญ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ เจฎเฉ‡เจฐเฉ‡ เจธเจงเจพเจฐเจจ เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจš.

เจฎเฉˆเจจเฉ‚เฉฐ เจ‰เจฎเฉ€เจฆ เจนเฉˆ เจ•เจฟ เจ‡เจน เจฎเจฆเจฆเจ—เจพเจฐ เจธเฉ€ เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• GitLab เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจตเจฟเฉฑเจš iOS เจฌเจฟเจฒเจกเจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจชเฉเจฐเฉ‡เจฐเจฟเจค เจ•เจฐเจฆเจพ เจธเฉ€เฅค เจ‡เฉฑเจฅเฉ‡ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจนเฉˆ CI เจธเฉเจเจพเจ… เจซเจพเจธเจŸเจฒเฉ‡เจจ เจฒเจˆ, เจธเจฟเจฐเจซเจผ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš. เจคเฉเจธเฉ€เจ‚ เจธเจผเจพเจ‡เจฆ เจตเจฐเจคเจฃเจพ เจšเจพเจนเฉ‹ CI_BUILD_ID (เจตเจงเฉ‡ เจนเฉ‹เจ เจจเจฟเจฐเจฎเจพเจฃ เจฒเจˆ) เจคเฉ‹เจ‚ เจธเจตเฉˆเจšเจฒเจฟเจค เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจตเจพเจงเจพ.

เจซเจพเจธเจŸเจฒเฉ‡เจจ เจฆเฉ€ เจ‡เจ• เจนเฉ‹เจฐ เจธเจผเจพเจจเจฆเจพเจฐ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจนเฉˆ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจธเจ•เจฐเฉ€เจจเจธเจผเจพเจŸ เจเจช เจธเจŸเฉ‹เจฐ เจฒเจˆ, เจœเจฟเจธ เจจเฉ‚เฉฐ เจธเฉˆเฉฑเจŸเจ…เฉฑเจช เจ•เจฐเจจเจพ เจฌเจนเฉเจค เจ†เจธเจพเจจ เจนเฉˆเฅค

เจ†เจชเจฃเฉ‡ เจ…เจจเฉเจญเจต เจฌเจพเจฐเฉ‡ เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจธเจพเจจเฉ‚เฉฐ เจฆเฉฑเจธเฉ‹ เจ…เจคเฉ‡ iOS เจเจช เจตเจฟเจ•เจพเจธ เจฒเจˆ GitLab เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ†เจชเจฃเฉ‡ เจตเจฟเจšเจพเจฐ เจธเจพเจ‚เจเฉ‡ เจ•เจฐเฉ‹เฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹