Kamis, 19 September 2024

KUBERNETES-ci dg harness

 https://dev.to/freaking_wish/getting-started-with-harness-ci-g68

Gambar sampul untuk Memulai dengan Harness CI
SAGAR SATAPATI
SAGAR SATAPATI

Diposting pada

6

Memulai dengan Harness CI

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 ?

  1. Harness CI menyederhanakan pengembangan dan pengujian kode.
  2. Setiap tahap mencakup langkah-langkah untuk membangun, menguji, dan mendorong kode Anda.
  3. CI mengeksekusi langkah-langkah sebagai kontainer, kode pengemasan, dan dependensi secara terpisah dari langkah-langkah lainnya.

Daftar Periksa Sebelum Penerbangan !

  1. Membagi Repositori ✔️
  2. Akun Microsoft Azure✔️(Opsional, Anda dapat menggunakan Harness prebuild)
  3. Akun Docker Hub✔️
  4. Cluster Kubernetes✔️(Opsional, Anda dapat menggunakan Harness prebuild)

Pipa CI

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 🐤

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

Tangkapan layar 2022-09-09 pukul 10.24 17 AM

  • 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: InlineTangkapan layar 2022-09-09 pukul 10.32.57 WIB

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 Stageuntuk memulai pembuatan pipa
  • Pilih jenis panggung sebagaiBuildTangkapan layar 2022-09-09 pukul 10.53 12 AM
  • Konfigurasikan Pengaturan Panggung seperti di bawah ini
    • Nama:build test and run
    • Pastikan untuk mengaktifkan clone codebase.

Siapkan Konektor sebagai berikut
Pilih Connectors-> Klik + New Connector
Jenis Konektor:Github

Tangkapan layar 2022-09-09 pukul 10.55.35 WIB
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 siniAdd step
    • Pergi ke Builddan klikRun
    • Ubah pengaturan seperti berikut
    • Nama:Code compile
    • Registri Kontainer -> PilihNew connector
    • Klik di siniDocker Registry
    • Ubah pengaturan seperti berikut
      • Ringkasan
        • Nama-docker quickstart
      • 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
      • Hubungkan ke Penyedia
        • Pilih untuk terhubung melalui Platform Harness
        • Diperlukan beberapa waktu untuk memverifikasi kredensial Anda.
    • 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

Langkah 5: Pembuatan DockerFile 🐤

  • Klik di siniAdd 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
      

Membangun dan Mengirimkan Gambar ke Docker Registry

  • Klik di siniAdd step
  • Pergi ke buildsdan 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

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 pilihbuild
  • Beri nama sebagaiintegration test
  • Mematikanclone from codebase
  • Kliksetup stage
  • Pergi ke Stage overviewnyalakanClone 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
  • Memilihadd 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.

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.

Hore, kami telah menyelesaikan jalur CI kami.
Deskripsi gambar

👌Selamat meretas, sampai jumpa di lain waktu!अलविदा
Tentang saya: freaking_wish 😊
referensi dokumen: Repo Github

👋 Sebelum kamu pergi

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