Fastlane සමඟ GitLab iOS යෙදුම් එකතු කර, අත්සන් කරන සහ App Store වෙත ප්රකාශයට පත් කරන ආකාරය.
මෑතකදී අපට තිබුණා
මෙන්න අපි ගන්නෙමු
Apple Store වින්යාසය ගැන වචන කිහිපයක්
අපට සියල්ල එකට ගැටගැසීමට App Store යෙදුමක්, බෙදාහැරීමේ සහතික සහ ප්රතිපාදන පැතිකඩක් අවශ්ය වේ.
මෙහි ඇති වඩාත්ම දුෂ්කර දෙය වන්නේ App Store හි අත්සන් කිරීමේ අයිතිවාසිකම් සැකසීමයි. ඔබටම මෙය තේරුම් ගත හැකි යැයි මම බලාපොරොත්තු වෙමි. ඔබ අලුත් නම්, මම ඔබට නිවැරදි දිශාව පෙන්වා දෙන්නම්, නමුත් අපි මෙහි Apple සහතික කළමනාකරණය කිරීමේ සංකීර්ණතා ගැන කතා නොකරමු, ඒවා නිරන්තරයෙන් වෙනස් වේ. මෙම සටහන ඔබට ආරම්භ කිරීමට උපකාරී වනු ඇත.
මගේ යෙදුම්
ඔබට වින්යාස කිරීම සඳහා හැඳුනුම්පතක් ඇති බැවින් ඔබට App Store Connect තුළ යෙදුමක් අවශ්ය වේ .xcodebuild
. පැතිකඩ සහ යෙදුම් ID පරිශීලකයින්ට පරීක්ෂණ යෙදුම් බෙදා හැරීම සඳහා කේත ගොඩනැගීම්, මිලකරණය සහ ලබා ගත හැකි බව සහ TestFlight වින්යාසය ඒකාබද්ධ කරයි. පොදු පරීක්ෂණ සිදු නොකරන්න, ඔබට කුඩා කණ්ඩායමක් තිබේ නම්, පහසු සැකසුම සහ Apple වෙතින් අමතර අවසර අවශ්ය නොවේ නම් පුද්ගලික පරීක්ෂණ ප්රමාණවත් වේ.
ආරම්භක පැතිකඩ
යෙදුම් සැකසුමට අමතරව, ඔබට Apple Developer කොන්සෝලයේ සහතික, හඳුනාගැනීම් සහ පැතිකඩ අංශය තුළ නිර්මාණය කරන ලද iOS බෙදාහැරීම් සහ සංවර්ධන යතුරු අවශ්ය වේ. මෙම සියලුම සහතික ප්රතිපාදන පැතිකඩකට ඒකාබද්ධ කළ හැකිය.
සත්යාපනය කරනු ලබන පරිශීලකයින්ට සහතික සෑදීමට හැකි විය යුතුය, එසේ නොමැති නම් පියවර
වෙනත් විකල්ප
මෙම සරල ක්රමයට අමතරව, සහතික සහ පැතිකඩ වින්යාස කිරීමට වෙනත් ක්රම තිබේ. එබැවින්, ඔබ වෙනස් ආකාරයකින් වැඩ කරන්නේ නම්, ඔබට අනුවර්තනය වීමට සිදු විය හැකිය. වැදගත්ම දෙය නම් ඔබට වින්යාසය අවශ්ය වීමයි .xcodebuild
, එය අවශ්ය ලිපිගොනු වෙත යොමු කරනු ඇති අතර, ධාවකය ක්රියාත්මක වන පරිශීලකයා සඳහා යතුරුපුවරුව ගොඩනැගීමේ පරිගණකයේ තිබිය යුතුය. ඩිජිටල් අත්සන සඳහා අපි ෆාස්ට්ලේන් භාවිතා කරන අතර ගැටළු තිබේ නම් හෝ ඔබට වැඩි විස්තර දැන ගැනීමට අවශ්ය නම්, ඒවායේ විස්තර පරීක්ෂා කරන්න
මෙම උදාහරණයේදී මම ප්රවේශය භාවිතා කරමි
GitLab සහ fastlane සූදානම් කරමින්
CI ධාවකය සූදානම් කිරීම
මෙම සියලු දත්ත එකතු කිරීමෙන් පසු, අපි MacOS උපාංගයේ GitLab ධාවකයේ වින්යාසය වෙත යමු. අවාසනාවකට, ඔබට iOS යෙදුම් සෑදිය හැක්කේ MacOS මත පමණි. නමුත් සෑම දෙයක්ම වෙනස් විය හැකි අතර, ඔබ මෙම ප්රදේශයේ ප්රගතිය අපේක්ෂා කරන්නේ නම්, වැනි ව්යාපෘති පිළිබඳව අවධානයෙන් සිටින්න
ධාවකය සැකසීම ඉතා සරල ය. ධාරාව අනුගමනය කරන්න
සටහන. ධාවකය ක්රියාත්මක කළ හැකි වැඩසටහනක් භාවිතා කළ යුතුය shell
. බහාලුම් හරහා නොව පරිශීලකයෙකු ලෙස කෙලින්ම ක්රියා කිරීමට macOS මත 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 ගොඩනැගීමට අවශ්ය යතුරු වෙත ප්රවේශය සහිතව Apple Keychain මෙම ධාරකයෙහි වින්යාස කළ යුතුය. මෙය පරීක්ෂා කිරීමට ඇති පහසුම ක්රමය නම් ගොඩනැගීම ක්රියාත්මක කරන පරිශීලකයා ලෙස ලොග් වී එය අතින් තැනීමට උත්සාහ කිරීමයි. පද්ධතිය යතුරුපුවරු ප්රවේශය ඉල්ලා සිටින්නේ නම්, CI වැඩ කිරීමට සැමවිටම ඉඩ දෙන්න තෝරන්න. ඔවුන් තවදුරටත් යතුරුපුවරුව ඉල්ලන්නේ නැති බව සහතික කර ගැනීම සඳහා පළමු නල මාර්ග දෙක නැරඹීම වටී. කරදරය නම් Apple අපට ස්වයංක්රීය මාදිලිය භාවිතා කිරීම පහසු නොකරන නමුත් ඔබ එය ක්රියාත්මක කළ පසු සියල්ල හොඳින් සිදුවනු ඇත.
fastlane init
ව්යාපෘතියක ෆාස්ට්ලේන් භාවිතා කිරීමට, ධාවනය කරන්න fastlane init
. අනුගමනය කරන්න
ඔබගේ ව්යාපෘති නාමාවලියෙහි, මෙම විධානයන් ක්රියාත්මක කරන්න:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init
Fastlane මූලික වින්යාසයක් ඉල්ලා සිටින අතර පසුව ගොනු තුනක් සහිත ව්යාපෘතියේ fastlane ෆෝල්ඩරයක් සාදන්න:
1. fastlane/Appfile
මෙහි සංකීර්ණ කිසිවක් නොමැත. ඔබගේ Apple ID සහ App ID නිවැරදි බවට වග බලා ගන්න.
app_identifier("com.vontrance.flappybird") # The bundle identifier of your app
apple_id("[email protected]") # Your Apple email address
2. fastlane/Fastfile
Fastfile
ගොඩනැගීමේ පියවර නිර්වචනය කරයි. අපි Fastlane හි ගොඩනඟන ලද විශේෂාංග බොහොමයක් භාවිතා කරමු, එබැවින් මෙහිද සියල්ල පැහැදිලිය. අපි සහතික ලබා ගන්නා, එකලස් කිරීම සහ එය TestFlight වෙත උඩුගත කරන එක් පේළියක් සාදන්නෙමු. අවශ්ය නම්, ඔබට මෙම ක්රියාවලිය විවිධ කාර්යයන් වලට බෙදිය හැකිය. මෙම සියලු මෙහෙයුම් (get_certificates
, get_provisioning_profile
, gym
и upload_to_testflight
) දැනටමත් fastlane හි ඇතුළත් කර ඇත.
ක්රියා 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
ඉතින්, අපි ව්යාපෘතිය සඳහා CI ධාවකයෙකු සිටින අතර නල මාර්ගය පරීක්ෂා කිරීමට අපි සූදානම්. අපි බලමු මොනවද තියෙන්නේ කියලා .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
ඉහත පෙනෙන පරිදි fastlane. එහි ප්රතිඵලයක් වශයෙන්, අපි TestFlight හි නවතම එකලස් කිරීමේ එකලස් කිරීම, අත්සන සහ යෙදවීම ලබා ගනිමු.
අපි කෞතුක භාණ්ඩය ලබාගෙන එය එකලස් කිරීමත් සමඟ සුරකිමු. ආකෘතිය බව කරුණාවෙන් සලකන්න .ipa
සිමියුලේටරය තුළ ක්රියාත්මක නොවන අත්සන් කරන ලද ARM ක්රියාත්මක කළ හැකි ය. ඔබට සිමියුලේටරය සඳහා ප්රතිදානය අවශ්ය නම්, එය නිපදවන ගොඩනැගීමේ ඉලක්කය එක් කරන්න, ඉන්පසු එය කෞතුක භාණ්ඩ මාර්ගයට ඇතුළත් කරන්න.
වෙනත් පරිසර විචල්යයන්
සෑම දෙයක්ම ක්රියාත්මක කරන පරිසර විචල්යයන් කිහිපයක් මෙහි ඇත.
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD
и FASTLANE_SESSION
App Store තුළ සත්යාපනය කිරීමට සහ TestFlight වෙත උඩුගත කිරීමට fastlane සඳහා සත්යාපනය අවශ්ය වේ. මෙය සිදු කිරීම සඳහා, CI හි භාවිතා වන යෙදුම සඳහා මුරපදයක් සාදන්න. විස්තර
ඔබට ද්වි-සාධක සත්යාපනය තිබේ නම්, විචල්යයක් සාදන්න FASTLANE_SESSION
(එහි උපදෙස්).
FASTLANE_USER
и FASTLANE_PASSWORD
බව FASTLANE_USER
и FASTLANE_PASSWORD
. විස්තර
අවසාන වශයෙන්
ඒ සියල්ල ක්රියාත්මක වන ආකාරය ඔබට දැක ගත හැකිය
GitLab ව්යාපෘතියක iOS ගොඩනැගීම් සමඟ වැඩ කිරීමට මෙය ඔබට ප්රයෝජනවත් සහ ප්රබෝධයක් ලබා දෙනු ඇතැයි මම බලාපොරොත්තු වෙමි. මෙන්න තවත් එකක් CI_BUILD_ID
(වර්ධක ගොඩනැගීම් සඳහා) වෙත
ෆාස්ට්ලේන් හි තවත් අපූරු ලක්ෂණයකි
ඔබගේ අත්දැකීම් ගැන අදහස් දැක්වීමේදී අපට කියන්න සහ iOS යෙදුම් සංවර්ධනය සඳහා GitLab වැඩිදියුණු කිරීම සඳහා ඔබේ අදහස් බෙදා ගන්න.
මූලාශ්රය: www.habr.com