https://dev.to/freaking_wish/getting-started-with-harness-ci-g68
Apa itu Harness? 🐤
Harness adalah Platform Pengiriman Perangkat Lunak pertama di industri yang menggunakan AI untuk menyederhanakan proses DevOps Anda - CI, CD, Fitur Bendera, Biaya Cloud, dan banyak lagi.
Mengapa Menggunakan Harness? 🐤
Harness adalah platform pengiriman perangkat lunak modern yang memungkinkan para insinyur dan DevOps untuk membangun, menguji, menyebarkan, dan memverifikasi perangkat lunak sesuai permintaan.
Apa itu Harness CI ?
- Harness CI menyederhanakan pengembangan dan pengujian kode.
- Setiap tahap mencakup langkah-langkah untuk membangun, menguji, dan mendorong kode Anda.
- CI mengeksekusi langkah-langkah sebagai kontainer, kode pengemasan, dan dependensi secara terpisah dari langkah-langkah lainnya.
Daftar Periksa Sebelum Penerbangan !
- Membagi Repositori ✔️
- Akun Microsoft Azure✔️(Opsional, Anda dapat menggunakan Harness prebuild)
- Akun Docker Hub✔️
- Cluster Kubernetes✔️(Opsional, Anda dapat menggunakan Harness prebuild)
Alur Kerja 🐤
- Buat kode dan jalankan pengujian unit.
- Kemas aplikasi sebagai citra Docker dan unggah ke Docker Hub.
- Tarik gambar yang diunggah ke build farm sebagai Tugas Latar Belakang. Lihat selengkapnya tentang tugas latar belakang di sini
- Jalankan uji integrasi terhadap aplikasi contoh.
Langkah 1: Fork repositori 🐤
- Kunjungi Repo Python-Pipeline-Samples
- Sekarang fork repositori ini di Github Anda. Fork repositori di Github
Langkah 2: Buat Proyek Harness Anda 🐤
- Pindah ke Platform Harness & klik Proyek -> Proyek Baru
- Konfigurasikan pengaturan proyek seperti di bawah ini
Name: (Default Project Name)
Organization: Default
- Pilih Modul CI di bagian modul
Langkah 3: Tahapan Pembuatan dan Konfigurasi Pipeline 🐤
- Klik
Pipelines
-> Buat Pipeline - Konfigurasikan pipeline seperti di bawah ini
Name: CI-Python-Quickstart
Set up pipeline as: Inline
Untuk mengetahui lebih lanjut tentang Pipeline, periksa dokumen di sini.
Selanjutnya, kita akan menambahkan Tahapan dan langkah ke Pipeline kita dan mengompilasi kode Python kita.
Klik Mulai
Langkah 4: Langkah Membangun 🐤
- Arahkan kursor ke tab Bangun.
- Klik
Add Stage
untuk memulai pembuatan pipa - Pilih jenis panggung sebagai
Build
- Konfigurasikan Pengaturan Panggung seperti di bawah ini
- Nama:
build test and run
- Pastikan untuk mengaktifkan
clone codebase
.
- Nama:
Siapkan Konektor sebagai berikut
Pilih Connectors
-> Klik + New Connector
Jenis Konektor:Github
Nama: python-sample-connector
URL Jenis : Repository
Jenis Koneksi: HTTP
URL Repositori GitHub: Tempel tautan repositori bercabang Anda
Nama Pengguna: (Nama Pengguna Github Anda)
Token Akses Pribadi: Lihat cara membuat token akses pribadi
Rahasia Nama: Git-Token
Rahasia Nilai: Nilai PAT yang dihasilkan di Github
Klik Simpan .
Ini akan memungkinkan repositori untuk diambil, klik repositori tersebut dan klik Apply Selected
Aktifkan akses API (AKTIF) dengan token rahasia yang dibuat .
Klik Hubungkan melalui Platform Harness .
Untuk lebih memahami Konektor , lihat dokumen di sini.
Buka pengaturan Infrastruktur tahap dan klik Hosted by Harness
.
Kemudian, buka Eksekusi (Pada langkah ini, kita akan mengompilasi kode).
Kompilasi Kode
- Klik di sini
Add step
- Pergi ke
Build
dan klikRun
- Ubah pengaturan seperti berikut
- Nama:
Code compile
- Registri Kontainer -> Pilih
New connector
- Klik di sini
Docker Registry
- Ubah pengaturan seperti berikut
- Ringkasan
- Nama-
docker quickstart
- Nama-
- Rincian
- Url registri Docker -
https://index.docker.io/v1/
- Jenis penyedia -
Docker Hub
- Otentikasi -
Username and Password
- Nama pengguna - Nama pengguna hub Docker
- Token Rahasia - Lihat cara membuat docker PAT
- Url registri Docker -
- Hubungkan ke Penyedia
- Pilih untuk terhubung melalui Platform Harness
- Diperlukan beberapa waktu untuk memverifikasi kredensial Anda.
- Ringkasan
- Gambar:
python:3.10.6-alpine
- Kerang:
Sh
- Memerintah:
python -m compileall ./
- Kemudian klik
Apply changes
Next kita akan membuat Image dan Push image ke Docker Registry Klik Create Image and Push to Docker Registry
- Pergi ke
Langkah 5: Pembuatan DockerFile 🐤
Klik di sini
Add step
- Buka build dan klik jalankan
Ubah pengaturan seperti berikut:
- Nama:
create Docker file
- Registri kontainer: Klik pada konektor Docker yang dibuat pada langkah sebelumnya
- Gambar:
alpine
- Perintah: Salin perintah berikut dan klik terapkan perubahan.
touch pythondockerfile cat > pythondockerfile <<- EOM FROM python:3.10.6-alpine WORKDIR /python-pipeline-samples ADD . /python-pipeline-samples RUN pip install -r requirements.txt CMD ["python" , "app.py"] EOM cat pythondockerfile
- Nama:
Membangun dan Mengirimkan Gambar ke Docker Registry
- Klik di sini
Add step
- Pergi ke
builds
dan klikbuild and push an image to docker registry
- Ubah pengaturan seperti berikut:
- Nama:
Build and push image to docker hub
- Konektor Docker: pilih konektor Docker yang Anda buat sebelumnya
- Repositori Docker:
<docker-hub-username>/<docker-repository name>
- Tag:
latest
- Dalam Konfigurasi opsional
- Dockerfile -
pythondockerfile
- Dockerfile -
- Nama:
Sekarang kita beralih ke Pengujian Integrasi dan menjalankan Pipeline kita.
Klik pada Pengujian Integrasi dan Jalankan Pipeline
Langkah 6: Pengujian Integrasi 🐤
Server ular piton
Sekarang Anda memiliki Stage untuk mengkloning, membangun, mengontainerisasi, lalu mengirim image Anda ke Docker Hub. Pada langkah ini Anda akan menambahkan Stage untuk menarik image tersebut, menjalankannya dalam kontainer, dan menjalankan pengujian integrasi pada image tersebut.
- Klik Tambahkan tahap dan pilih
build
- Beri nama sebagai
integration test
- Mematikan
clone from codebase
- Klik
setup stage
- Pergi ke
Stage overview
nyalakanClone Codebase
- Sekarang kita akan melakukan setup Stage Infrastructure
- Buka Infrastruktur dan pilih propagasi dari tahap yang ada.
- Pilih tahap sebelumnya
- Klik
Next
Pada tahap Build Test and Push, Anda membuat kode dan mengunggah image yang telah Anda buat ke Docker Hub. Harness akan menarik image tersebut ke kontainer di infrastruktur Anda. Selanjutnya, ia akan memulai Hello World Server di image tersebut.
Catatan: Berdasarkan alur dan UI baru,** Propagate from an existing stage** sudah diaktifkan.
- Buka tab eksekusi pada tahap integrasi run
- Memilih
add step
- Buka build dan pilih latar belakang
- Ubah pengaturan seperti berikut
- Nama:
python server
- Deskripsi (opsional):
server connection
- Registri kontainer: pilih konektor Docker yang Anda buat sebelumnya
- Gambar: docker-hub-username/docker-hub-repo-name - Shell:
Sh
- Perintah:python3 /python-pipeline-samples/app.py
- PilihApply changes
Menghubungkan ke server
Selanjutnya, kita dapat menjalankan uji integrasi. Kita akan menguji koneksi ke server.
Pilih tambahkan langkah di tab eksekusi tahap integrasi yang dijalankan
- Buka Builds dan pilih Run
Ubah pengaturan seperti berikut
- Nama:
test connection to server
- Registri kontainer: pilih konektor Docker yang Anda buat.
- Gambar:
curlimages/curl:7.73.0
- Perintah:
sleep 10 curl localhost:5000
- Pilih
Apply Changes
.
- Nama:
Langkah 7: Jalankan Pipeline 🐤
- Klik ↑Simpan.
- Klik
Run
. Pengaturan Masukan Pipa muncul.
- Di bawah Basis Kode CI, pilih
Git branch
. - Di Git Branch, masukkan nama cabang tempat basis kode berada, di sini
main
- Klik Jalankan Pipeline.
- Di bawah Basis Kode CI, pilih
Hore, kami telah menyelesaikan jalur CI kami.
👌Selamat meretas, sampai jumpa di lain waktu!अलविदा
Tentang saya: freaking_wish 😊
referensi dokumen: Repo Github
Berikan kontribusi besar bagi karier Anda. Bergabunglah dengan DEV. (Situs web tempat Anda berada saat ini)
Hanya butuh satu menit , gratis, dan bermanfaat bagi karier Anda.
Tidak ada komentar:
Posting Komentar