Integrasi AppCenter lan GitLab

Tryam, halo!

Aku pengin ngomong babagan pengalaman ing nyetel GitLab lan integrasi AppCenter liwat BitBucket.

Kebutuhan kanggo integrasi kasebut muncul nalika nyetel tes UI otomatis kanggo proyek lintas platform ing Xamarin. Tutorial lengkap ing ngisor iki!

* Aku bakal nggawe artikel sing kapisah babagan ngotomatisasi tes UI ing kahanan lintas platform yen masarakat kasengsem.

Aku mung ndudhuk munggah siji materi kuwi artikel. Mulane, artikelku bisa mbantu wong liya.

Tujuan: Nyiyapake peluncuran otomatis tes UI ing AppCenter, amarga tim kita nggunakake GitLab minangka sistem kontrol versi.

masalah Ternyata AppCenter ora nggabungake langsung karo GitLab. Bypass liwat BitBucket dipilih minangka salah sawijining solusi.

Langkah-langkah

1. Nggawe gudang kosong ing BitBucket

Aku ora weruh perlu kanggo njlèntrèhaké iki kanthi luwih rinci :)

2. Nyetel GitLab

Kita kudu nalika push / gabung menyang repositori, owah-owahan uga diunggah menyang BitBucket. Kanggo nindakake iki, nambah runner (utawa ngowahi file .gitlab-ci.yml ana).

Pisanan kita nambahake printah menyang bagean before_scripts

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

Banjur tambahake printah ing ngisor iki menyang tahap sing dikarepake:

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

Ing kasusku, iki file sing aku entuk:

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

Kita miwiti mbangun, priksa manawa owah-owahan / file ana ing BitBucket.
* minangka laku wis ditampilake, nyetel tombol SSH opsional. Nanging, yen ngono, aku bakal menehi algoritma kanggo nyetel sambungan liwat SSH ing ngisor iki

Sambungan liwat SSH

Pisanan sampeyan kudu nggawe kunci SSH. Akeh artikel sing wis ditulis babagan iki. Contone, sampeyan bisa ndeleng kene.
Tombol sing digawe katon kaya iki:
Integrasi AppCenter lan GitLab

luwih Kunci rahasia kudu ditambahake minangka variabel ing GitLab. Kanggo nindakake iki, pindhah menyang Setelan > CI/CD > Variabel Lingkungan. Tambah ALL isi file ing ngendi sampeyan nyimpen kunci rahasia. Ayo nelpon variabel SSH_PRIVATE_KEY.
* berkas iki, ora kaya file kunci umum, ora bakal duwe ekstensi
Integrasi AppCenter lan GitLab

Apik, sabanjure sampeyan kudu nambah kunci umum menyang BitBucket. Kanggo nindakake iki, bukak repositori lan pindhah menyang Setelan> Tombol Akses.

Integrasi AppCenter lan GitLab

Kene kita klik Tambah Key lan masang isi file karo tombol umum (file karo extension .pub).

Langkah sabanjure yaiku nggunakake tombol ing gitlab-runner. Gunakake printah iki, nanging ngganti tanda bintang karo rincian Panjenengan

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. Nggawe AppCenter

Kita nggawe aplikasi anyar ing AppCenter.

Integrasi AppCenter lan GitLab

Nemtokake basa / platform

Integrasi AppCenter lan GitLab

Sabanjure, pindhah menyang bagean Mbangun aplikasi sing mentas digawe. Ing kana kita pilih BitBucket lan repositori sing digawe ing langkah 1.

Apik, saiki kita kudu ngatur mbangun. Kanggo nindakake iki, goleki lambang gear

Integrasi AppCenter lan GitLab

Ing asas, kabeh ana intuisi. Pilih proyek lan konfigurasi. Yen perlu, ngaktifake peluncuran tes sawise mbangun. Dheweke bakal diwiwiti kanthi otomatis.

Sejatine, iku kabeh. Muni prasaja, nanging, kanthi alami, kabeh ora bakal lancar. Mulane, aku bakal njlèntrèhaké sawetara kesalahan sing aku nemoni nalika nggarap:

'ssh-keygen' ora diakoni minangka printah internal utawa eksternal.

Uga kedadeyan amarga path menyang ssh-keygen.exe ora ditambahake menyang variabel lingkungan.
Ana rong pilihan: tambahake C:Program FilesGitusrbin menyang Variabel Lingkungan (bakal diterapake sawise rebooting mesin), utawa bukak konsol saka direktori iki.

AppCenter disambungake menyang akun BitBucket salah?

Kanggo ngatasi masalah kasebut, sampeyan kudu ngilangi akun BitBucket saka AppCenter. Kita mlebu menyang akun BitBucket sing salah lan menyang profil pangguna.

Integrasi AppCenter lan GitLab

Sabanjure, pindhah menyang Setelan> Manajemen Akses> OAuth

Integrasi AppCenter lan GitLab

Klik Copot kanggo mbatalake akun sampeyan.

Integrasi AppCenter lan GitLab

Sawise iki, sampeyan kudu mlebu karo akun BitBucket sing dibutuhake.
* Minangka pilihan pungkasan, mbusak cache browser sampeyan.

Saiki ayo pindhah menyang AppCenter. pindhah menyang bagean Mbangun, klik Pedhot akun BitBucket

Integrasi AppCenter lan GitLab

Nalika akun lawas wis unlinked, kita link AppCenter maneh. Saiki menyang akun sing dikarepake.

'eval' ora diakoni minangka perintah internal utawa eksternal

Kita nggunakake tinimbang printah

  - eval $(ssh-agent -s)

Tim:

  - ssh-agent

Ing sawetara kasus, sampeyan kudu nemtokake path lengkap menyang C:Program FilesGitusrbinssh-agent.exe, utawa nambah dalan iki menyang variabel sistem ing mesin ing ngendi runner mlaku.

AppCenter Build nyoba miwiti mbangun kanggo proyek saka gudang bitBucket sing wis lawas

Ing kasusku, masalah muncul amarga aku nggarap sawetara akun. Aku mutusakΓ© kanggo mbusak cache.

Source: www.habr.com

Add a comment