


Bagaimana untuk menggunakan projek gitlab bahagian hadapan secara automatik ke k8s
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.
- 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.
- 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"
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
- 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/
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*)?$/
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.
- 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 # 前端端口
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
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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.

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

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.

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.

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.

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.

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.
