త్రయం, హలో!
నేను BitBucket ద్వారా GitLab మరియు AppCenter ఇంటిగ్రేషన్ని సెటప్ చేయడంలో నా అనుభవం గురించి మాట్లాడాలనుకుంటున్నాను.
Xamarinలో క్రాస్-ప్లాట్ఫారమ్ ప్రాజెక్ట్ కోసం UI పరీక్షల యొక్క ఆటోమేటిక్ లాంచ్ను సెటప్ చేసినప్పుడు అటువంటి ఏకీకరణ అవసరం ఏర్పడింది. కట్ క్రింద వివరణాత్మక ట్యుటోరియల్!
* పబ్లిక్కి ఆసక్తి ఉంటే, క్రాస్-ప్లాట్ఫారమ్ పరిస్థితుల్లో UI పరీక్షను ఆటోమేట్ చేయడం గురించి నేను ప్రత్యేక కథనాన్ని చేస్తాను.
నేను అలాంటి ఒక పదార్థాన్ని మాత్రమే తవ్వాను
పని: మా బృందం GitLabని వెర్షన్ కంట్రోల్ సిస్టమ్గా ఉపయోగిస్తున్నందున, AppCenterలో UI పరీక్షల యొక్క ఆటోమేటిక్ లాంచ్ని సెటప్ చేయండి.
సమస్య AppCenter నేరుగా GitLabతో కలిసిపోదని తేలింది. BitBucket ద్వారా బైపాస్ పరిష్కారాలలో ఒకటిగా ఎంపిక చేయబడింది.
దశలను
1. BitBucketలో ఖాళీ రిపోజిటరీని సృష్టించండి
దీన్ని మరింత వివరంగా వివరించాల్సిన అవసరం నాకు కనిపించడం లేదు :)
2. GitLabని సెటప్ చేయడం
రిపోజిటరీలోకి నెట్టేటప్పుడు/విలీనం చేసేటప్పుడు, మార్పులు కూడా BitBucketకి అప్లోడ్ చేయబడాలి. దీన్ని చేయడానికి, రన్నర్ను జోడించండి (లేదా ఇప్పటికే ఉన్న .gitlab-ci.yml ఫైల్ని సవరించండి).
ముందుగా మనం before_scripts విభాగానికి ఆదేశాలను జోడిస్తాము
- 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లో ఉన్నాయో లేదో తనిఖీ చేయండి.
* అభ్యాసం చూపినట్లుగా, SSH కీలను సెటప్ చేయడం ఐచ్ఛికం. కానీ, ఒకవేళ, నేను దిగువ SSH ద్వారా కనెక్షన్ని సెటప్ చేయడానికి అల్గారిథమ్ను అందిస్తాను
SSH ద్వారా కనెక్ట్ అవుతోంది
ముందుగా మీరు SSH కీని రూపొందించాలి. దీని గురించి చాలా వ్యాసాలు వ్రాయబడ్డాయి. ఉదాహరణకు, మీరు చూడవచ్చు
ఉత్పత్తి చేయబడిన కీలు ఇలా కనిపిస్తాయి:
మరింత రహస్య కీ GitLabకి వేరియబుల్గా జోడించాలి. దీన్ని చేయడానికి, సెట్టింగ్లు > CI/CD > ఎన్విరాన్మెంట్ వేరియబుల్స్కు వెళ్లండి. మీరు రహస్య కీని సేవ్ చేసిన ఫైల్లోని అన్ని కంటెంట్లను జోడించండి. వేరియబుల్ని SSH_PRIVATE_KEY అని పిలుద్దాం.
* ఈ ఫైల్, పబ్లిక్ కీ ఫైల్ వలె కాకుండా, పొడిగింపును కలిగి ఉండదు
గ్రేట్, తర్వాత మీరు BitBucketకి పబ్లిక్ కీని జోడించాలి. దీన్ని చేయడానికి, రిపోజిటరీని తెరిచి, సెట్టింగ్లు > యాక్సెస్ కీలకు వెళ్లండి.
ఇక్కడ మనం జోడించు కీని క్లిక్ చేసి, ఫైల్ యొక్క కంటెంట్లను పబ్లిక్ కీతో ఇన్సర్ట్ చేస్తాము (పొడిగింపు .pubతో ఫైల్).
గిట్లాబ్-రన్నర్లో కీలను ఉపయోగించడం తదుపరి దశ. ఈ ఆదేశాలను ఉపయోగించండి, కానీ ఆస్టరిస్క్లను మీ వివరాలతో భర్తీ చేయండి
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లో కొత్త అప్లికేషన్ని సృష్టిస్తాము.
భాష/ప్లాట్ఫారమ్ను పేర్కొనండి
తరువాత, కొత్తగా సృష్టించిన అప్లికేషన్ యొక్క బిల్డ్ విభాగానికి వెళ్లండి. అక్కడ మేము BitBucket మరియు దశ 1లో సృష్టించబడిన రిపోజిటరీని ఎంచుకుంటాము.
చాలా బాగుంది, ఇప్పుడు మనం బిల్డ్ను కాన్ఫిగర్ చేయాలి. దీన్ని చేయడానికి, గేర్ చిహ్నాన్ని కనుగొనండి
సూత్రప్రాయంగా, అక్కడ ప్రతిదీ సహజమైనది. ప్రాజెక్ట్ మరియు కాన్ఫిగరేషన్ను ఎంచుకోండి. అవసరమైతే, బిల్డ్ తర్వాత పరీక్షల ప్రయోగాన్ని ప్రారంభించండి. అవి స్వయంచాలకంగా ప్రారంభమవుతాయి.
ప్రాథమికంగా, అంతే. ఇది సరళంగా అనిపిస్తుంది, కానీ, సహజంగా, ప్రతిదీ సజావుగా సాగదు. కాబట్టి, నేను పని చేస్తున్నప్పుడు ఎదుర్కొన్న కొన్ని లోపాలను వివరిస్తాను:
'ssh-keygen' అంతర్గత లేదా బాహ్య కమాండ్గా గుర్తించబడలేదు.
పర్యావరణ వేరియబుల్స్కు ssh-keygen.exe మార్గం జోడించబడనందున ఇది కూడా జరుగుతుంది.
రెండు ఎంపికలు ఉన్నాయి: C:Program FilesGitusrbinని ఎన్విరాన్మెంట్ వేరియబుల్స్కు జోడించండి (మెషీన్ను రీబూట్ చేసిన తర్వాత వర్తించబడుతుంది) లేదా ఈ డైరెక్టరీ నుండి కన్సోల్ను ప్రారంభించండి.
AppCenter తప్పు BitBucket ఖాతాకు కనెక్ట్ చేయబడిందా?
సమస్యను పరిష్కరించడానికి, మీరు AppCenter నుండి మీ BitBucket ఖాతాను అన్లింక్ చేయాలి. మేము తప్పు BitBucket ఖాతాలోకి లాగిన్ చేసి, వినియోగదారు ప్రొఫైల్కు వెళ్తాము.
తర్వాత, సెట్టింగ్లు > యాక్సెస్ మేనేజ్మెంట్ > OAuthకి వెళ్లండి
మీ ఖాతాను అన్లింక్ చేయడానికి రద్దు చేయి క్లిక్ చేయండి.
దీని తర్వాత, మీరు అవసరమైన BitBucket ఖాతాతో లాగిన్ చేయాలి.
* చివరి ప్రయత్నంగా, మీ బ్రౌజర్ కాష్ని కూడా క్లియర్ చేయండి.
ఇప్పుడు AppCenter కి వెళ్దాం. బిల్డ్ విభాగానికి వెళ్లి, బిట్బకెట్ ఖాతాను డిస్కనెక్ట్ చేయి క్లిక్ చేయండి
పాత ఖాతా అన్లింక్ చేయబడినప్పుడు, మేము మళ్లీ AppCenterని లింక్ చేస్తాము. ఇప్పుడు కావలసిన ఖాతాకు.
'eval' అనేది అంతర్గత లేదా బాహ్య కమాండ్గా గుర్తించబడలేదు
మేము దానిని ఆదేశానికి బదులుగా ఉపయోగిస్తాము
- eval $(ssh-agent -s)
జట్టు:
- ssh-agent
కొన్ని సందర్భాల్లో, మీరు C:Program FilesGitusrbinssh-agent.exeకి పూర్తి మార్గాన్ని పేర్కొనాలి లేదా రన్నర్ నడుస్తున్న మెషీన్లోని సిస్టమ్ వేరియబుల్స్కు ఈ మార్గాన్ని జోడించాలి.
AppCenter Build కాలం చెల్లిన bitBucket రిపోజిటరీ నుండి ప్రాజెక్ట్ కోసం బిల్డ్ని ప్రారంభించడానికి ప్రయత్నిస్తోంది
నా విషయంలో, నేను బహుళ ఖాతాలతో పని చేస్తున్నందున సమస్య తలెత్తింది. నేను కాష్ని క్లియర్ చేయాలని నిర్ణయించుకున్నాను.
మూలం: www.habr.com