
āĻĢāĻžāϏā§āĻāϞā§āύ āϏāĻš āĻāĻŋāĻāϞā§āϝāĻžāĻŦ āĻā§āĻāĻžāĻŦā§ āĻ ā§āϝāĻžāĻĒ āϏā§āĻā§āϰ⧠iOS āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻā§āϞāĻŋ āϏāĻāĻā§āϰāĻš, āϏāĻžāĻāύ āĻāĻŦāĻ āĻĒā§āϰāĻāĻžāĻļ āĻāϰā§ā§ˇ
āĻāĻŽāϰāĻž āϏāĻŽā§āĻĒā§āϰāϤāĻŋ āĻāĻŋāϞ GitLab āĻāϰ āϏāĻžāĻĨā§ āĻāĻŦāĻ . āĻāĻāĻžāύ⧠āĻāĻŽāϰāĻž āĻĻā§āĻāĻŦ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ iOS āĻ ā§āϝāĻžāĻĒ āϤā§āϰāĻŋ āĻāϰāĻž āϝāĻžāϝāĻŧ āĻāĻŦāĻ āĻāĻžāϞāĻžāύ⧠āϝāĻžāϝāĻŧ āĻāĻŦāĻ āĻāĻāĻŋ TestFlight-āĻ āĻĒā§āϰāĻāĻžāĻļ āĻāϰāĻž āϝāĻžāϝāĻŧāĨ¤ āĻāĻāĻŋ āĻāϤāĻāĻž āĻļā§āϤāϞ āϤāĻž āĻĒāϰā§āĻā§āώāĻž āĻāϰ⧠āĻĻā§āĻā§āύ , āĻāĻŽāĻŋ āϏāĻŽāĻžāĻŦā§āĻļ āĻā§āϰāĻšāĻŖ āĻāϰāĻŋ āĻāĻŦāĻ āĻāĻāĻ iPad āĻĒā§āϰā§āϤ⧠āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻāĻŋāϰ āĻĒāϰā§āĻā§āώāĻžāĻŽā§āϞāĻ āϏāĻāϏā§āĻāϰāĻŖā§ āĻāĻāĻāĻŋ āĻāĻĒāĻĄā§āĻ āĻĒāĻžāĻ āϝā§āĻāĻžāύ⧠āĻāĻŽāĻŋ āĻāĻāĻŋ āϤā§āϰāĻŋ āĻāϰā§āĻāĻŋ⧎
āĻāĻāĻžāύ⧠āĻāĻŽāϰāĻž āύā§āĻŦ , āϝāĻžāĻĻā§āϰ āϏāĻžāĻĨā§ āĻāĻŽāĻŋ āĻāĻŋāĻĄāĻŋāĻ āϰā§āĻāϰā§āĻĄ āĻāϰā§āĻāĻŋāĨ¤
āĻ ā§āϝāĻžāĻĒāϞ āϏā§āĻā§āϰ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāϝāĻŧā§āĻāĻāĻŋ āĻļāĻŦā§āĻĻ
āĻāĻŽāĻžāĻĻā§āϰ āĻāĻāĻāĻŋ āĻ ā§āϝāĻžāĻĒ āϏā§āĻā§āϰ āĻ ā§āϝāĻžāĻĒ, āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻļāύ āϏāĻžāϰā§āĻāĻŋāĻĢāĻŋāĻā§āĻ āĻāĻŦāĻ āϏāĻŦāĻāĻŋāĻā§āĻā§ āĻāĻāϤā§āϰāĻŋāϤ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻĒā§āϰāĻāĻŋāĻļāύāĻŋāĻ āĻĒā§āϰā§āĻĢāĻžāĻāϞā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāĻŦā§āĨ¤
āĻāĻāĻžāύ⧠āϏāĻŦāĻā§āϝāĻŧā§ āĻāĻ āĻŋāύ āĻāĻŋāύāĻŋāϏ āĻ ā§āϝāĻžāĻĒ āϏā§āĻā§āϰ⧠āϏāĻžāĻāύ āĻāϰāĻžāϰ āĻ āϧāĻŋāĻāĻžāϰ āϏā§āĻ āĻāĻĒ āĻāϰāĻžāĨ¤ āĻāĻŽāĻŋ āĻāĻļāĻž āĻāϰāĻŋ āĻāĻĒāύāĻŋ āύāĻŋāĻā§āϰ āĻāύā§āϝ āĻāĻ āĻāĻŋāύā§āϤāĻž āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ. āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āύāϤā§āύ āĻšāύ, āĻāĻŽāĻŋ āĻāĻĒāύāĻžāĻā§ āϏāĻ āĻŋāĻ āĻĻāĻŋāĻ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰāĻŦ, āĻāĻŋāύā§āϤ⧠āĻāĻŽāϰāĻž āĻāĻāĻžāύ⧠Apple āϏāĻžāϰā§āĻāĻŋāĻĢāĻŋāĻā§āĻ āĻĒāϰāĻŋāĻāĻžāϞāύāĻžāϰ āĻāĻāĻŋāϞāϤāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻĨāĻž āĻŦāϞāĻŦ āύāĻž āĻāĻŦāĻ āϏā§āĻā§āϞāĻŋ āĻā§āϰāĻŽāĻžāĻāϤ āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āĻšāĻā§āĻā§ā§ˇ āĻāĻ āĻĒā§āϏā§āĻ āĻāĻĒāύāĻžāĻā§ āĻļā§āϰ⧠āĻāϰāϤ⧠āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰāĻŦā§.
āĻāĻŽāĻžāϰ āĻ ā§āϝāĻžāĻĒāϏ
āĻ
ā§āϝāĻžāĻĒ āϏā§āĻā§āϰ āĻāĻžāύā§āĻā§āĻā§ āĻāĻĒāύāĻžāϰ āĻāĻāĻāĻŋ āĻ
ā§āϝāĻžāĻĒ āĻĻāϰāĻāĻžāϰ āϝāĻžāϤ⧠āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύā§āϰ āĻāύā§āϝ āĻāĻĒāύāĻžāϰ āĻāĻāĻāĻŋ āĻāĻāĻĄāĻŋ āĻĨāĻžāĻā§ .xcodebuild. āĻĒā§āϰā§āĻĢāĻžāĻāϞ āĻāĻŦāĻ āĻ
ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āĻāĻāĻĄāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ āĻāĻžāĻā§ āĻĒāϰā§āĻā§āώāĻžāĻŽā§āϞāĻ āĻ
ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āĻŦāĻŋāϤāϰāĻŖā§āϰ āĻāύā§āϝ āĻā§āĻĄ āĻŦāĻŋāϞā§āĻĄ, āĻŽā§āϞā§āϝ āĻāĻŦāĻ āĻĒā§āϰāĻžāĻĒā§āϝāϤāĻž āĻāĻŦāĻ TestFlight āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύāĻā§ āĻāĻāϤā§āϰāĻŋāϤ āĻāϰā§āĨ¤ āĻĒāĻžāĻŦāϞāĻŋāĻ āĻā§āϏā§āĻāĻŋāĻ āĻāϰāĻŦā§āύ āύāĻž, āϝāĻĻāĻŋ āĻāĻĒāύāĻžāϰ āĻāĻāĻāĻŋ āĻā§āĻ āĻā§āϰā§āĻĒ āĻĨāĻžāĻā§, āϏāĻžāϧāĻžāϰāĻŖ āϏā§āĻāĻāĻĒ āĻĨāĻžāĻā§ āĻāĻŦāĻ Apple āĻĨā§āĻā§ āĻ
āϤāĻŋāϰāĻŋāĻā§āϤ āĻ
āύā§āĻŽāϤāĻŋāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āύāĻž āĻšāϝāĻŧ āϤāĻŦā§ āĻŦā§āϝāĻā§āϤāĻŋāĻāϤ āĻĒāϰā§āĻā§āώāĻžāĻ āϝāĻĨā§āώā§āĻāĨ¤
āĻĒā§āϰāĻžāϰāĻŽā§āĻāĻŋāĻ āĻĒā§āϰā§āĻĢāĻžāĻāϞ
āĻ ā§āϝāĻžāĻĒ āϏā§āĻāĻāĻĒ āĻāĻžāĻĄāĻŧāĻžāĻ, āĻ ā§āϝāĻžāĻĒāϞ āĻĄā§āĻā§āϞāĻĒāĻžāϰ āĻāύāϏā§āϞā§āϰ āϏāĻžāϰā§āĻāĻŋāĻĢāĻŋāĻā§āĻ, āĻāĻāĻĄā§āύā§āĻāĻŋāĻĢāĻžāϝāĻŧāĻžāϰ āĻāĻŦāĻ āĻĒā§āϰā§āĻĢāĻžāĻāϞ āĻŦāĻŋāĻāĻžāĻā§ āϤā§āϰāĻŋ āĻāϰāĻž iOS āĻĄāĻŋāϏā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻļāύ āĻāĻŦāĻ āĻĄā§āĻā§āϞāĻĒāĻŽā§āύā§āĻ āĻā§āĻā§āϞāĻŋāϰ āĻĒā§āϰāϝāĻŧā§āĻāύāĨ¤ āĻāĻ āϏāĻŽāϏā§āϤ āĻļāĻāϏāĻžāĻĒāϤā§āϰ āĻāĻāĻāĻŋ āĻĒā§āϰāĻāĻŋāĻļāύāĻŋāĻ āĻĒā§āϰā§āĻĢāĻžāĻāϞ⧠āĻāĻāϤā§āϰāĻŋāϤ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤
āϝ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻāϰāĻž āĻšāĻŦā§ āϤāĻžāĻĻā§āϰ āĻļāĻāϏāĻžāĻĒāϤā§āϰ āϤā§āϰāĻŋ āĻāϰāϤ⧠āϏāĻā§āώāĻŽ āĻšāϤ⧠āĻšāĻŦā§, āĻ āύā§āϝāĻĨāĻžāϝāĻŧ āĻĒāĻĻāĻā§āώā§āĻĒāĻā§āϞāĻŋ āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āϤā§āϰā§āĻāĻŋ āĻĻā§āĻāϤ⧠āĻĒāĻžāĻŦā§āύāĨ¤
āĻ āύā§āϝāĻžāύā§āϝ āĻ āĻĒāĻļāύ
āĻāĻ āϏāĻšāĻ āĻĒāĻĻā§āϧāϤāĻŋ āĻāĻžāĻĄāĻŧāĻžāĻ, āϏāĻžāϰā§āĻāĻŋāĻĢāĻŋāĻā§āĻ āĻāĻŦāĻ āĻĒā§āϰā§āĻĢāĻžāĻāϞ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻžāϰ āĻ
āύā§āϝāĻžāύā§āϝ āĻāĻĒāĻžāϝāĻŧ āĻāĻā§āĨ¤ āϏā§āϤāϰāĻžāĻ, āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻ
āύā§āϝāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰā§āύ āϤāĻŦā§ āĻāĻĒāύāĻžāĻā§ āĻŽāĻžāύāĻŋāϝāĻŧā§ āύāĻŋāϤ⧠āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āϏāĻŦāĻā§āϝāĻŧā§ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āĻŦāĻŋāώāϝāĻŧ āĻšāϞ āĻāĻĒāύāĻžāϰ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻĒā§āϰāϝāĻŧā§āĻāύ .xcodebuild, āϝāĻž āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻĢāĻžāĻāϞāĻā§āϞāĻŋāϰ āĻĻāĻŋāĻā§ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰāĻŦā§ āĻāĻŦāĻ āϝ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āύāĻžāĻŽā§ āϰāĻžāύāĻžāϰ āĻāϞāĻā§ āϤāĻžāϰ āĻāύā§āϝ āĻŦāĻŋāϞā§āĻĄ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāϰ⧠āĻā§āĻā§āύ āĻ
āĻŦāĻļā§āϝāĻ āĻāĻĒāϞāĻŦā§āϧ āĻĨāĻžāĻāϤ⧠āĻšāĻŦā§āĨ¤ āĻĄāĻŋāĻāĻŋāĻāĻžāϞ āϏā§āĻŦāĻžāĻā§āώāϰā§āϰ āĻāύā§āϝ āĻāĻŽāϰāĻž āĻĢāĻžāϏā§āĻāϞā§āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻŋ, āĻāĻŦāĻ āϝāĻĻāĻŋ āϏāĻŽāϏā§āϝāĻž āĻšāϝāĻŧ āĻŦāĻž āĻāĻĒāύāĻŋ āĻāϰāĻ āĻāĻžāύāϤ⧠āĻāĻžāύ, āϤāĻžāĻĻā§āϰ āĻŦāĻŋāĻŦāϰāĻŖ āĻĻā§āĻā§āύ .
āĻāĻ āĻāĻĻāĻžāĻšāϰāĻŖā§ āĻāĻŽāĻŋ āĻĒāĻĻā§āϧāϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻāĻŋ , āĻāĻŋāύā§āϤ⧠āĻŦāĻžāϏā§āϤāĻŦ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻāύā§āϝ āĻāĻāĻŋ āϏāĻŽā§āĻāĻŦāϤ āĻāϰāĻ āĻāĻĒāϝā§āĻā§āϤ .
āĻāĻŋāĻāϞā§āϝāĻžāĻŦ āĻāĻŦāĻ āĻĢāĻžāϏā§āĻāϞā§āύ āĻĒā§āϰāϏā§āϤā§āϤ āĻāϰāĻž āĻšāĻā§āĻā§
āϏāĻŋāĻāĻ āϰāĻžāύāĻžāϰ āĻĒā§āϰāϏā§āϤā§āϤ āĻāϰāĻž āĻšāĻā§āĻā§
āĻāĻ āϏāĻŽāϏā§āϤ āĻĄā§āĻāĻž āϏāĻāĻā§āϰāĻš āĻāϰāĻžāϰ āĻĒāϰā§, āĻāĻŽāϰāĻž MacOS āĻĄāĻŋāĻāĻžāĻāϏ⧠āĻāĻŋāĻāϞā§āϝāĻžāĻŦ āϰāĻžāύāĻžāϰā§āϰ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ⧠āĻāϞ⧠āϝāĻžāĻāĨ¤ āĻĻā§āϰā§āĻāĻžāĻā§āϝāĻŦāĻļāϤ, āĻāĻĒāύāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ MacOS āĻ iOS āĻ ā§āϝāĻžāĻĒ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻāĻŋāύā§āϤ⧠āϏāĻŦāĻāĻŋāĻā§ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻšāϤ⧠āĻĒāĻžāϰā§, āĻāĻŦāĻ āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻ āĻāϞāĻžāĻāĻžāϝāĻŧ āĻ āĻā§āϰāĻāϤāĻŋ āĻāĻļāĻž āĻāϰā§āύ, āĻĒā§āϰāĻāϞā§āĻĒā§āϰ āĻŽāϤ āύāĻāϰ āϰāĻžāĻā§āύ и āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āϰ āĻ āĻā§āϝāύā§āϤāϰā§āĻŖ āĻāĻžāĻ .
āϰāĻžāύāĻžāϰ āϏā§āĻ āĻāĻĒ āĻāϰāĻž āĻā§āĻŦ āϏāĻšāĻāĨ¤ āĻŦāϰā§āϤāĻŽāĻžāύ āĻ āύā§āϏāϰāĻŖ āĻāϰā§āύ .
āĻŦāĻŋāĻāĻĻā§āϰāĻ. āϰāĻžāύāĻžāϰāĻā§ āĻ
āĻŦāĻļā§āϝāĻ āĻāĻāĻāĻŋ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻā§āĻŦāϞ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§ shelliOS āϤā§āϰāĻŋāϰ āĻāύā§āϝ āĻāĻāĻŋ āĻĒā§āϰāϝāĻŧā§āĻāύāĨ¤ macOSāĻāύā§āĻā§āĻāύāĻžāϰā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻžāĻ āύāĻž āĻāϰā§, āϏāϰāĻžāϏāϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻšāĻŋāϏā§āĻŦā§ āĻāĻžāĻ āĻāϰāϤā§āĨ¤ āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ 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āĻ ā§āϝāĻžāĻĒāϞ āĻā§āĻā§āύāĻā§ āĻ āĻŦāĻļā§āϝāĻ āĻāĻ āĻšā§āϏā§āĻā§ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§ āϝāĻžāϤ⧠āĻāĻā§āϏāĻā§āĻĄ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻšāĻŦā§ āĻāĻŽāύ āĻā§āĻā§āϞāĻŋāϤ⧠āĻ ā§āϝāĻžāĻā§āϏā§āϏ āϰāϝāĻŧā§āĻā§ā§ˇ āĻāĻāĻŋ āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻžāϰ āϏāĻŦāĻā§āϝāĻŧā§ āϏāĻšāĻ āĻāĻĒāĻžāϝāĻŧ āĻšāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻšāĻŋāϏāĻžāĻŦā§ āϞāĻ āĻāύ āĻāϰāĻž āϝāĻŋāύāĻŋ āĻŦāĻŋāϞā§āĻĄāĻāĻŋ āĻāĻžāϞāĻžāĻŦā§āύ āĻāĻŦāĻ āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞāĻŋ āĻāĻāĻŋ āϤā§āϰāĻŋ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāĻŦā§āύāĨ¤ āϝāĻĻāĻŋ āϏāĻŋāϏā§āĻā§āĻŽ āĻā§āĻā§āύ āĻ ā§āϝāĻžāĻā§āϏā§āϏā§āϰ āĻāύā§āϝ āĻāĻŋāĻā§āĻāĻžāϏāĻž āĻāϰā§, CI āĻāĻžāĻ āĻāϰāĻžāϰ āĻāύā§āϝ āϏāϰā§āĻŦāĻĻāĻž āĻ āύā§āĻŽāϤāĻŋ āĻĻāĻŋāύ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰā§āύāĨ¤ āϤāĻžāϰāĻž āĻāϰ āĻā§āĻā§āύā§āϰ āĻāύā§āϝ āĻāĻŋāĻā§āĻāĻžāϏāĻž āĻāϰāĻŦā§ āύāĻž āϤāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĒā§āϰāĻĨāĻŽ āĻāϝāĻŧā§āĻāĻāĻŋ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ⧠āϝāĻžāĻāϝāĻŧāĻž āĻāĻŦāĻ āĻĻā§āĻāĻžāϰ āĻŽā§āϞā§āϝ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āϏāĻŽāϏā§āϝāĻž āĻšāϞ āĻ ā§āϝāĻžāĻĒāϞ āĻāĻŽāĻžāĻĻā§āϰ āĻāύā§āϝ āĻ āĻā§ āĻŽā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āϏāĻšāĻ āĻāϰ⧠āύāĻž, āĻāĻŋāύā§āϤ⧠āĻāĻāĻŦāĻžāϰ āĻāĻĒāύāĻŋ āĻāĻāĻŋ āĻāĻžāϞ⧠āĻāϰāϞ⧠āϏāĻŦāĻāĻŋāĻā§ āĻ āĻŋāĻ āĻšāϝāĻŧā§ āϝāĻžāĻŦā§āĨ¤
fastlane init
āĻāĻāĻāĻŋ āĻĒā§āϰāĻāϞā§āĻĒā§ āĻĢāĻžāϏā§āĻāϞā§āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤā§, āĻāĻžāϞāĻžāύ fastlane init. āĻļā§āϧ⧠āĻ
āύā§āϏāϰāĻŖ , āĻŦāĻŋāĻļā§āώ āĻāϰ⧠āϏāĻŽā§āĻĒāϰā§āĻā§ āĻŦāĻŋāĻāĻžāĻā§ , āĻāĻžāϰāĻŖ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻāĻāĻŋ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ 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("your-email@your-domain.com") # Your Apple email address2. fastlane/Fastfile
Fastfile āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻĒāĻĻāĻā§āώā§āĻĒ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰā§āĨ¤ āĻāĻŽāϰāĻž āĻĢāĻžāϏā§āĻāϞā§āύā§āϰ āĻ
āύā§āĻ āĻŦāĻŋāϞā§āĻ-āĻāύ āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻŋ, āϤāĻžāĻ āĻāĻāĻžāύā§āĻ āϏāĻŦāĻāĻŋāĻā§ āĻĒāϰāĻŋāώā§āĻāĻžāϰāĨ¤ āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āϞāĻžāĻāύ āϤā§āϰāĻŋ āĻāϰāĻŋ āϝāĻž āϏāĻžāϰā§āĻāĻŋāĻĢāĻŋāĻā§āĻ āĻĒāĻžāϝāĻŧ, āϏāĻŽāĻžāĻŦā§āĻļ āĻāϰ⧠āĻāĻŦāĻ āĻā§āϏā§āĻāĻĢā§āϞāĻžāĻāĻā§ āĻāĻĒāϞā§āĻĄ āĻāϰā§āĨ¤ āĻĒā§āϰāϝāĻŧā§āĻāύ⧠āĻāĻĒāύāĻŋ āĻāĻ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāĻŋāĻā§ āĻŦāĻŋāĻāĻŋāύā§āύ āĻāĻžāĻā§ āĻāĻžāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻāĻ āϏāĻŽāϏā§āϤ āĻ
āĻĒāĻžāϰā§āĻļāύ (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
end3. fastlane/Gymfile
āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻā§āĻāĻŋāĻ āĻĢāĻžāĻāϞ, āĻāĻŋāύā§āϤ⧠āĻāĻŽāĻŋ āĻĄāĻŋāĻĢāϞā§āĻ āĻāĻāĻāĻĒā§āĻ āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻāĻŦāĻ āĻŦāϰā§āϤāĻŽāĻžāύ āĻĢā§āϞā§āĻĄāĻžāϰ⧠āĻāĻāĻāĻĒā§āĻ āϰāĻžāĻāĻžāϰ āĻāύā§āϝ āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞāĻŋ āĻāĻāĻŋ āϤā§āϰāĻŋ āĻāϰā§āĻāĻŋāĨ¤ āĻāĻāĻŋ āϏāĻŋāĻāĻāĻā§ āϏāϰāϞ āĻāϰā§āĨ¤ āĻāĻā§āϰāĻšā§ āĻšāϞā§, āϏāĻŽā§āĻĒāϰā§āĻā§ āĻĒāĻĄāĻŧā§āύ 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āϝāĻĻāĻŋ āύāĻž! , āĻā§āĻļāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ clone āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻāĻŋāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽ āϏāĻš shell, āϝāĻžāϤ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰāϤāĻŋāĻāĻŋ āϏāĻŽāĻžāĻŦā§āĻļā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻĒāϰāĻŋāώā§āĻāĻžāϰ āĻāϰā§āĻŽāĻā§āώā§āϤā§āϰ āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻā§āĻŦāϞ āĻāϞ āĻāϰā§āύ flappybuild āĻĢāĻžāϏā§āĻāϞā§āύ, āϝā§āĻŽāύ āĻāĻĒāϰ⧠āĻĻā§āĻāĻž āĻā§āĻā§āĨ¤ āĻĢāϞāϏā§āĻŦāϰā§āĻĒ, āĻāĻŽāϰāĻž TestFlight-āĻ āϏāϰā§āĻŦāĻļā§āώ āϏāĻŽāĻžāĻŦā§āĻļā§āϰ āϏāĻŽāĻžāĻŦā§āĻļ, āϏā§āĻŦāĻžāĻā§āώāϰ āĻāĻŦāĻ āϏā§āĻĨāĻžāĻĒāύāĻž āĻĒāĻžāĻāĨ¤
āĻāĻŽāϰāĻž āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻāĻāĻŋāĻ āĻĒāĻžāĻ āĻāĻŦāĻ āϏāĻŽāĻžāĻŦā§āĻļā§āϰ āϏāĻžāĻĨā§ āĻāĻāĻŋ āϏāĻāϰāĻā§āώāĻŖ āĻāϰāĻŋāĨ¤ āĻĻāϝāĻŧāĻž āĻāϰ⧠āύā§āĻ āĻāϰā§āύ āϝ⧠āĻŦāĻŋāύā§āϝāĻžāϏ .ipa āĻāĻāĻāĻŋ āϏā§āĻŦāĻžāĻā§āώāϰāĻŋāϤ āĻāĻāϰāĻāĻŽ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻā§āĻŦāϞ āϝāĻž āϏāĻŋāĻŽā§āϞā§āĻāϰ⧠āĻāϞ⧠āύāĻžāĨ¤ āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āϏāĻŋāĻŽā§āϞā§āĻāϰā§āϰ āĻāύā§āϝ āĻāĻāĻāĻĒā§āĻ āĻāĻžāύ, āϤāĻŦā§ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻŦāĻŋāϞā§āĻĄ āĻāĻžāϰā§āĻā§āĻ āϝā§āĻ āĻāϰā§āύ āϝāĻž āĻāĻāĻŋ āϤā§āϰāĻŋ āĻāϰ⧠āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ⧠āĻāĻāĻŋ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āĻĒāĻžāĻĨā§ āĻ
āύā§āϤāϰā§āĻā§āĻā§āϤ āĻāϰā§āύāĨ¤
āĻ āύā§āϝāĻžāύā§āϝ āĻĒāϰāĻŋāĻŦā§āĻļ āĻĒāϰāĻŋāĻŦāϰā§āϤāύāĻļā§āϞ
āĻāĻāĻžāύ⧠āĻāϝāĻŧā§āĻāĻāĻŋ āĻĒāϰāĻŋāĻŦā§āĻļā§āϰ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āϰāϝāĻŧā§āĻā§ āϝāĻž āϏāĻŦāĻāĻŋāĻā§āĻā§ āĻāĻžāĻ āĻāϰā§āĨ¤
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD и FASTLANE_SESSION
āĻ ā§āϝāĻžāĻĒ āϏā§āĻā§āϰ⧠āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻāĻŦāĻ TestFlight-āĻ āĻāĻĒāϞā§āĻĄ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĢāĻžāϏā§āĻāϞā§āύā§āϰ āĻāύā§āϝ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻĒā§āϰāϝāĻŧā§āĻāύāĨ¤ āĻāĻāĻŋ āĻāϰāϤā§, āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻāĻŋāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄ āϤā§āϰāĻŋ āĻāϰā§āύ āϝāĻž CI āϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāĻŦā§āĨ¤ āĻŦāĻŋāϏā§āϤāĻžāϰāĻŋāϤ .
āĻāĻĒāύāĻžāϰ āϝāĻĻāĻŋ āĻĻā§āĻŦāĻŋ-āĻĢā§āϝāĻžāĻā§āĻāϰ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻĨāĻžāĻā§ āϤāĻŦā§ āĻāĻāĻāĻŋ āĻĒāϰāĻŋāĻŦāϰā§āϤāύāĻļā§āϞ āϤā§āϰāĻŋ āĻāϰā§āύ FASTLANE_SESSION (āϏā§āĻāĻžāύ⧠āύāĻŋāϰā§āĻĻā§āĻļāĻžāĻŦāϞā§)āĨ¤
FASTLANE_USER и FASTLANE_PASSWORD
āϝ⧠āĻ
āύā§āϰā§āϧā§āϰ āĻāĻŋāϤā§āϤāĻŋāϤ⧠āĻĒā§āϰāĻžāϰāĻŽā§āĻāĻŋāĻ āĻĒā§āϰā§āĻĢāĻžāĻāϞ āĻāĻŦāĻ āϏāĻžāϰā§āĻāĻŋāĻĢāĻŋāĻā§āĻ āĻŦāϞāĻž āĻšāϝāĻŧ, āĻāĻĒāύāĻžāĻā§ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āϏā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§ FASTLANE_USER и FASTLANE_PASSWORD. āĻŦāĻŋāϏā§āϤāĻžāϰāĻŋāϤ . āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻāĻāĻŋ āĻāĻŋāύā§āύ āϏāĻžāĻāύāĻŋāĻ āĻĒāĻĻā§āϧāϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ āϤāĻŦā§ āĻāĻāĻŋ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āύāϝāĻŧāĨ¤
āĻāĻĒāϏāĻāĻšāĻžāϰ āĻāύ
āĻāĻĒāύāĻŋ āĻĻā§āĻāϤ⧠āĻĒāĻžāϰā§āύ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻāĻŋ āϏāĻŦ āĻāĻžāĻ āĻāϰ⧠.
āĻāĻŽāĻŋ āĻāĻļāĻž āĻāϰāĻŋ āĻāĻāĻŋ āϏāĻšāĻžāϝāĻŧāĻ āĻāĻŋāϞ āĻāĻŦāĻ āĻāĻĒāύāĻžāĻā§ āĻāĻāĻāĻŋ āĻāĻŋāĻāϞā§āϝāĻžāĻŦ āĻĒā§āϰāĻāϞā§āĻĒā§ iOS āĻŦāĻŋāϞā§āĻĄāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰāϤ⧠āĻ
āύā§āĻĒā§āϰāĻžāĻŖāĻŋāϤ āĻāϰā§āĻā§āĨ¤ āĻāĻāĻžāύ⧠āĻāϰā§āĻāĻāĻŋ āĻĢāĻžāϏā§āĻāϞā§āύā§āϰ āĻāύā§āϝ, āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻā§āώā§āϤā§āϰā§āĨ¤ āĻāĻĒāύāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻāĻžāĻāϤ⧠āĻĒāĻžāϰā§āύ CI_BUILD_ID (āĻā§āϰāĻŽāĻŦāϰā§āϧāĻŽāĻžāύ āĻŦāĻŋāϞā§āĻĄā§āϰ āĻāύā§āϝ) āĻĨā§āĻā§ .
āĻĢāĻžāϏā§āĻāϞā§āύā§āϰ āĻāϰā§āĻāĻāĻŋ āĻĻā§āϰā§āĻĻāĻžāύā§āϤ āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āĻ ā§āϝāĻžāĻĒ āϏā§āĻā§āϰā§āϰ āĻāύā§āϝ, āϝāĻž āϏā§āĻ āĻāĻĒ āĻāϰāĻž āĻā§āĻŦ āϏāĻšāĻāĨ¤
āĻāĻĒāύāĻžāϰ āĻ āĻāĻŋāĻā§āĻāϤāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āĻŽāύā§āϤāĻŦā§āϝ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻŦāϞā§āύ āĻāĻŦāĻ iOS āĻ ā§āϝāĻžāĻĒ āĻĄā§āĻā§āϞāĻĒāĻŽā§āύā§āĻā§āϰ āĻāύā§āϝ GitLab āĻāϰ āĻāύā§āύāϤāĻŋāϰ āĻāύā§āϝ āĻāĻĒāύāĻžāϰ āϧāĻžāϰāύāĻž āĻļā§āϝāĻŧāĻžāϰ āĻāϰā§āύāĨ¤
āĻāϤā§āϏ: www.habr.com
