GitLab மற்றும் fastlane மூலம் iOS பயன்பாடுகளை App Store இல் வெளியிடுகிறது

GitLab மற்றும் fastlane மூலம் iOS பயன்பாடுகளை App Store இல் வெளியிடுகிறது

ஃபாஸ்ட்லேனுடன் கூடிய GitLab எவ்வாறு iOS பயன்பாடுகளை ஆப் ஸ்டோரில் சேகரிக்கிறது, கையொப்பமிடுகிறது மற்றும் வெளியிடுகிறது.

சமீபத்தில் எங்களிடம் இருந்தது Android பயன்பாட்டை எவ்வாறு விரைவாக உருவாக்குவது மற்றும் இயக்குவது என்பது பற்றிய இடுகை GitLab உடன் மற்றும் ஃபாஸ்ட்லேன். iOS பயன்பாட்டை உருவாக்கி இயக்குவது மற்றும் அதை TestFlight இல் வெளியிடுவது எப்படி என்பதை இங்கே பார்ப்போம். எவ்வளவு குளிர்ச்சியாக இருக்கிறது என்று பாருங்கள் GitLab Web IDE மூலம் iPad Proவில் மாற்றம் செய்கிறேன், நான் அசெம்பிளியை எடுத்து, நான் உருவாக்கிய அதே iPad Pro இல் பயன்பாட்டின் சோதனைப் பதிப்பிற்கான புதுப்பிப்பைப் பெறுகிறேன்.

இங்கே நாம் எடுப்போம் Swift இல் எளிய iOS பயன்பாடு, யாருடன் நான் வீடியோ பதிவு செய்தேன்.

ஆப்பிள் ஸ்டோர் உள்ளமைவைப் பற்றி சில வார்த்தைகள்

எல்லாவற்றையும் ஒன்றாக இணைக்க, ஆப் ஸ்டோர் ஆப்ஸ், விநியோகச் சான்றிதழ்கள் மற்றும் வழங்கல் சுயவிவரம் எங்களுக்குத் தேவைப்படும்.

இங்கே மிகவும் கடினமான விஷயம் ஆப் ஸ்டோரில் கையொப்பமிடும் உரிமைகளை அமைப்பதாகும். இதை நீங்களே கண்டுபிடிக்க முடியும் என்று நம்புகிறேன். நீங்கள் புதியவராக இருந்தால், நான் உங்களை சரியான திசையில் சுட்டிக்காட்டுவேன், ஆனால் ஆப்பிள் சான்றிதழ்களை நிர்வகிப்பதற்கான சிக்கல்களைப் பற்றி நாங்கள் இங்கு பேச மாட்டோம், மேலும் அவை தொடர்ந்து மாறிக்கொண்டே இருக்கின்றன. தொடங்குவதற்கு இந்த இடுகை உங்களுக்கு உதவும்.

எனது பயன்பாடுகள்

ஆப் ஸ்டோர் இணைப்பில் உங்களுக்கு ஆப்ஸ் தேவை, அதனால் உள்ளமைவுக்கான ஐடி உங்களிடம் உள்ளது .xcodebuild. சுயவிவரம் மற்றும் பயன்பாட்டு ஐடி ஆகியவை பயனர்களுக்கு சோதனை பயன்பாடுகளை விநியோகிப்பதற்கான குறியீடு உருவாக்கம், விலை மற்றும் கிடைக்கும் தன்மை மற்றும் TestFlight உள்ளமைவு ஆகியவற்றை ஒருங்கிணைக்கிறது. பொது சோதனை செய்ய வேண்டாம், உங்களிடம் சிறிய குழு, எளிமையான அமைப்பு இருந்தால், தனிப்பட்ட சோதனை போதுமானதாக இருக்கும், மேலும் Apple வழங்கும் கூடுதல் அனுமதிகள் தேவையில்லை.

துவக்க சுயவிவரம்

ஆப்ஸ் அமைப்பிற்கு கூடுதலாக, ஆப்பிள் டெவலப்பர் கன்சோலின் சான்றிதழ்கள், அடையாளங்காட்டிகள் மற்றும் சுயவிவரங்கள் பிரிவில் உருவாக்கப்பட்ட iOS விநியோகம் மற்றும் மேம்பாட்டு விசைகள் உங்களுக்குத் தேவை. இந்த சான்றிதழ்கள் அனைத்தும் ஒரு வழங்கல் சுயவிவரமாக இணைக்கப்படலாம்.

அங்கீகரிக்கப்படும் பயனர்கள் சான்றிதழ்களை உருவாக்க வேண்டும், இல்லையெனில் படிகள் சான்றிதழ் மற்றும் பெருமூச்சு நீங்கள் ஒரு பிழை பார்ப்பீர்கள்.

பிற விருப்பங்களை

இந்த எளிய முறையைத் தவிர, சான்றிதழ்கள் மற்றும் சுயவிவரங்களை உள்ளமைக்க வேறு வழிகள் உள்ளன. எனவே, நீங்கள் வித்தியாசமாக வேலை செய்தால், நீங்கள் மாற்றியமைக்க வேண்டியிருக்கும். மிக முக்கியமான விஷயம் என்னவென்றால், உங்களுக்கு கட்டமைப்பு தேவை .xcodebuild, இது தேவையான கோப்புகளை சுட்டிக்காட்டும், மேலும் ரன்னர் யாருடைய பெயரில் இயங்குகிறதோ அந்த பயனருக்கான பில்ட் கம்ப்யூட்டரில் கீசெயின் இருக்க வேண்டும். டிஜிட்டல் கையொப்பத்திற்காக நாங்கள் ஃபாஸ்ட்லேனைப் பயன்படுத்துகிறோம், மேலும் சிக்கல்கள் இருந்தால் அல்லது நீங்கள் மேலும் அறிய விரும்பினால், அவற்றின் விவரங்களைப் பார்க்கவும் டிஜிட்டல் கையொப்பங்கள் பற்றிய ஆவணங்கள்.

இந்த எடுத்துக்காட்டில் நான் அணுகுமுறையைப் பயன்படுத்துகிறேன் சான்றிதழ் மற்றும் பெருமூச்சு, ஆனால் உண்மையான பயன்பாட்டிற்கு இது மிகவும் பொருத்தமானது போட்டியில்.

GitLab மற்றும் fastlane ஐ தயார்படுத்துகிறது

CI ரன்னர் தயார்

இந்தத் தரவு அனைத்தையும் சேகரித்த பிறகு, MacOS சாதனத்தில் GitLab ரன்னரின் உள்ளமைவுக்குச் செல்கிறோம். துரதிர்ஷ்டவசமாக, நீங்கள் MacOS இல் மட்டுமே iOS பயன்பாடுகளை உருவாக்க முடியும். ஆனால் எல்லாவற்றையும் மாற்றலாம், இந்த பகுதியில் நீங்கள் முன்னேற்றத்தை எதிர்பார்க்கிறீர்கள் என்றால், போன்ற திட்டங்களைக் கவனியுங்கள் xcbuild и அடையாளம், மற்றும் எங்கள் உள் பணி gitlab-ce#57576.

ரன்னர் அமைப்பது மிகவும் எளிது. மின்னோட்டத்தைப் பின்பற்றவும் MacOS இல் GitLab Runner ஐ அமைப்பதற்கான வழிமுறைகள்.

குறிப்பு. ரன்னர் ஒரு இயங்கக்கூடிய நிரலைப் பயன்படுத்த வேண்டும் 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 வேலை செய்ய எப்போதும் அனுமதி என்பதைத் தேர்ந்தெடுக்கவும். அவர்கள் இனி சாவிக்கொத்தை கேட்கவில்லை என்பதை உறுதிப்படுத்த, முதல் இரண்டு பைப்லைன்களை உள்ளே சென்று பார்ப்பது மதிப்புக்குரியதாக இருக்கலாம். சிக்கல் என்னவென்றால், ஆட்டோ பயன்முறையைப் பயன்படுத்துவதை ஆப்பிள் எளிதாக்கவில்லை, ஆனால் நீங்கள் அதைப் பயன்படுத்தினால், எல்லாம் சரியாகிவிடும்.

ஃபாஸ்ட்லேன் துவக்கம்

திட்டத்தில் ஃபாஸ்ட்லேன் பயன்படுத்த, இயக்கவும் fastlane init. பின்பற்றுங்கள் ஃபாஸ்ட்லேனை நிறுவி இயக்குவதற்கான வழிமுறைகள், குறிப்பாக பற்றிய பகுதியில் ஜெம்ஃபைல், ஏனெனில் ஒரு தானியங்கி சிஐ பைப்லைன் மூலம் வேகமான மற்றும் யூகிக்கக்கூடிய ஏவுதல் நமக்குத் தேவை.

உங்கள் திட்டக் கோப்பகத்தில், பின்வரும் கட்டளைகளை இயக்கவும்:

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

எனவே, திட்டத்திற்கான 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

சரி! தேவைக்கேற்ப ஃபாஸ்ட்லேனுக்கான வடிவமைப்பை UTF-8க்கு அமைத்துள்ளோம், உத்தியைப் பயன்படுத்தவும் clone செயல்படுத்தும் திட்டத்தை கொண்டு shell, அதனால் ஒவ்வொரு அசெம்பிளிக்கும் சுத்தமான பணியிடம் உள்ளது, மேலும் அழைக்கவும் flappybuild ஃபாஸ்ட்லேன், மேலே பார்த்தபடி. இதன் விளைவாக, TestFlight இல் சமீபத்திய அசெம்பிளியின் அசெம்பிளி, கையொப்பம் மற்றும் வரிசைப்படுத்தல் ஆகியவற்றைப் பெறுகிறோம்.

நாங்கள் கலைப்பொருளைப் பெற்று அதை சட்டசபையுடன் சேமிக்கிறோம். வடிவம் என்பதை நினைவில் கொள்ளவும் .ipa சிமுலேட்டரில் இயங்காத கையொப்பமிடப்பட்ட ARM இயங்கக்கூடியது. சிமுலேட்டருக்கான வெளியீட்டை நீங்கள் விரும்பினால், அதை உருவாக்கும் உருவாக்க இலக்கைச் சேர்க்கவும், பின்னர் அதை கலைப்பொருள் பாதையில் சேர்க்கவும்.

பிற சூழல் மாறிகள்

எல்லாவற்றையும் செயல்பட வைக்கும் இரண்டு சூழல் மாறிகள் இங்கே உள்ளன.

FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD и FASTLANE_SESSION

ஆப் ஸ்டோரில் அங்கீகரிக்க மற்றும் TestFlight இல் பதிவேற்றம் செய்ய fastlaneக்கான அங்கீகாரம் தேவை. இதைச் செய்ய, CI இல் பயன்படுத்தப்படும் பயன்பாட்டிற்கான கடவுச்சொல்லை உருவாக்கவும். விவரங்கள் இங்கே.

உங்களிடம் இரண்டு காரணி அங்கீகாரம் இருந்தால், ஒரு மாறியை உருவாக்கவும் FASTLANE_SESSION (அங்குள்ள வழிமுறைகள்).

FASTLANE_USER и FASTLANE_PASSWORD

என்று சான்றிதழ் மற்றும் பெருமூச்சு கோரிக்கையின் பேரில் துவக்க சுயவிவரம் மற்றும் சான்றிதழ்கள் என அழைக்கப்படும், நீங்கள் மாறிகளை அமைக்க வேண்டும் FASTLANE_USER и FASTLANE_PASSWORD. விவரங்கள் இங்கே. நீங்கள் வேறு கையொப்பமிடும் முறையைப் பயன்படுத்தினால் இது தேவையில்லை.

முடிவில்

இது எவ்வாறு செயல்படுகிறது என்பதை நீங்கள் பார்க்கலாம் எனது எளிய உதாரணத்தில்.

GitLab திட்டத்தில் iOS பில்ட்களுடன் பணிபுரிய இது உங்களுக்கு உதவிகரமாகவும் உத்வேகமாகவும் இருந்தது என்று நம்புகிறேன். இதோ இன்னொன்று CI குறிப்புகள் ஃபாஸ்ட்லேனுக்கு, ஒரு சந்தர்ப்பத்தில். நீங்கள் பயன்படுத்த விரும்பலாம் CI_BUILD_ID (அதிகரிக்கும் கட்டிடங்களுக்கு) வேண்டும் தானாகவே அதிகரிக்கும் பதிப்பு.

ஃபாஸ்ட்லேனின் மற்றொரு அருமையான அம்சம் தானியங்கி திரைக்காட்சிகள் ஆப் ஸ்டோருக்கு, அமைக்க மிகவும் எளிதானது.

உங்கள் அனுபவத்தைப் பற்றிய கருத்துகளில் எங்களிடம் கூறுங்கள் மற்றும் iOS பயன்பாட்டு மேம்பாட்டிற்கான GitLab ஐ மேம்படுத்துவதற்கான உங்கள் யோசனைகளைப் பகிரவும்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்