ఫాస్ట్లేన్తో GitLab ఎలా యాప్ స్టోర్లో iOS అప్లికేషన్లను సేకరిస్తుంది, సంతకం చేస్తుంది మరియు ప్రచురిస్తుంది.
మేము ఇటీవల కలిగి
ఇక్కడ మేము తీసుకుంటాము
Apple స్టోర్ కాన్ఫిగరేషన్ గురించి కొన్ని మాటలు
అన్నింటినీ కలిపి ఉంచడానికి మాకు యాప్ స్టోర్ యాప్, పంపిణీ ప్రమాణపత్రాలు మరియు ప్రొవిజనింగ్ ప్రొఫైల్ అవసరం.
యాప్ స్టోర్లో సంతకం చేసే హక్కులను సెటప్ చేయడం ఇక్కడ చాలా కష్టమైన విషయం. మీరు దీన్ని మీ కోసం గుర్తించగలరని నేను ఆశిస్తున్నాను. మీరు కొత్తవారైతే, నేను మిమ్మల్ని సరైన దిశలో చూపుతాను, కానీ మేము ఇక్కడ Apple సర్టిఫికేట్లను నిర్వహించడంలో ఉన్న చిక్కుల గురించి మాట్లాడము మరియు అవి నిరంతరం మారుతూ ఉంటాయి. ప్రారంభించడానికి ఈ పోస్ట్ మీకు సహాయం చేస్తుంది.
నా యాప్లు
మీకు యాప్ స్టోర్ కనెక్ట్లో యాప్ అవసరం కాబట్టి మీకు కాన్ఫిగరేషన్ కోసం ID ఉంటుంది .xcodebuild
. ప్రొఫైల్ మరియు అప్లికేషన్ ID వినియోగదారులకు టెస్ట్ అప్లికేషన్లను పంపిణీ చేయడానికి కోడ్ బిల్డ్లు, ధర మరియు లభ్యత మరియు టెస్ట్ఫ్లైట్ కాన్ఫిగరేషన్ను మిళితం చేస్తాయి. పబ్లిక్ టెస్టింగ్ చేయవద్దు, మీకు చిన్న సమూహం, సులభమైన సెటప్ ఉంటే ప్రైవేట్ టెస్టింగ్ సరిపోతుంది మరియు Apple నుండి అదనపు అనుమతులు అవసరం లేదు.
ప్రారంభ ప్రొఫైల్
యాప్ సెటప్తో పాటు, మీకు Apple డెవలపర్ కన్సోల్లోని సర్టిఫికెట్లు, ఐడెంటిఫైయర్లు & ప్రొఫైల్ల విభాగంలో సృష్టించబడిన iOS పంపిణీ మరియు అభివృద్ధి కీలు అవసరం. ఈ సర్టిఫికెట్లన్నింటినీ ప్రొవిజనింగ్ ప్రొఫైల్గా కలపవచ్చు.
ప్రమాణీకరించబడే వినియోగదారులు ప్రమాణపత్రాలను సృష్టించగలగాలి, లేకపోతే దశలు
ఇతర ఎంపికలు
ఈ సాధారణ పద్ధతితో పాటు, ధృవపత్రాలు మరియు ప్రొఫైల్లను కాన్ఫిగర్ చేయడానికి ఇతర మార్గాలు ఉన్నాయి. కాబట్టి, మీరు భిన్నంగా పని చేస్తే, మీరు స్వీకరించవలసి ఉంటుంది. అతి ముఖ్యమైన విషయం ఏమిటంటే మీకు కాన్ఫిగరేషన్ అవసరం .xcodebuild
, ఇది అవసరమైన ఫైల్లను సూచిస్తుంది మరియు రన్నర్ రన్నర్ పేరుతో ఉన్న వినియోగదారు కోసం బిల్డ్ కంప్యూటర్లో కీచైన్ తప్పనిసరిగా అందుబాటులో ఉండాలి. డిజిటల్ సంతకం కోసం మేము ఫాస్ట్లేన్ని ఉపయోగిస్తాము మరియు సమస్యలు ఉంటే లేదా మీరు మరింత తెలుసుకోవాలనుకుంటే, వాటి వివరాలను తనిఖీ చేయండి
ఈ ఉదాహరణలో నేను విధానాన్ని ఉపయోగిస్తున్నాను
GitLab మరియు ఫాస్ట్లేన్ని సిద్ధం చేస్తోంది
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 కీచైన్ తప్పనిసరిగా ఈ హోస్ట్లో కాన్ఫిగర్ చేయబడాలి. దీన్ని పరీక్షించడానికి సులభమైన మార్గం ఏమిటంటే, బిల్డ్ను అమలు చేసే వినియోగదారుగా లాగిన్ చేయడం మరియు దానిని మాన్యువల్గా నిర్మించడానికి ప్రయత్నించడం. సిస్టమ్ కీచైన్ యాక్సెస్ కోసం అడిగితే, CI పని చేయడానికి ఎల్లప్పుడూ అనుమతించు ఎంచుకోండి. వారు ఇకపై కీచైన్ కోసం అడగకుండా చూసుకోవడానికి మొదటి రెండు పైప్లైన్లను చూడటం విలువైనదే కావచ్చు. సమస్య ఏమిటంటే, యాపిల్ మాకు ఆటో మోడ్ని ఉపయోగించడం సులభం చేయదు, కానీ మీరు దాన్ని ప్రారంభించిన తర్వాత, అంతా బాగానే ఉంటుంది.
ఫాస్ట్లేన్ init
ప్రాజెక్ట్లో ఫాస్ట్లేన్ని ఉపయోగించడానికి, అమలు చేయండి fastlane init
. కేవలం అనుసరించండి
మీ ప్రాజెక్ట్ డైరెక్టరీలో, ఈ ఆదేశాలను అమలు చేయండి:
xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init
ఫాస్ట్లేన్ ప్రాథమిక కాన్ఫిగరేషన్ కోసం అడుగుతుంది మరియు మూడు ఫైల్లతో ప్రాజెక్ట్లో ఫాస్ట్లేన్ ఫోల్డర్ను సృష్టిస్తుంది:
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
నిర్మాణ దశలను నిర్వచిస్తుంది. మేము ఫాస్ట్లేన్ యొక్క అంతర్నిర్మిత లక్షణాలను చాలా ఉపయోగిస్తాము, కాబట్టి ఇక్కడ కూడా ప్రతిదీ స్పష్టంగా ఉంటుంది. మేము సర్టిఫికేట్లను స్వీకరించే ఒక లైన్ని సృష్టిస్తాము, అసెంబ్లీని నిర్వహిస్తాము మరియు దానిని 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
యాప్ స్టోర్లో ప్రామాణీకరించడానికి మరియు టెస్ట్ఫ్లైట్కి అప్లోడ్ చేయడానికి ఫాస్ట్లేన్ కోసం ప్రమాణీకరణ అవసరం. దీన్ని చేయడానికి, CIలో ఉపయోగించబడే అప్లికేషన్ కోసం పాస్వర్డ్ను సృష్టించండి. వివరాలు
మీకు రెండు-కారకాల ప్రమాణీకరణ ఉంటే, వేరియబుల్ను సృష్టించండి FASTLANE_SESSION
(అక్కడ సూచనలు).
FASTLANE_USER
и FASTLANE_PASSWORD
ఆ FASTLANE_USER
и FASTLANE_PASSWORD
. వివరాలు
ముగింపులో
అవన్నీ ఎలా పనిచేస్తాయో మీరు చూడవచ్చు
GitLab ప్రాజెక్ట్లో iOS బిల్డ్లతో పని చేయడానికి ఇది మీకు సహాయకారిగా మరియు ప్రేరణనిస్తుందని నేను ఆశిస్తున్నాను. ఇక్కడ మరొకటి ఉంది CI_BUILD_ID
(పెరుగుతున్న నిర్మాణాల కోసం) కు
ఫాస్ట్లేన్ యొక్క మరొక అద్భుతమైన లక్షణం
మీ అనుభవం గురించి వ్యాఖ్యలలో మాకు చెప్పండి మరియు iOS యాప్ డెవలప్మెంట్ కోసం GitLabని మెరుగుపరచడం కోసం మీ ఆలోచనలను పంచుకోండి.
మూలం: www.habr.com