AppCenter sareng Integrasi GitLab

Tryam, halo!

Abdi hoyong ngobrol ngeunaan pangalaman abdi dina nyetel GitLab na integrasi AppCenter via BitBucket.

Kabutuhan integrasi sapertos kitu timbul nalika nyetél peluncuran otomatis tés UI pikeun proyék cross-platform dina Xamarin. Tutorial lengkep di handap cut!

* Kuring gé nyieun artikel misah ngeunaan automating nguji UI dina kaayaan cross-platform lamun publik museurkeun.

Kuring ngan ukur ngali hiji bahan sapertos kitu tulisan. Ku alatan éta, artikel kuring bisa mantuan batur.

tugas: Nyetél peluncuran otomatis tés UI dina AppCenter, nunjukkeun yen tim kami ngagunakeun GitLab salaku sistem kontrol versi.

masalah Tétéla yén AppCenter henteu ngahijikeun langsung sareng GitLab. Bypass via BitBucket dipilih salaku salah sahiji solusi.

Léngkah-léngkahna

1. Jieun gudang kosong dina BitBucket

Abdi henteu kedah ngajelaskeun ieu langkung rinci :)

2. Nyetél GitLab

Urang peryogi yén nalika ngadorong / ngahijikeun kana gudang, parobahan ogé diunggah ka BitBucket. Jang ngalampahkeun ieu, tambahkeun runner a (atawa édit aya file .gitlab-ci.yml).

Mimiti urang tambahkeun paréntah kana bagian before_scripts

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

Teras tambahkeun paréntah di handap ieu kana tahap anu dipikahoyong:

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

Dina kasus kuring, ieu mangrupikeun file anu kuring kéngingkeun:

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

Urang ngajalankeun ngawangun, pariksa yen parobahan / file urang aya dina BitBucket.
* sakumaha prakték geus ditémbongkeun, nyetel konci SSH pilihan. Tapi, bisi waé, kuring bakal nyayogikeun algoritma pikeun nyetél sambungan liwat SSH di handap ieu

Sambungan via SSH

Mimiti anjeun kedah ngahasilkeun konci SSH. Loba artikel geus ditulis ngeunaan ieu. Contona, Anjeun bisa nempo di dieu.
Konci anu dihasilkeun katingali sapertos kieu:
AppCenter sareng Integrasi GitLab

saterusna Konci rusiah perlu ditambahkeun salaku variabel kana GitLab. Jang ngalampahkeun ieu, buka Setélan> CI/CD> Variabel Lingkungan. Tambihkeun ALL eusi file anu anjeun simpen konci rusiah. Hayu urang nelepon variabel SSH_PRIVATE_KEY.
* file ieu, teu kawas file konci publik, moal boga extension
AppCenter sareng Integrasi GitLab

Hébat, salajengna anjeun kedah nambihan konci umum ka BitBucket. Jang ngalampahkeun ieu, buka Repository tur buka Setélan> Access Keys.

AppCenter sareng Integrasi GitLab

Di dieu urang klik Tambahkeun Key terus selapkeun eusi file jeung konci publik (file kalawan extension .pub).

Lengkah saterusna nyaéta ngagunakeun konci dina gitlab-runner. Anggo paréntah ieu, tapi ganti tanda bintang ku detil anjeun

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. Nyetél AppCenter

Urang nyieun aplikasi anyar dina AppCenter.

AppCenter sareng Integrasi GitLab

Sebutkeun basa/platform

AppCenter sareng Integrasi GitLab

Teras, angkat ka bagian Bangun tina aplikasi anu nembé diciptakeun. Di dinya kami milih BitBucket sareng gudang anu didamel dina léngkah 1.

Hébat, ayeuna urang kedah ngonpigurasikeun ngawangun. Jang ngalampahkeun ieu, panggihan ikon gear

AppCenter sareng Integrasi GitLab

Sacara prinsip, sagalana aya intuitif. Pilih proyék sareng konfigurasi. Upami diperlukeun, aktipkeun peluncuran tés saatos ngawangun. Aranjeunna bakal ngamimitian otomatis.

Dasarna, éta sadayana. Éta disada basajan, tapi, sacara alami, sadayana moal lancar. Ku alatan éta, kuring bakal ngajelaskeun sababaraha kasalahan anu kuring mendakan nalika damel:

'ssh-keygen' teu dipikawanoh salaku paréntah internal atawa éksternal.

Éta ogé lumangsung kusabab jalur ka ssh-keygen.exe henteu ditambahkeun kana variabel lingkungan.
Aya dua pilihan: tambahkeun C: Program FilesGitusrbin kana Variabel Lingkungan (bakal diterapkeun saatos rebooting mesin), atanapi ngaluncurkeun konsol tina diréktori ieu.

AppCenter disambungkeun ka akun BitBucket salah?

Pikeun ngajawab masalah, Anjeun kudu unlink akun BitBucket anjeun ti AppCenter. Kami asup kana akun BitBucket anu salah sareng angkat ka profil pangguna.

AppCenter sareng Integrasi GitLab

Salajengna, buka Setélan> Manajemén Aksés> OAuth

AppCenter sareng Integrasi GitLab

Pencét Cabut pikeun ngabatalkeun tautan akun anjeun.

AppCenter sareng Integrasi GitLab

Saatos ieu, anjeun kedah log in sareng akun BitBucket anu diperyogikeun.
* Salaku jalan terakhir, hapus ogé cache panyungsi anjeun.

Ayeuna hayu urang angkat ka AppCenter. buka bagian Ngawangun, klik Pegatkeun sambungan akun BitBucket

AppCenter sareng Integrasi GitLab

Nalika akun heubeul unlinked, urang numbu AppCenter deui. Ayeuna ka akun anu dipikahoyong.

'eval' teu dipikawanoh salaku paréntah internal atawa éksternal

Urang make eta tinimbang paréntah a

  - eval $(ssh-agent -s)

Tim:

  - ssh-agent

Dina sababaraha kasus, anjeun kudu nangtukeun jalur pinuh ka C: Program FilesGitusrbinssh-agent.exe, atawa tambahkeun jalur ieu kana variabel sistem dina mesin dimana runner ngajalankeun.

AppCenter Build nyobian ngaluncurkeun ngawangun pikeun proyék tina gudang bitBucket anu luntur

Dina kasus kuring, masalahna timbul kusabab kuring damel sareng sababaraha akun. Kuring mutuskeun pikeun mupus cache.

sumber: www.habr.com

Tambahkeun komentar