Tryam, halló!
Mig langar að tala um reynslu mína af því að setja upp GitLab og AppCenter samþættingu í gegnum BitBucket.
Þörfin fyrir slíka samþættingu kom upp þegar sett var upp sjálfvirka ræsingu á HÍ prófum fyrir þverpallaverkefni á Xamarin. Ítarleg kennslumynd fyrir neðan klippuna!
* Ég mun gera sérstaka grein um sjálfvirkan notendaviðmótsprófun við aðstæður á milli palla ef almenningur hefur áhuga.
Ég gróf bara upp eitt slíkt efni
Verkefni: Settu upp sjálfvirka ræsingu á HÍ prófum á AppCenter, í ljósi þess að teymið okkar notar GitLab sem útgáfustýringarkerfi.
vandamálið Það kom í ljós að AppCenter samþættist ekki beint við GitLab. Hjábraut í gegnum BitBucket var valin sem ein af lausnunum.
Skref
1. Búðu til tóma geymslu á BitBucket
Ég sé ekki þörf á að lýsa þessu nánar :)
2. Uppsetning GitLab
Við þurfum að þegar ýtt er/sameinað inn í geymsluna er breytingum einnig hlaðið upp á BitBucket. Til að gera þetta skaltu bæta við hlaupara (eða breyta núverandi .gitlab-ci.yml skrá).
Fyrst bætum við skipunum við before_scripts hlutann
- git config --global user.email "user@email"
- git config --global user.name "username"
Bættu síðan eftirfarandi skipun við æskilegt stig:
- git push --mirror https://username:[email protected]/username/projectname.git
Í mínu tilfelli er þetta skráin sem ég fékk:
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
Við ræsum bygginguna, athugum hvort breytingarnar/skrárnar okkar séu á BitBucket.
* Eins og venjan hefur sýnt er valfrjálst að setja upp SSH lykla. En, bara í tilfelli, mun ég veita reiknirit til að setja upp tengingu í gegnum SSH hér að neðan
Tengist í gegnum SSH
Fyrst þarftu að búa til SSH lykil. Margar greinar hafa verið skrifaðar um þetta. Til dæmis er hægt að skoða
Lyklarnir sem myndaðir eru líta eitthvað svona út:
Nánar Leynilykillinn þarf að bæta við sem breytu í GitLab. Til að gera þetta, farðu í Stillingar > CI/CD > Umhverfisbreytur. Bættu við ALLT innihald skráarinnar sem þú vistaðir leynilykilinn í. Köllum breytuna SSH_PRIVATE_KEY.
* þessi skrá, ólíkt opinberu lykilskránni, mun ekki hafa endinguna
Frábært, næst þarftu að bæta almenningslyklinum við BitBucket. Til að gera þetta skaltu opna geymsluna og fara í Stillingar > Aðgangslyklar.
Hér smellum við á Bæta við lykli og setjum inn innihald skráarinnar með almenna lyklinum (skrá með endingunni .pub).
Næsta skref er að nota lyklana í gitlab-runner. Notaðu þessar skipanir, en skiptu stjörnunum út fyrir upplýsingarnar þínar
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. Uppsetning AppCenter
Við búum til nýtt forrit á AppCenter.
Tilgreindu tungumálið/vettvanginn
Næst skaltu fara í Byggja hluta nýstofnaða forritsins. Þar veljum við BitBucket og geymsluna sem var búin til í skrefi 1.
Frábært, nú þurfum við að stilla bygginguna. Til að gera þetta, finndu tannhjólstáknið
Í grundvallaratriðum er allt þar leiðandi. Veldu verkefni og stillingar. Ef nauðsyn krefur, virkjaðu ræsingu prófana eftir byggingu. Þeir munu byrja sjálfkrafa.
Í grundvallaratriðum, það er allt. Það hljómar einfalt, en náttúrulega mun allt ekki ganga snurðulaust fyrir sig. Þess vegna mun ég lýsa nokkrum villum sem ég rakst á við vinnu:
'ssh-keygen' er ekki þekkt sem innri eða ytri skipun.
Það gerist líka vegna þess að slóðin að ssh-keygen.exe er ekki bætt við umhverfisbreyturnar.
Það eru tveir valkostir: bæta C:Program FilesGitusrbin við Umhverfisbreytur (verður beitt eftir endurræsingu vélarinnar), eða ræstu stjórnborðið úr þessari möppu.
AppCenter tengt við rangan BitBucket reikning?
Til að leysa vandamálið þarftu að aftengja BitBucket reikninginn þinn frá AppCenter. Við skráum okkur inn á rangan BitBucket reikning og förum í notendasniðið.
Næst skaltu fara í Stillingar > Aðgangsstjórnun > OAuth
Smelltu afturkalla til að aftengja reikninginn þinn.
Eftir þetta þarftu að skrá þig inn með nauðsynlegum BitBucket reikningi.
* Sem síðasta úrræði skaltu líka hreinsa skyndiminni vafrans.
Nú skulum við fara í AppCenter. farðu í Build hlutann, smelltu á Aftengja BitBucket reikning
Þegar gamli reikningurinn er aftengdur tengjum við AppCenter aftur. Nú að viðkomandi reikningi.
'eval' er ekki viðurkennt sem innri eða ytri skipun
Við notum það í staðinn fyrir skipun
- eval $(ssh-agent -s)
Lið:
- ssh-agent
Í sumum tilfellum verður þú annað hvort að tilgreina alla slóðina að C:Program FilesGitusrbinssh-agent.exe, eða bæta þessari slóð við kerfisbreyturnar á vélinni þar sem hlauparinn er í gangi
AppCenter Build er að reyna að setja af stað byggingu fyrir verkefni úr úreltri bitBucket geymslu
Í mínu tilviki kom vandamálið upp vegna þess að ég var að vinna með marga reikninga. Ég ákvað að hreinsa skyndiminni.
Heimild: www.habr.com