AppCenter እና GitLab ውህደት

ይሞክሩ ፣ ሰላም!

በ BitBucket በኩል የ GitLab እና AppCenter ውህደትን በማዘጋጀት ላይ ስላለኝ ልምድ ማውራት እፈልጋለሁ።

በ Xamarin ላይ ላለው የመድረክ-አቋራጭ ፕሮጀክት የUI ሙከራዎችን በራስ ሰር ማስጀመር ሲያዘጋጅ የዚህ አይነት ውህደት አስፈላጊነት ተነስቷል። ከቁርጡ በታች ዝርዝር አጋዥ ስልጠና!

* ህዝቡ ፍላጎት ካለው የUI ሙከራን በፕላትፎርም ሁኔታዎች ውስጥ በራስ ሰር ስለማስኬድ የተለየ መጣጥፍ አደርጋለሁ።

አንድ እንደዚህ ያለ ቁሳቁስ ብቻ ቆፍሬያለሁ ጽሑፍ. ስለዚህ, የእኔ ጽሑፍ አንድ ሰው ሊረዳው ይችላል.

ዓላማቡድናችን GitLabን እንደ የስሪት ቁጥጥር ስርዓት ስለሚጠቀም በAppCenter ላይ የUI ሙከራዎችን በራስ ሰር ማስጀመርን ያዋቅሩ።

ችግር AppCenter ከ GitLab ጋር በቀጥታ እንደማይዋሃድ ታወቀ። በ BitBucket በኩል ማለፍ እንደ አንዱ መፍትሔ ተመርጧል።

እርምጃዎች

1. በ BitBucket ላይ ባዶ ማከማቻ ይፍጠሩ

ይህንን በበለጠ ዝርዝር መግለጽ አስፈላጊ እንደሆነ አይታየኝም :)

2. GitLab በማዘጋጀት ላይ

ወደ ማከማቻው ሲገፉ/ሲዋሃዱ፣ ለውጦች ወደ BitBucket ጭምር እንዲሰቀሉ እንፈልጋለን። ይህንን ለማድረግ ሯጭ ያክሉ (ወይም ያለውን .gitlab-ci.yml ፋይል ያርትዑ)።

በመጀመሪያ ትዕዛዞችን ወደ በፊት_ስክሪፕቶች ክፍል እንጨምራለን

 - git config --global user.email "user@email"
 - git config --global user.name "username"

ከዚያ የሚከተለውን ትዕዛዝ ወደሚፈለገው ደረጃ ያክሉ።

- git push --mirror https://username:[email protected]/username/projectname.git

በእኔ ሁኔታ፣ ያገኘሁት ፋይል ይህ ነው፡-

before_script:
 - git config --global user.email "user@email"
 - git config --global user.name "username"

stages:
  - mirror
mirror:
  stage: mirror
  script:
    - git push --mirror https://****:*****@bitbucket.org/****/testapp.git

ግንባታውን እንጀምራለን፣ ለውጦቻችን/ፋይሎቻችን በ BitBucket ላይ መሆናቸውን ያረጋግጡ።
* እንደ ልምምድ እንደሚያሳየው የኤስኤስኤች ቁልፎችን ማዘጋጀት አማራጭ ነው. ግን፣ እንደዚያ ከሆነ፣ ከዚህ በታች በኤስኤስኤች በኩል ግንኙነት ለማቀናበር ስልተ ቀመር አቀርባለሁ።

በኤስኤስኤች በኩል ግንኙነት

በመጀመሪያ የኤስኤስኤች ቁልፍ መፍጠር ያስፈልግዎታል. ስለዚህ ጉዳይ ብዙ ጽሑፎች ተጽፈዋል። ለምሳሌ, መመልከት ይችላሉ እዚህ.
የተፈጠሩት ቁልፎች ይህን ይመስላል።
AppCenter እና GitLab ውህደት

ከዚህ በላይ የምስጢር ቁልፍ ወደ GitLab እንደ ተለዋዋጭ መጨመር ያስፈልገዋል. ይህንን ለማድረግ ወደ Settings> CI/CD> Environment Variables ይሂዱ። የሚስጥር ቁልፉን ያስቀመጥክበትን የፋይል ይዘቶች ሁሉ አክል ተለዋዋጭውን SSH_PRIVATE_KEY እንጥራው።
* ይህ ፋይል ከወል ቁልፍ ፋይል በተለየ መልኩ ቅጥያ አይኖረውም።
AppCenter እና GitLab ውህደት

በጣም ጥሩ፣ በመቀጠል የህዝብ ቁልፉን ወደ BitBucket ማከል ያስፈልግዎታል። ይህንን ለማድረግ ማከማቻውን ይክፈቱ እና ወደ ቅንብሮች> የመዳረሻ ቁልፎች ይሂዱ።

AppCenter እና GitLab ውህደት

እዚህ ላይ አክል ቁልፍን ጠቅ እናደርጋለን እና የፋይሉን ይዘቶች በአደባባይ ቁልፍ (ፋይል ከቅጥያ .pub) ጋር እናስገባለን።

የሚቀጥለው እርምጃ በ gitlab-runner ውስጥ ያሉትን ቁልፎች መጠቀም ነው. እነዚህን ትዕዛዞች ተጠቀም፣ ነገር ግን ኮከቦችን በዝርዝሮችህ ይተኩ

image: timbru31/node-alpine-git:latest

stages:
  - mirror

before_script:
  - eval $(ssh-agent -s)
  - echo "$SSH_PRIVATE_KEY" | tr -d 'r' | ssh-add - > /dev/null
  - mkdir -p ~/.ssh
  - chmod 700 ~/.ssh
  - ssh-keyscan bitbucket.org >> ~/.ssh/known_hosts
  - chmod 644 ~/.ssh/known_hosts
  - git config --global user.email "*****@***"
  - git config --global user.name "****"
  - ssh -T [email protected]

mirror:
  stage: mirror
  script:
    - git push --mirror https://****:****@bitbucket.org/*****/*****.git

3. AppCenter ማዋቀር

በAppCenter ላይ አዲስ መተግበሪያ እንፈጥራለን።

AppCenter እና GitLab ውህደት

ቋንቋውን/መድረኩን ይግለጹ

AppCenter እና GitLab ውህደት

በመቀጠል ወደ አዲስ የተፈጠረ መተግበሪያ ግንባታ ክፍል ይሂዱ። እዚያም BitBucket እና በደረጃ 1 የተፈጠረውን ማከማቻ እንመርጣለን.

በጣም ጥሩ, አሁን ግንባታውን ማዋቀር ያስፈልገናል. ይህንን ለማድረግ የማርሽ አዶውን ያግኙ

AppCenter እና GitLab ውህደት

በመርህ ደረጃ, ሁሉም ነገር ሊታወቅ የሚችል ነው. ፕሮጀክት እና ውቅር ይምረጡ። አስፈላጊ ከሆነ ከግንባታው በኋላ የፈተናዎችን መጀመር ያንቁ። እነሱ በራስ-ሰር ይጀምራሉ.

በመሠረቱ ያ ብቻ ነው። ቀላል ይመስላል, ነገር ግን, በተፈጥሮ, ሁሉም ነገር ያለችግር አይሄድም. ስለዚህ፣ በምሰራበት ጊዜ ያጋጠሙኝን አንዳንድ ስህተቶች እገልጻለሁ፡-

'ssh-keygen' እንደ ውስጣዊም ሆነ ውጫዊ ትዕዛዝ አልታወቀም።

ወደ ssh-keygen.exe የሚወስደው መንገድ ወደ አካባቢው ተለዋዋጮች ስላልተጨመረ ነው።
ሁለት አማራጮች አሉ፡ C: Program FilesGitusrbin ን ወደ አካባቢ ተለዋዋጮች (ማሽኑን ዳግም ካስነሳ በኋላ ይተገበራል) ወይም ኮንሶሉን ከዚህ ማውጫ ያስጀምሩት።

AppCenter ከተሳሳተ BitBucket መለያ ጋር ተገናኝቷል?

ችግሩን ለመፍታት የ BitBucket መለያዎን ከAppCenter ማቋረጥ ያስፈልግዎታል። ወደ የተሳሳተ የ BitBucket መለያ ገብተን ወደ የተጠቃሚ መገለጫ እንሄዳለን።

AppCenter እና GitLab ውህደት

በመቀጠል ወደ ቅንብሮች > የመዳረሻ አስተዳደር > OAuth ይሂዱ

AppCenter እና GitLab ውህደት

የመለያዎን ግንኙነት ለማቋረጥ ሻረ የሚለውን ጠቅ ያድርጉ።

AppCenter እና GitLab ውህደት

ከዚህ በኋላ, በሚፈለገው የ BitBucket መለያ መግባት አለብዎት.
* እንደ የመጨረሻ አማራጭ፣ እንዲሁም የአሳሽ መሸጎጫዎን ያጽዱ።

አሁን ወደ AppCenter እንሂድ። ወደ ግንባታ ክፍል ይሂዱ ፣ የ BitBucket መለያን አቋርጥ የሚለውን ጠቅ ያድርጉ

AppCenter እና GitLab ውህደት

የድሮው መለያ ግንኙነት ሲቋረጥ፣ AppCenterን እንደገና እናገናኘዋለን። አሁን ወደሚፈለገው መለያ።

'eval' እንደ ውስጣዊ ወይም ውጫዊ ትዕዛዝ አይታወቅም

ከትእዛዝ ይልቅ እንጠቀማለን።

  - eval $(ssh-agent -s)

ቡድን፡

  - ssh-agent

በአንዳንድ አጋጣሚዎች ወደ C: Program FilesGitusrbinssh-agent.exe ሙሉውን መንገድ መግለጽ አለብዎት, ወይም ይህን ዱካ ሯጭ በሚሰራበት ማሽን ላይ ወደ የስርዓት ተለዋዋጮች ማከል አለብዎት.

AppCenter Build ጊዜው ካለፈበት የbitBucket ማከማቻ የፕሮጀክት ግንባታ ለመጀመር እየሞከረ ነው።

በእኔ ሁኔታ ችግሩ የተፈጠረው ከብዙ መለያዎች ጋር ስለምሰራ ነው። መሸጎጫውን ለማጽዳት ወሰንኩ.

ምንጭ: hab.com

አስተያየት ያክሉ