ஃபாஸ்ட்லேனுடன் கூடிய GitLab எவ்வாறு iOS பயன்பாடுகளை ஆப் ஸ்டோரில் சேகரிக்கிறது, கையொப்பமிடுகிறது மற்றும் வெளியிடுகிறது.
சமீபத்தில் எங்களிடம் இருந்தது
இங்கே நாம் எடுப்போம்
ஆப்பிள் ஸ்டோர் உள்ளமைவைப் பற்றி சில வார்த்தைகள்
எல்லாவற்றையும் ஒன்றாக இணைக்க, ஆப் ஸ்டோர் ஆப்ஸ், விநியோகச் சான்றிதழ்கள் மற்றும் வழங்கல் சுயவிவரம் எங்களுக்குத் தேவைப்படும்.
இங்கே மிகவும் கடினமான விஷயம் ஆப் ஸ்டோரில் கையொப்பமிடும் உரிமைகளை அமைப்பதாகும். இதை நீங்களே கண்டுபிடிக்க முடியும் என்று நம்புகிறேன். நீங்கள் புதியவராக இருந்தால், நான் உங்களை சரியான திசையில் சுட்டிக்காட்டுவேன், ஆனால் ஆப்பிள் சான்றிதழ்களை நிர்வகிப்பதற்கான சிக்கல்களைப் பற்றி நாங்கள் இங்கு பேச மாட்டோம், மேலும் அவை தொடர்ந்து மாறிக்கொண்டே இருக்கின்றன. தொடங்குவதற்கு இந்த இடுகை உங்களுக்கு உதவும்.
எனது பயன்பாடுகள்
ஆப் ஸ்டோர் இணைப்பில் உங்களுக்கு ஆப்ஸ் தேவை, அதனால் உள்ளமைவுக்கான ஐடி உங்களிடம் உள்ளது .xcodebuild
. சுயவிவரம் மற்றும் பயன்பாட்டு ஐடி ஆகியவை பயனர்களுக்கு சோதனை பயன்பாடுகளை விநியோகிப்பதற்கான குறியீடு உருவாக்கம், விலை மற்றும் கிடைக்கும் தன்மை மற்றும் TestFlight உள்ளமைவு ஆகியவற்றை ஒருங்கிணைக்கிறது. பொது சோதனை செய்ய வேண்டாம், உங்களிடம் சிறிய குழு, எளிமையான அமைப்பு இருந்தால், தனிப்பட்ட சோதனை போதுமானதாக இருக்கும், மேலும் Apple வழங்கும் கூடுதல் அனுமதிகள் தேவையில்லை.
துவக்க சுயவிவரம்
ஆப்ஸ் அமைப்பிற்கு கூடுதலாக, ஆப்பிள் டெவலப்பர் கன்சோலின் சான்றிதழ்கள், அடையாளங்காட்டிகள் மற்றும் சுயவிவரங்கள் பிரிவில் உருவாக்கப்பட்ட iOS விநியோகம் மற்றும் மேம்பாட்டு விசைகள் உங்களுக்குத் தேவை. இந்த சான்றிதழ்கள் அனைத்தும் ஒரு வழங்கல் சுயவிவரமாக இணைக்கப்படலாம்.
அங்கீகரிக்கப்படும் பயனர்கள் சான்றிதழ்களை உருவாக்க வேண்டும், இல்லையெனில் படிகள்
பிற விருப்பங்களை
இந்த எளிய முறையைத் தவிர, சான்றிதழ்கள் மற்றும் சுயவிவரங்களை உள்ளமைக்க வேறு வழிகள் உள்ளன. எனவே, நீங்கள் வித்தியாசமாக வேலை செய்தால், நீங்கள் மாற்றியமைக்க வேண்டியிருக்கும். மிக முக்கியமான விஷயம் என்னவென்றால், உங்களுக்கு கட்டமைப்பு தேவை .xcodebuild
, இது தேவையான கோப்புகளை சுட்டிக்காட்டும், மேலும் ரன்னர் யாருடைய பெயரில் இயங்குகிறதோ அந்த பயனருக்கான பில்ட் கம்ப்யூட்டரில் கீசெயின் இருக்க வேண்டும். டிஜிட்டல் கையொப்பத்திற்காக நாங்கள் ஃபாஸ்ட்லேனைப் பயன்படுத்துகிறோம், மேலும் சிக்கல்கள் இருந்தால் அல்லது நீங்கள் மேலும் அறிய விரும்பினால், அவற்றின் விவரங்களைப் பார்க்கவும்
இந்த எடுத்துக்காட்டில் நான் அணுகுமுறையைப் பயன்படுத்துகிறேன்
GitLab மற்றும் fastlane ஐ தயார்படுத்துகிறது
CI ரன்னர் தயார்
இந்தத் தரவு அனைத்தையும் சேகரித்த பிறகு, MacOS சாதனத்தில் GitLab ரன்னரின் உள்ளமைவுக்குச் செல்கிறோம். துரதிர்ஷ்டவசமாக, நீங்கள் MacOS இல் மட்டுமே iOS பயன்பாடுகளை உருவாக்க முடியும். ஆனால் எல்லாவற்றையும் மாற்றலாம், இந்த பகுதியில் நீங்கள் முன்னேற்றத்தை எதிர்பார்க்கிறீர்கள் என்றால், போன்ற திட்டங்களைக் கவனியுங்கள்
ரன்னர் அமைப்பது மிகவும் எளிது. மின்னோட்டத்தைப் பின்பற்றவும்
குறிப்பு. ரன்னர் ஒரு இயங்கக்கூடிய நிரலைப் பயன்படுத்த வேண்டும் 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
சரி! 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_BUILD_ID
(அதிகரிக்கும் கட்டிடங்களுக்கு) வேண்டும்
ஃபாஸ்ட்லேனின் மற்றொரு அருமையான அம்சம்
உங்கள் அனுபவத்தைப் பற்றிய கருத்துகளில் எங்களிடம் கூறுங்கள் மற்றும் iOS பயன்பாட்டு மேம்பாட்டிற்கான GitLab ஐ மேம்படுத்துவதற்கான உங்கள் யோசனைகளைப் பகிரவும்.
ஆதாரம்: www.habr.com