Tryam, tere!
Tahaksin rääkida oma kogemusest GitLabi ja AppCenteri integreerimise seadistamisel BitBucketi kaudu.
Vajadus sellise integratsiooni järele tekkis Xamarini platvormidevahelise projekti kasutajaliidese testide automaatse käivitamise seadistamisel. Üksikasjalik õpetus lõike all!
* Kui avalikkus on huvitatud, teen eraldi artikli kasutajaliidese testimise automatiseerimise kohta platvormideüleses tingimustes.
Kaevasin välja ainult ühe sellise materjali
Ülesanne: seadistage AppCenteris kasutajaliidese testide automaatne käivitamine, kuna meie meeskond kasutab versioonihaldussüsteemina GitLabi.
probleem Selgus, et AppCenter ei integreeru GitLabiga otse. Üheks lahenduseks valiti ümbersõit BitBucketi kaudu.
Шаги
1. Looge BitBucketis tühi hoidla
Ma ei näe vajadust seda täpsemalt kirjeldada :)
2. GitLabi seadistamine
Vajame, et hoidlasse lükates/ühendades laetaks muudatused üles ka BitBucketisse. Selleks lisage jooksja (või redigeerige olemasolevat .gitlab-ci.yml faili).
Esmalt lisame käsud jaotisesse before_scripts
- git config --global user.email "user@email"
- git config --global user.name "username"
Seejärel lisage soovitud etappi järgmine käsk:
- git push --mirror https://username:[email protected]/username/projectname.git
Minu puhul on see fail, mille sain:
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
Käivitame ehituse, kontrollime, kas meie muudatused/failid on BitBucketis.
* Nagu praktika on näidanud, on SSH-võtmete seadistamine valikuline. Aga igaks juhuks annan allpool algoritmi SSH kaudu ühenduse loomiseks
Ühendus SSH kaudu
Kõigepealt peate looma SSH-võtme. Selle kohta on kirjutatud palju artikleid. Näiteks võite vaadata
Loodud võtmed näevad välja umbes sellised:
Edasi Salajane võti tuleb GitLabis muutujana lisada. Selleks avage Seaded > CI/CD > Keskkonnamuutujad. Lisage KOGU selle faili sisu, kuhu salajase võtme salvestasite. Kutsume muutujat SSH_PRIVATE_KEY.
* erinevalt avaliku võtme failist ei ole sellel failil laiendit
Suurepärane, järgmiseks peate BitBucketile lisama avaliku võtme. Selleks avage hoidla ja valige Sätted > Pääsuvõtmed.
Siin klõpsame Lisa võti ja sisestame avaliku võtmega faili sisu (fail laiendiga .pub).
Järgmine samm on võtmete kasutamine gitlab-runneris. Kasutage neid käske, kuid asendage tärnid oma andmetega
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. AppCenteri seadistamine
Loome AppCenteris uue rakenduse.
Määrake keel/platvorm
Järgmisena minge vastloodud rakenduse jaotisesse Ehitamine. Seal valime BitBucketi ja 1. sammus loodud hoidla.
Suurepärane, nüüd peame ehituse konfigureerima. Selleks leidke hammasrattaikoon
Põhimõtteliselt on seal kõik intuitiivne. Valige projekt ja konfiguratsioon. Vajadusel lubage testide käivitamine pärast ehitamist. Need käivituvad automaatselt.
Põhimõtteliselt on see kõik. See kõlab lihtsalt, kuid loomulikult ei lähe kõik sujuvalt. Seetõttu kirjeldan mõningaid tõrkeid, millega töötamise ajal kokku puutusin:
'ssh-keygen' ei tuvastata sisemise ega välise käsuna.
See ilmneb ka seetõttu, et ssh-keygen.exe teed ei lisata keskkonnamuutujatele.
On kaks võimalust: lisada keskkonnamuutujatele C:Program FilesGitusrbin (rakendatakse pärast masina taaskäivitamist) või käivitage konsool sellest kataloogist.
Kas AppCenter on ühendatud vale BitBucketi kontoga?
Probleemi lahendamiseks peate oma BitBucketi konto ja AppCenteri linkimise tühistama. Logime sisse valele BitBucketi kontole ja läheme kasutajaprofiilile.
Järgmisena avage Seaded > Juurdepääsu haldamine > OAuth
Konto linkimise tühistamiseks klõpsake nuppu Tühista.
Pärast seda peate sisse logima vajaliku BitBucketi kontoga.
* Viimase abinõuna tühjendage ka brauseri vahemälu.
Nüüd läheme AppCenterisse. minge jaotisse Ehitamine, klõpsake käsul Katkesta BitBucketi konto ühendus
Kui vana konto linkimine tühistatakse, lingime AppCenteri uuesti. Nüüd soovitud kontole.
'eval' ei tuvastata sisemise ega välise käsuna
Me kasutame seda käsu asemel
- eval $(ssh-agent -s)
Meeskond:
- ssh-agent
Mõnel juhul peate määrama faili C:Program FilesGitusrbinssh-agent.exe täieliku tee või lisama selle tee süsteemimuutujatele masinas, kus jooksja töötab.
AppCenter Build proovib käivitada projekti jaoks ehitust vananenud bitBucketi hoidlast
Minu puhul tekkis probleem seetõttu, et töötasin mitme kontoga. Otsustasin vahemälu tühjendada.
Allikas: www.habr.com