የiOS መተግበሪያዎችን በ GitLab እና fastlane ወደ App Store በማተም ላይ

የiOS መተግበሪያዎችን በ GitLab እና fastlane ወደ App Store በማተም ላይ

GitLab with fastlane እንዴት የiOS መተግበሪያዎችን በApp Store እንደሚሰበስብ፣ እንደሚልክ እና እንደሚያትም።

በቅርቡ ነበርን። አንድሮይድ መተግበሪያን እንዴት በፍጥነት መገንባት እና ማስኬድ እንደሚቻል ላይ ጽሑፍ በ GitLab እና ፈጣን መስመር. እዚህ የ iOS መተግበሪያን እንዴት መገንባት እና ማስኬድ እና ወደ TestFlight እንደሚያትመው እናያለን። ምን ያህል ጥሩ እንደሆነ ይመልከቱ በ GitLab Web IDE በ iPad Pro ላይ ለውጥ አደርጋለሁ, ግንባታውን ወስጄ የመተግበሪያውን የሙከራ ስሪት ባዘጋጀሁበት ተመሳሳይ iPad Pro ላይ አሻሽላለሁ።

እዚህ እንወስዳለን ቀላል የ iOS መተግበሪያ በስዊፍት ውስጥቪዲዮውን የቀዳሁት.

ስለ አፕል ማከማቻ ውቅር ጥቂት ቃላት

ሁሉንም ነገር አንድ ላይ ለማያያዝ በApp Store ውስጥ መተግበሪያ፣ የስርጭት ሰርተፊኬቶች እና የአቅርቦት መገለጫ እንፈልጋለን።

እዚህ በጣም አስቸጋሪው ነገር በመተግበሪያ መደብር ውስጥ የመፈረም ፈቃዶችን ማዘጋጀት ነው። ይህንን ለራስዎ ማወቅ እንደሚችሉ ተስፋ አደርጋለሁ. አዲስ ከሆንክ፣ ወደ ትክክለኛው አቅጣጫ እጠቁማለሁ፣ ግን እዚህ ስለ አፕል ሰርተፊኬቶች ስለማስተዳደር ውስብስብነት አንነጋገርም እና እነሱ በየጊዜው እየተለወጡ ናቸው። ይህ ልጥፍ እንዲጀምሩ ይረዳዎታል።

የእኔ መተግበሪያዎች

ለማዋቀር መታወቂያ እንዲኖርዎት በApp Store Connect ውስጥ መተግበሪያ ያስፈልገዎታል .xcodebuild. የመተግበሪያው መገለጫ እና መታወቂያ ኮድ ግንባታዎች፣ ዋጋ አወጣጥ እና ተገኝነት እና የሙከራ መተግበሪያዎችን ለተጠቃሚዎች ለማሰራጨት የTestFlight ውቅር ያጣምራል። ህዝባዊ ሙከራዎችን አታድርጉ, ትንሽ ቡድን ካላችሁ, ቀላል ማዋቀር እና ከአፕል ተጨማሪ ፍቃዶችን ካልፈለጉ የግል ሙከራ በቂ ነው.

ፕሮፋይል ማቅረብ

ከመተግበሪያው ማዋቀር በተጨማሪ በአፕል ገንቢ ኮንሶል ውስጥ የምስክር ወረቀቶች፣ መለያዎች እና መገለጫዎች ክፍል ውስጥ የተፈጠሩትን የiOS ስርጭት እና ማዳበር ቁልፎች ያስፈልግዎታል። እነዚህ ሁሉ የምስክር ወረቀቶች በአቅርቦት መገለጫ ውስጥ ሊጣመሩ ይችላሉ።

የተረጋገጡ ተጠቃሚዎች የምስክር ወረቀቶችን የመፍጠር ችሎታ ያስፈልጋቸዋል, አለበለዚያ ደረጃዎች ማረጋገጫ እና ማልቀስ ስህተት ታያለህ።

ሌሎች አማራጮች

ከዚህ ቀላል ዘዴ በተጨማሪ የምስክር ወረቀቶችን እና መገለጫዎችን ለማዘጋጀት ሌሎች መንገዶችም አሉ. ስለዚህ፣ በተለየ መንገድ የምትሠራ ከሆነ፣ ማስተካከል ይኖርብሃል። ከሁሉም በላይ, ማዋቀር ያስፈልግዎታል .xcodebuild, ይህም አስፈላጊ የሆኑትን ፋይሎች ይጠቁማል, እና የቁልፍ ሰንሰለት ሯጩ ለሚሰራው ተጠቃሚ በግንባታ ኮምፒተር ላይ መገኘት አለበት. ለዲጂታል ፊርማ ፈጣንሌን እንጠቀማለን፣ እና ችግሮች ካጋጠሙዎት ወይም የበለጠ ለማወቅ ከፈለጉ ዝርዝራቸውን ይመልከቱ ዲጂታል ፊርማ ሰነዶች.

በዚህ ምሳሌ ውስጥ አቀራረቡን እየተጠቀምኩ ነው ማረጋገጫ እና ማልቀስ, ግን ለትክክለኛ አጠቃቀም, ምናልባት የተሻለ ተስማሚ ነው ግጥሚያ.

GitLab እና fastlane በማዘጋጀት ላይ

CI Runner በማዘጋጀት ላይ

እነዚህን ሁሉ መረጃዎች ከሰበሰብን በኋላ፣ በ MacOS መሣሪያ ላይ ወደ GitLab ሯጭ ውቅር እንቀጥላለን። እንደ አለመታደል ሆኖ የ iOS መተግበሪያዎችን መስራት የሚቻለው በ MacOS ላይ ብቻ ነው። ነገር ግን ሁሉም ነገር ሊለወጥ ይችላል, እና በዚህ አካባቢ እድገትን እየጠበቁ ከሆነ, እንደ ፕሮጀክቶችን ይከተሉ xcbuild и ንድፍእና የእኛ ውስጣዊ ተግባር gitlab-ce # 57576.

ሯጩን ማዘጋጀት በጣም ቀላል ነው. ወቅታዊውን ይከታተሉ GitLab Runner በ macOS ላይ ለማዋቀር መመሪያዎች.

ማስታወሻ. ሯጩ የማስፈጸሚያ ፕሮግራም መጠቀም አለበት። shell. ይህ በማክሮስ ላይ 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 መገንባት የሚያስፈልጋቸውን ቁልፎችን ማግኘት አለበት። ይህንን ለመፈተሽ ቀላሉ መንገድ ግንባታውን እንደሚያካሂድ እና በእጅ ለመገንባት እንደ ተጠቃሚ መግባት ነው። ስርዓቱ የቁልፍ ሰንሰለት መዳረሻ ከጠየቀ CI እንዲሰራ "ሁልጊዜ ፍቀድ" የሚለውን ይምረጡ። ከአሁን በኋላ የቁልፍ ሰንሰለት እንደማይጠይቁ ለማረጋገጥ የመጀመሪያዎቹን የቧንቧ መስመሮች ገብተው መመልከት ጠቃሚ ሊሆን ይችላል። ችግሩ አፕል በአውቶማቲክ ሁነታ እንድንሰራ ቀላል አያደርግልንም, ነገር ግን ሲያዋቅሩት, ሁሉም ነገር ጥሩ ይሆናል.

fastlane init

በፕሮጀክት ውስጥ fastlane ለመጠቀም፣ አሂድ fastlane init. ብቻ ተከተል Fastlane ን ለመጫን እና ለማሄድ መመሪያዎችበተለይም በክፍል ውስጥ gemfile, ምክንያቱም ፈጣን እና ሊተነበይ የሚችል ጅምር በአውቶማቲክ CI ቧንቧ መስመር በኩል ያስፈልገናል.

በፕሮጀክት ማውጫ ውስጥ እነዚህን ትዕዛዞች ያሂዱ፡-

xcode-select --install
sudo gem install fastlane -NV
# Alternatively using Homebrew
# brew cask install fastlane
fastlane init

fastlane መሰረታዊ ውቅረትን ይጠይቃል እና በፕሮጀክቱ ውስጥ የፈጣን ፎልደር ከሶስት ፋይሎች ጋር ይፈጥራል፡

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 የግንባታ ደረጃዎችን ይገልጻል. እኛ ብዙ የ 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

Все отлично! እንደአስፈላጊነቱ የ UTF-8 ቅርጸት ለ fastlane አዘጋጅተናል, ስልቱን እንጠቀማለን clone ከአስፈፃሚ ፕሮግራም ጋር shellለእያንዳንዱ ግንባታ ንጹህ የመስሪያ ቦታ እንዲኖረን እና ልክ ይደውሉ flappybuild fastlane ከላይ እንደሚታየው. በውጤቱም፣ በTestFlight ውስጥ የቅርብ ጊዜውን ስብሰባ፣ ፊርማ እና ማሰማራትን እናገኛለን።

እንዲሁም አንድ ቅርስ አግኝተን ከጉባኤው ጋር እናስቀምጠዋለን። ቅርጸቱን ልብ ይበሉ .ipa በሲሙሌተሩ ውስጥ የማይሰራ የተፈረመ ARM ፈጻሚ ነው። የሲሙሌተር ውፅዓት ከፈለጋችሁ የሚያመነጨውን የግንባታ ኢላማ ጨምሩ እና ከዛም በአርቲፊክ ዱካ ውስጥ ያካትቱት።

ሌሎች የአካባቢ ተለዋዋጮች

ሁሉም ነገር የሚሰራባቸው ሁለት የአካባቢ ተለዋዋጮች እዚህ አሉ።

FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD и FASTLANE_SESSION

ወደ አፕ ስቶር ለማረጋገጥ እና ወደ TestFlight ለመስቀል የፈጣን አውሮፕላን ማረጋገጫ ያስፈልግዎታል። ይህንን ለማድረግ በCI ውስጥ ጥቅም ላይ የሚውል የመተግበሪያ ይለፍ ቃል ይፍጠሩ። ዝርዝሮች እዚህ.

ባለ ሁለት ደረጃ ማረጋገጫ ካለህ ተለዋዋጭ ፍጠር FASTLANE_SESSION (እዚያ መመሪያዎች)።

FASTLANE_USER и FASTLANE_PASSWORD

ማረጋገጫ እና ማልቀስ የመነሻ መገለጫ እና የምስክር ወረቀቶች ሲጠየቁ ፣ ተለዋዋጮችን ማዘጋጀት ያስፈልግዎታል FASTLANE_USER и FASTLANE_PASSWORD. ዝርዝሮች እዚህ. የተለየ የመፈረሚያ ዘዴ እየተጠቀሙ ከሆነ ይህ አያስፈልግም።

በማጠቃለያው

ሁሉም እንዴት እንደሚሰራ ማየት ይችላሉ በቀላል ምሳሌዬ.

ይህ አጋዥ እንደሆነ ተስፋ አደርጋለሁ እና በ GitLab ፕሮጀክት ውስጥ ከiOS ግንባታዎች ጋር እንድትሰራ አነሳስሃለሁ። እዚህ ሌላ ነው። CI ምክሮች ለ fastlane, ልክ እንደዚያ ከሆነ. ምናልባት መጠቀም ትፈልጋለህ CI_BUILD_ID (ለተጨማሪ ግንባታዎች) ወደ ራስ-ሰር ጭማሪ ስሪት.

የ fastlane ሌላ ጥሩ ባህሪ ነው። ራስ-ሰር ቅጽበታዊ ገጽ እይታዎች ለማዋቀር በጣም ቀላል ለሆኑት ለ App Store.

በአስተያየቶቹ ውስጥ ስላሎት ልምድ ይንገሩን እና GitLabን ለiOS መተግበሪያ ልማት ለማሻሻል ሀሳቦችን ያካፍሉ።

ምንጭ: hab.com

አስተያየት ያክሉ