Dalam proses pembangunan perisian moden, kawalan versi ialah teknologi penting. Git ialah salah satu sistem kawalan versi paling popular pada masa ini, dan Gitlab ialah aplikasi web berasaskan Git. Berbanding dengan platform kawalan versi lain, Gitlab menyediakan fungsi yang lebih lengkap, termasuk pengurusan kod, CI/CD, pengurusan proses, dsb., dan digunakan secara meluas dalam perusahaan.
Walau bagaimanapun, terdapat beberapa kesukaran dalam menggunakan Gitlab dalam organisasi berskala besar. Sebagai contoh, semasa masa beban tinggi, prestasi pelayan GitLab mungkin menjadi tidak mencukupi untuk menyokong keseluruhan pasukan, mengakibatkan pengalaman pengguna yang tidak bertindak balas. Salah satu cara untuk menyelesaikan masalah ini ialah dengan menggunakan penempatan teragih Gitlab.
Penyerahan edaran Gitlab menyediakan penyelesaian berskala untuk memperhalusi sumber merentas berbilang nod untuk meningkatkan prestasi. Arahan GitLab yang diedarkan boleh digunakan merentas berbilang pelayan atau bekas, yang terdiri daripada berbilang tika GitLab dengan sumber dan beban yang dikongsi antara mereka.
Seterusnya, saya akan memperkenalkan penyelesaian penggunaan teragih Gitlab berdasarkan Docker Swarm.
Sebelum memulakan penggunaan, anda perlu menyediakan sumber perkakasan dan perisian berikut:
Untuk menggunakan Docker Swarm untuk mengurus bekas Gitlab, Swarm mesti dimulakan terlebih dahulu. Permulaan boleh diselesaikan menggunakan arahan berikut:
$ docker swarm init
Arahan ini akan menjana Token Pengurus Swarm, yang akan digunakan kemudian untuk menyertai Swarm pada nod lain.
Untuk memastikan keselamatan data, data Gitlab perlu disimpan secara berterusan pada cakera. Ini boleh dicapai menggunakan arahan "volume" Docker. Berikut ialah contoh arahan untuk mencipta volum Docker bernama "gitlab_config" pada cakera setempat:
$ docker volume create --name gitlab_config
Begitu juga, volum Docker baharu boleh dibuat untuk direktori log dan data Gitlab. Cipta dua jilid ini secara berasingan menggunakan arahan berikut:
$ docker volume create --name gitlab_logs $ docker volume create --name gitlab_data
Kini anda boleh menggunakan bekas Gitlab baharu. Berikut ialah contoh perintah docker service
untuk melancarkan bekas Gitlab dengan pilihan tersuai dan sambungan kepada volum yang berterusan:
$ docker service create \ --name gitlab \ --mount source=gitlab_config,target=/etc/gitlab \ --mount source=gitlab_logs,target=/var/log/gitlab \ --mount source=gitlab_data,target=/var/opt/gitlab \ --publish published=80,target=80 \ --publish published=22,target=22 \ gitlab/gitlab-ce:latest
Swarm kini tersedia Token Pengurus menambah nod lain pada Swarm. Mula-mula gunakan arahan berikut untuk mendapatkan Token:
$ docker swarm join-token manager
Arahan akan mengeluarkan kandungan berikut:
To add a manager to this swarm, run the following command: docker swarm join --token SWMTKN-...... xxx.xxx.xxx.xxx:2377 To add a worker to this swarm, run the following command: docker swarm join --token SWMTKN-...... xxx.xxx.xxx.xxx:2377
Salin arahan dan laksanakan pada pelayan lain untuk menambahkannya ke Swarm tengah.
Untuk mengembangkan kapasiti Gitlab, bekas Gitlab tambahan boleh digunakan pada nod lain. Bekas baharu boleh dimulakan pada nod lain menggunakan perintah docker service
berikut yang serupa dengan langkah tiga:
$ docker service create \ --name gitlab \ --mount source=gitlab_config,target=/etc/gitlab \ --mount source=gitlab_logs,target=/var/log/gitlab \ --mount source=gitlab_data,target=/var/opt/gitlab \ --publish published=80,target=80 \ --publish published=22,target=22 \ gitlab/gitlab-ce:latest
Perhatikan bahawa pilihan --name
mesti ditetapkan kepada "gitlab" supaya semua bekas boleh mengenali setiap bekas. lain-lain.
Menggunakan Docker Swarm untuk menggunakan bekas Gitlab pada berbilang nod ialah cara untuk mengembangkan kapasiti Gitlab dan meningkatkan prestasi. Arahan pengedaran GitLab boleh digunakan merentas berbilang pelayan untuk memperhalusi sumber dengan berkongsi sumber dan beban. Ini membolehkan pasukan mengurus dan mengekalkan platform Gitlab dengan lebih baik dan meningkatkan kecekapan pembangunan produk.
Atas ialah kandungan terperinci Penjelasan terperinci tentang penyelesaian penggunaan teragih gitlab. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!