GitLab మరియు ఫాస్ట్‌లేన్‌తో యాప్ స్టోర్‌లో iOS అప్లికేషన్‌లను ప్రచురించడం

GitLab మరియు ఫాస్ట్‌లేన్‌తో యాప్ స్టోర్‌లో iOS అప్లికేషన్‌లను ప్రచురించడం

ఫాస్ట్‌లేన్‌తో GitLab ఎలా యాప్ స్టోర్‌లో iOS అప్లికేషన్‌లను సేకరిస్తుంది, సంతకం చేస్తుంది మరియు ప్రచురిస్తుంది.

మేము ఇటీవల కలిగి Android అప్లికేషన్‌ను త్వరగా ఎలా నిర్మించాలి మరియు అమలు చేయాలి అనే దాని గురించి పోస్ట్ చేయండి GitLab తో మరియు fastlane. ఇక్కడ మేము iOS యాప్‌ని ఎలా నిర్మించాలో మరియు అమలు చేయాలో చూద్దాం మరియు దానిని TestFlightలో ఎలా ప్రచురించాలో చూద్దాం. ఇది ఎంత బాగుంది అని తనిఖీ చేయండి నేను GitLab వెబ్ IDEతో ఐప్యాడ్ ప్రోలో మార్పు చేస్తున్నాను, నేను అసెంబ్లీని తీసుకుంటాను మరియు నేను దానిని డెవలప్ చేసిన అదే iPad Proలో అప్లికేషన్ యొక్క టెస్ట్ వెర్షన్‌కి నవీకరణను పొందుతాను.

ఇక్కడ మేము తీసుకుంటాము స్విఫ్ట్‌లో సాధారణ iOS యాప్, నేను వీరితో వీడియో రికార్డ్ చేసాను.

Apple స్టోర్ కాన్ఫిగరేషన్ గురించి కొన్ని మాటలు

అన్నింటినీ కలిపి ఉంచడానికి మాకు యాప్ స్టోర్ యాప్, పంపిణీ ప్రమాణపత్రాలు మరియు ప్రొవిజనింగ్ ప్రొఫైల్ అవసరం.

యాప్ స్టోర్‌లో సంతకం చేసే హక్కులను సెటప్ చేయడం ఇక్కడ చాలా కష్టమైన విషయం. మీరు దీన్ని మీ కోసం గుర్తించగలరని నేను ఆశిస్తున్నాను. మీరు కొత్తవారైతే, నేను మిమ్మల్ని సరైన దిశలో చూపుతాను, కానీ మేము ఇక్కడ Apple సర్టిఫికేట్‌లను నిర్వహించడంలో ఉన్న చిక్కుల గురించి మాట్లాడము మరియు అవి నిరంతరం మారుతూ ఉంటాయి. ప్రారంభించడానికి ఈ పోస్ట్ మీకు సహాయం చేస్తుంది.

నా యాప్‌లు

మీకు యాప్ స్టోర్ కనెక్ట్‌లో యాప్ అవసరం కాబట్టి మీకు కాన్ఫిగరేషన్ కోసం ID ఉంటుంది .xcodebuild. ప్రొఫైల్ మరియు అప్లికేషన్ ID వినియోగదారులకు టెస్ట్ అప్లికేషన్‌లను పంపిణీ చేయడానికి కోడ్ బిల్డ్‌లు, ధర మరియు లభ్యత మరియు టెస్ట్‌ఫ్లైట్ కాన్ఫిగరేషన్‌ను మిళితం చేస్తాయి. పబ్లిక్ టెస్టింగ్ చేయవద్దు, మీకు చిన్న సమూహం, సులభమైన సెటప్ ఉంటే ప్రైవేట్ టెస్టింగ్ సరిపోతుంది మరియు Apple నుండి అదనపు అనుమతులు అవసరం లేదు.

ప్రారంభ ప్రొఫైల్

యాప్ సెటప్‌తో పాటు, మీకు Apple డెవలపర్ కన్సోల్‌లోని సర్టిఫికెట్‌లు, ఐడెంటిఫైయర్‌లు & ప్రొఫైల్‌ల విభాగంలో సృష్టించబడిన iOS పంపిణీ మరియు అభివృద్ధి కీలు అవసరం. ఈ సర్టిఫికెట్‌లన్నింటినీ ప్రొవిజనింగ్ ప్రొఫైల్‌గా కలపవచ్చు.

ప్రమాణీకరించబడే వినియోగదారులు ప్రమాణపత్రాలను సృష్టించగలగాలి, లేకపోతే దశలు సర్ట్ మరియు నిట్టూర్పు మీరు ఒక దోషాన్ని చూస్తారు.

ఇతర ఎంపికలు

ఈ సాధారణ పద్ధతితో పాటు, ధృవపత్రాలు మరియు ప్రొఫైల్‌లను కాన్ఫిగర్ చేయడానికి ఇతర మార్గాలు ఉన్నాయి. కాబట్టి, మీరు భిన్నంగా పని చేస్తే, మీరు స్వీకరించవలసి ఉంటుంది. అతి ముఖ్యమైన విషయం ఏమిటంటే మీకు కాన్ఫిగరేషన్ అవసరం .xcodebuild, ఇది అవసరమైన ఫైల్‌లను సూచిస్తుంది మరియు రన్నర్ రన్నర్ పేరుతో ఉన్న వినియోగదారు కోసం బిల్డ్ కంప్యూటర్‌లో కీచైన్ తప్పనిసరిగా అందుబాటులో ఉండాలి. డిజిటల్ సంతకం కోసం మేము ఫాస్ట్‌లేన్‌ని ఉపయోగిస్తాము మరియు సమస్యలు ఉంటే లేదా మీరు మరింత తెలుసుకోవాలనుకుంటే, వాటి వివరాలను తనిఖీ చేయండి డిజిటల్ సంతకాల గురించి డాక్యుమెంటేషన్.

ఈ ఉదాహరణలో నేను విధానాన్ని ఉపయోగిస్తున్నాను సర్ట్ మరియు నిట్టూర్పు, కానీ నిజమైన ఉపయోగం కోసం ఇది బహుశా బాగా సరిపోతుంది మ్యాచ్.

GitLab మరియు ఫాస్ట్‌లేన్‌ని సిద్ధం చేస్తోంది

CI రన్నర్ సిద్ధమౌతోంది

ఈ మొత్తం డేటాను సేకరించిన తర్వాత, మేము MacOS పరికరంలో GitLab రన్నర్ యొక్క కాన్ఫిగరేషన్‌కు వెళ్తాము. దురదృష్టవశాత్తూ, మీరు MacOSలో మాత్రమే iOS యాప్‌లను తయారు చేయగలరు. కానీ ప్రతిదీ మారవచ్చు మరియు మీరు ఈ ప్రాంతంలో పురోగతిని ఆశించినట్లయితే, వంటి ప్రాజెక్టులపై ఒక కన్ను వేసి ఉంచండి xcbuild и సంకేతం, మరియు మా అంతర్గత పని gitlab-ce#57576.

రన్నర్‌ను సెటప్ చేయడం చాలా సులభం. కరెంట్‌ని అనుసరించండి MacOSలో GitLab రన్నర్‌ని సెటప్ చేయడానికి సూచనలు.

గమనిక. రన్నర్ తప్పనిసరిగా ఎక్జిక్యూటబుల్ ప్రోగ్రామ్‌ను ఉపయోగించాలి 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. కేవలం అనుసరించండి ఫాస్ట్‌లేన్‌ను ఇన్‌స్టాల్ చేయడానికి మరియు అమలు చేయడానికి సూచనలు, ముఖ్యంగా గురించి విభాగంలో జెమ్‌ఫైల్, ఎందుకంటే మనకు ఆటోమేటెడ్ CI పైప్‌లైన్ ద్వారా వేగవంతమైన మరియు ఊహాజనిత ప్రయోగం అవసరం.

మీ ప్రాజెక్ట్ డైరెక్టరీలో, ఈ ఆదేశాలను అమలు చేయండి:

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

అన్నింటికీ! మేము అవసరమైన విధంగా ఫాస్ట్‌లేన్ కోసం ఫార్మాట్‌ను UTF-8కి సెట్ చేసాము, వ్యూహాన్ని ఉపయోగించండి 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 చిట్కాలు ఫాస్ట్‌లేన్ కోసం, కేవలం సందర్భంలో. మీరు ఉపయోగించాలనుకోవచ్చు CI_BUILD_ID (పెరుగుతున్న నిర్మాణాల కోసం) కు స్వయంచాలకంగా ఇంక్రిమెంట్ వెర్షన్.

ఫాస్ట్‌లేన్ యొక్క మరొక అద్భుతమైన లక్షణం ఆటోమేటిక్ స్క్రీన్‌షాట్‌లు యాప్ స్టోర్ కోసం, సెటప్ చేయడం చాలా సులభం.

మీ అనుభవం గురించి వ్యాఖ్యలలో మాకు చెప్పండి మరియు iOS యాప్ డెవలప్‌మెంట్ కోసం GitLabని మెరుగుపరచడం కోసం మీ ఆలోచనలను పంచుకోండి.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి