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
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
Tombol sing digawe katon kaya iki:
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
Apik, sabanjure sampeyan kudu nambah kunci umum menyang BitBucket. Kanggo nindakake iki, bukak repositori lan pindhah menyang Setelan> Tombol Akses.
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.
Nemtokake basa / platform
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
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.
Sabanjure, pindhah menyang Setelan> Manajemen Akses> OAuth
Klik Copot kanggo mbatalake akun sampeyan.
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
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