Rumah alat pembangunan git Bagaimana untuk menggunakan projek gitlab bahagian hadapan secara automatik ke k8s

Bagaimana untuk menggunakan projek gitlab bahagian hadapan secara automatik ke k8s

Mar 29, 2023 pm 12:44 PM

Artikel ini terutamanya memperkenalkan cara menggunakan projek bahagian hadapan secara automatik ke dalam persekitaran kontena berasaskan Kubernetes. Di sini kami menggunakan GitLab CI/CD untuk melengkapkan proses ini GitLab berfungsi sebagai platform untuk pengurusan kod, kawalan versi dan kerjasama, dan Kubernetes berfungsi sebagai alat untuk orkestrasi kontena dan penggunaan, yang boleh menjadikan proses pembangunan bahagian hadapan lebih cekap dan. selesa.

  1. Konfigurasi GitLab

Mula-mula buat projek pada GitLab dan kaitkan dengan repositori Git. Kemudian, hidupkan fungsi CI/CD dalam tetapan projek dan pilih Pelari yang anda mahu gunakan. Di sini kami akan memasang GitLab Runner dan mendaftarkannya dalam senarai Runner GitLab.

  1. Pemasangan dan Konfigurasi GitLab Runner

Proses memasang GitLab Runner agak mudah Anda hanya perlu mengikuti panduan pemasangan sistem dan platform yang berbeza.

Selepas pemasangan selesai, kita perlu mengkonfigurasi GitLab Runner. Dengan mengandaikan anda sudah mempunyai kluster Kubernetes, kami perlu mengkonfigurasi GitLab Runner untuk dijalankan pada kluster. Proses konfigurasi khusus adalah seperti berikut:

① Pertama, kita perlu mengkonfigurasi Akaun Perkhidmatan Kubernetes untuk Pelari Akaun Perkhidmatan perlu diberi kuasa untuk mengakses API Kubernetes dalam kelompok.

② Selepas itu, kami perlu mengkonfigurasi Pelari ini untuk menggunakan Akaun Perkhidmatan untuk mengakses API. Untuk melakukan ini, kita perlu menetapkan medan berikut dalam fail konfigurasi Runner (config.toml):

[[runners.kubernetes.volumes.host_path]]
      name = "docker"
      mount_path = "/var/run/docker.sock"
      host_path = "/var/run/docker.sock"
    [[runners.kubernetes.volumes.config_map]]
      name = "kube-config"
      mount_path = "/etc/kubernetes"
    [[runners.kubernetes.volumes.empty_dir]]
      name = "tls"
      mount_path = "/etc/gitlab-runner/certs"
    [[runners.kubernetes.volumes.secret]]
      name = "runner-secret"
      mount_path = "/etc/gitlab-runner"
Salin selepas log masuk

di mana, kube-config ialah nama peta konfigurasi yang berkaitan dengan Runner, dan runner-secret ialah nama peta konfigurasi yang berkaitan dengan Runner Nama rahsia yang berkaitan.

③ Akhir sekali, kita perlu mengemas kini dan memulakan semula GitLab Runner supaya ia boleh menggunakan bekas yang dijalankan dalam Kubernetes. Jalankan arahan berikut untuk memulakan semula GitLab Runner secara automatik:

sudo gitlab-runner restart
Salin selepas log masuk
  1. Mencapai penggunaan automatik

Selepas mendapatkan Runner yang dikonfigurasikan, kami boleh mula melaksanakan penempatan automatik . Di sini kami menggunakan fail bernama .gitlab-ci.yml untuk menentukan proses CI/CD kami.

Pertama, kita perlu menentukan fail Docker untuk digunakan semasa menjalankan kontena dalam Kubernetes. Fail Docker ini akan digunakan semasa membina imej Docker, seperti yang ditunjukkan di bawah:

FROM nginx:1.15.8-alpine

COPY dist /usr/share/nginx/html

COPY nginx/default.conf /etc/nginx/conf.d/
Salin selepas log masuk

Imej ini akan menggunakan nginx:1.15.8-alpine sebagai imej asas, salin fail bahagian hadapan kami ke direktori lalai Nginx, dan gantikan fail Konfigurasi Nginx lalai supaya aplikasi kami dapat berjalan dengan baik.

Kemudian, tentukan proses CI/CD kami dalam fail .gitlab-ci.yml. Khususnya, kami akan mengisytiharkan proses binaan projek dalam fail ini, kemudian menolak imej Docker yang dibina ke pustaka imej kontena, dan akhirnya menjalankan imej ini dalam Kubernetes. Prosesnya adalah seperti berikut:

stages:
  - build
  - release

build:
  stage: build
  script:
    - docker build -t registry.cn-hangzhou.aliyuncs.com/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_TAG .
    - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD registry.cn-hangzhou.aliyuncs.com
    - docker push registry.cn-hangzhou.aliyuncs.com/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_TAG
  only:
    - /^v\d+\.\d+(\.\d+)?(-\S*)?$/

release:
  stage: release
  script:
    - kubectl apply -f k8s/
  only:
    - /^v\d+\.\d+(\.\d+)?(-\S*)?$/
Salin selepas log masuk

Dalam fail ini, kami mula-mula mengisytiharkan bahawa proses kami mempunyai dua peringkat: build dan release, dan lengkapkan binaan dan tolak ke imej bekas dalam build peringkat proses Perpustakaan, proses penggunaan Kubernetes selesai dalam peringkat release. Ambil perhatian bahawa di sini kami hanya mendayakan proses CI/CD untuk komit Git yang tagnya ialah nombor versi.

  1. Pengedaran Aplikasi

Akhir sekali, gunakan aplikasi kami dalam Kubernetes kami. Kami akan menggunakan fail bernama deployment.yml untuk melengkapkan penggunaan. Fail ini mengisytiharkan objek Deployment untuk menjalankan aplikasi bahagian hadapan dalam Kubernetes.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: frontend-deployment
spec:
  replicas: 1 # 运行一个副本
  selector:
    matchLabels:
      app: frontend
  template:
    metadata:
      labels:
        app: frontend
    spec:
      containers:
        - name: frontend
          image: registry.cn-hangzhou.aliyuncs.com/wbbry/frontend:latest # 镜像名称
          imagePullPolicy: Always
          ports:
            - containerPort: 80 # 前端端口
Salin selepas log masuk

Fail ini menentukan nombor replicas bagi objek Deployment (di sini ialah 1), dan mengisytiharkan nama dan nombor port imej kontena. Selepas melengkapkan fail penempatan ini, kami boleh menggunakan alat baris arahan Kubernetes (kubectl) untuk mencipta objek Deployment:

kubectl apply -f deployment.yml
Salin selepas log masuk

Pada ketika ini, aplikasi bahagian hadapan kami seharusnya dapat berjalan dengan jayanya pada Kubernetes.

Kesimpulan

Artikel ini memperkenalkan cara untuk menggunakan projek bahagian hadapan secara automatik ke dalam persekitaran kontena berasaskan Kubernetes. Ia memberi tumpuan kepada penggunaan GitLab CI/CD, Kubernetes dan Docker, dan menunjukkan proses penempatan melalui DEMO yang lengkap. Saya harap artikel ini berguna kepada jurutera pembangunan bahagian hadapan.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan projek gitlab bahagian hadapan secara automatik ke k8s. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Adakah git sama dengan GitHub? Adakah git sama dengan GitHub? Apr 08, 2025 am 12:13 AM

Git dan GitHub bukan perkara yang sama. Git adalah sistem kawalan versi, dan GitHub adalah platform hosting kod berasaskan Git. Git digunakan untuk menguruskan versi kod, dan GitHub menyediakan persekitaran kerjasama dalam talian.

Adakah GitHub sukar dipelajari? Adakah GitHub sukar dipelajari? Apr 02, 2025 pm 02:45 PM

GitHub tidak sukar untuk dipelajari. 1) Menguasai Pengetahuan Asas: GitHub adalah sistem kawalan versi berasaskan Git yang membantu mengubah perubahan kod dan pembangunan kolaboratif. 2) Memahami Fungsi Teras: Rekod Kawalan Versi Setiap Penyerahan, Menyokong Kerja Tempatan dan Penyegerakan Jauh. 3) Ketahui cara menggunakan: dari membuat repositori untuk menolak komitmen, menggunakan cawangan dan tarik permintaan. 4) Menyelesaikan masalah biasa: seperti gabungan konflik dan lupa untuk menambah fail. 5) Amalan Pengoptimuman: Gunakan mesej penyerahan yang bermakna, membersihkan cawangan, dan menguruskan tugas menggunakan papan projek. Melalui amalan dan komunikasi komuniti, lengkung pembelajaran Github tidak curam.

Git vs Github: Kawalan Versi dan Kod Hosting Git vs Github: Kawalan Versi dan Kod Hosting Apr 11, 2025 am 11:33 AM

Git adalah sistem kawalan versi, dan GitHub adalah platform hosting kod berasaskan Git. Git digunakan untuk menguruskan versi kod dan menyokong operasi tempatan; Github menyediakan alat kerjasama dalam talian seperti Penjejakan Isu dan PullRequest.

Adakah Microsoft memiliki git atau github? Adakah Microsoft memiliki git atau github? Apr 05, 2025 am 12:20 AM

Microsoft tidak memiliki Git, tetapi memiliki GitHub. 1.GIT adalah sistem kawalan versi yang diedarkan oleh Linus Torvaz pada tahun 2005. 2. GitHub adalah platform hosting kod dalam talian berdasarkan Git. Ia ditubuhkan pada tahun 2008 dan diperoleh oleh Microsoft pada tahun 2018.

Sekiranya saya meletakkan git atau github pada resume saya? Sekiranya saya meletakkan git atau github pada resume saya? Apr 04, 2025 am 12:04 AM

Pada resume anda, anda harus memilih untuk menulis git atau github berdasarkan keperluan kedudukan anda dan pengalaman peribadi. 1. Jika kedudukan memerlukan kemahiran git, sorot git. 2. Jika kedudukan nilai penyertaan komuniti, tunjukkan GitHub. 3. Pastikan untuk menerangkan pengalaman penggunaan dan kes -kes projek secara terperinci dan berakhir dengan ayat lengkap.

Apakah git dengan kata -kata mudah? Apakah git dengan kata -kata mudah? Apr 09, 2025 am 12:12 AM

GIT adalah sistem kawalan versi yang diedarkan sumber terbuka yang membantu pemaju menjejaki perubahan fail, bekerjasama dan menguruskan versi kod. Fungsi terasnya termasuk: 1) pengubahsuaian kod rekod, 2) sandaran kepada versi terdahulu, 3) pembangunan kerjasama, dan 4) membuat dan menguruskan cawangan untuk pembangunan selari.

Sekiranya saya mulakan dengan git atau github? Sekiranya saya mulakan dengan git atau github? Apr 06, 2025 am 12:09 AM

Bermula dari Git lebih sesuai untuk pemahaman yang mendalam tentang prinsip kawalan versi, dan bermula dari GitHub lebih sesuai untuk memberi tumpuan kepada kerjasama dan hosting kod. 1.GIT adalah sistem kawalan versi yang diedarkan yang membantu menguruskan sejarah versi kod. 2. GitHub adalah platform dalam talian berdasarkan Git, menyediakan keupayaan hosting dan keupayaan kolaborasi.

Bagaimana cara menggunakan github untuk html? Bagaimana cara menggunakan github untuk html? Apr 07, 2025 am 12:13 AM

Alasan untuk menggunakan GitHub untuk menguruskan projek HTML ialah ia menyediakan platform untuk kawalan versi, pembangunan kerjasama dan pembentangan kerja. Langkah -langkah khusus termasuk: 1. Di samping itu, GitHub juga menyokong kajian semula kod, isu dan ciri PullRequest untuk membantu mengoptimumkan dan bekerjasama dalam projek HTML.

See all articles