GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal GitLab dengan Docker di Ubuntu 20.04 LTS

GitLab adalah manajer repositori open-source berdasarkan Rails yang dikembangkan oleh GitLab Inc. Ini adalah manajer repositori git berbasis web yang memungkinkan tim Anda untuk berkolaborasi dalam pengkodean, pengujian, dan penerapan aplikasi. GitLab menyediakan beberapa fitur, termasuk wiki, pelacakan masalah, tinjauan kode, dan umpan aktivitas.

Dalam tutorial ini, kami akan menunjukkan cara menginstal GitLab menggunakan Docker dan Docker Compose. Selain itu, kami akan menggunakan Ubuntu 20.04 sebagai sistem operasi utama kami, dan menginstal buruh pelabuhan dari repositori resmi Ubuntu FocalFossa.

Prasyarat

  • Server Ubuntu 20.04
  • RAM minimal 4 GB
  • Hak istimewa root

Apa yang akan kita lakukan?

  • Instal Docker dan Docker Compose
  • Siapkan Proyek Docker GitLab
  • Membangun Wadah GitLab
  • Penginstalan Pos GitLab

Langkah 1 - Instal Penulisan Docker dan Docker

Pertama, kita akan menginstal paket docker dan docker-compose ke sistem Ubuntu 20.04 kita. Dan kami akan menggunakan paket buruh pelabuhan yang disediakan oleh repositori resmi Ubuntu FocalFossa.

Perbarui semua repositori ke versi terbaru dan instal docker dan docker-compose menggunakan perintah apt di bawah ini.

sudo apt update
sudo apt install docker.io containerd docker-compose

Setelah semua instalasi selesai, mulai layanan buruh pelabuhan dan tambahkan ke boot sistem.

systemctl start docker
systemctl enable docker

Selanjutnya, periksa layanan buruh pelabuhan menggunakan perintah systemctl di bawah ini.

systemctl status docker

Akibatnya, layanan buruh pelabuhan aktif dan berjalan di Server Ubuntu 20.04.

Untuk memverifikasi instalasi buruh pelabuhan, jalankan perintah buruh pelabuhan "hello-world" di bawah ini.

docker run hello-world

Sekarang Anda akan mendapatkan pesan "hello-world" dari buruh pelabuhan seperti di bawah ini.

Sekarang kita siap untuk menginstal GitLab menggunakan docker container dan docker-compose.

Langkah 2 - Siapkan Direktori GitLab

Pada langkah ini, kita akan menyiapkan direktori proyek kita untuk instalasi GitLab.

Buat direktori baru bernama 'gitlab' dan masuk ke dalamnya.

mkdir -p gitlab; cd gitlab/

Direktori "gitlab" akan digunakan untuk menyimpan semua skrip dan konfigurasi buruh pelabuhan untuk GitLab.

Buat Direktori Data GitLab dan File .env

Di bagian ini, kita akan membuat direktori baru untuk menyimpan semua data GitLab kita dan membuat file ".env" baru yang akan digunakan oleh buruh pelabuhan.

Buat direktori data GitLab baru "/srv/gitlab" menggunakan perintah mkdir di bawah ini.

mkdir -p /srv/gitlab/{config/ssl,logs,data}

Selanjutnya, pada direktori proyek "gitlab", buat file ".env" baru menggunakan editor vim.

vim .env

Tentukan variabel lingkungan "GITLAB_HOME" dengan nilai sebagai direktori data GitLab "/srv/gitlab" seperti di bawah ini.

GITLAB_HOME=/srv/gitlab

Simpan dan tutup.

Skrip docker-compose.yml akan menggunakan variabel lingkungan untuk volume Gitlab.

Buat Skrip docker-compose.yml

Selanjutnya, kita akan membuat "docker-compose.yml" baru yang akan digunakan untuk membangun wadah GitLab kita.

Buat file 'docker-compose.yml' baru menggunakan perintah vim di bawah ini.

vim docker-compose.yml

Tentukan layanan bernama "web" dengan gambar "gitlab-ce" versi terbaru, dan ubah "hostname" dengan nama domain GitLab Anda.

web:
  image: 'gitlab/gitlab-ce:latest'
  restart: always
  hostname: 'gitlab.hakase-labs.io'

Konfigurasikan lingkungan untuk instalasi Gitlab Anda seperti di bawah ini. Dan pastikan untuk mengubah "external_url" dengan protokol aman HTTPS, dan mengubah "gitlab_rails['gitlab_shell_ssh_port']" dengan port SSH alternatif Anda untuk container.

  environment:
    GITLAB_OMNIBUS_CONFIG: |
      # Add any other gitlab.rb configuration here, each on its own line
      external_url 'https://gitlab.hakase-labs.io'
      gitlab_rails['gitlab_shell_ssh_port'] = 2224
      nginx['redirect_http_to_https'] = true
      nginx['ssl_certificate'] = "/etc/gitlab/ssl/fullchain.pem"
      nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/privkey.pem"
      nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"

Selanjutnya, tentukan port untuk wadah GitLab seperti di bawah ini. Dan pastikan untuk mengganti port SSH "2224" dengan custom port Anda dan cocokkan dengan port "gitlab_shell_ssh_port" di atas.

  ports:
    - '80:80'
    - '443:443'
    - '2224:22'

Setelah itu, tentukan volume atau direktori data GitLab Anda. Semua direktori data GitLab tersedia di direktori "GITLAB_HOME", yang mengatur variabel lingkungan pada file ".env" di atas.

  volumes:
    - '${GITLAB_HOME}/config:/etc/gitlab'
    - '${GITLAB_HOME}/logs:/var/log/gitlab'
    - '${GITLAB_HOME}/data:/var/opt/gitlab'
    - '${GITLAB_HOME}/config/ssl:/etc/gitlab/ssl'

Simpan dan tutup.

Berikut konfigurasi lengkapnya.

web:
  image: 'gitlab/gitlab-ce:latest'
  restart: always
  hostname: 'gitlab.hakase-labs.io'

  environment:
    GITLAB_OMNIBUS_CONFIG: |
      # Add any other gitlab.rb configuration here, each on its own line
      external_url 'https://gitlab.hakase-labs.io'
      gitlab_rails['gitlab_shell_ssh_port'] = 2224
      nginx['redirect_http_to_https'] = true
      nginx['ssl_certificate'] = "/etc/gitlab/ssl/fullchain.pem"
      nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/privkey.pem"
      nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"  

  ports:
    - '80:80'
    - '443:443'
    - '2224:22'

  volumes:
    - '${GITLAB_HOME}/config:/etc/gitlab'
    - '${GITLAB_HOME}/logs:/var/log/gitlab'
    - '${GITLAB_HOME}/data:/var/opt/gitlab'
    - '${GITLAB_HOME}/config/ssl:/etc/gitlab/ssl'

Hasilnya, skrip "docker-compose.yml" untuk instalasi proyek GitLab telah dibuat.

Buat Sertifikat SSL dan DHAPARAM

Pada tahap ini, kita akan membuat SSL Letsencrypt untuk instalasi GitLab kita.

Di server Anda, instal alat certbot menggunakan perintah apt di bawah ini.

sudo apt install certbot

Setelah itu, buat sertifikat SSL untuk GitLab menggunakan perintah certbot di bawah ini.

certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d gitlab.hakase-labs.io

Setelah semua selesai, sertifikat Anda akan tersedia di direktori '/etc/letsencrypt/live/gitlab.yourdomain'.

Sekarang salin file sertifikat "fullchain.pem" dan "privkey.pem" ke direktori "/srv/gitlab/config/ssl/".

cp /etc/letsencrypt/live/gitlab.hakase-labs.io/fullchain.pem /srv/gitlab/config/ssl/
cp /etc/letsencrypt/live/gitlab.hakase-labs.io/privkey.pem /srv/gitlab/config/ssl/

Dan SSL Letsencrypt untuk GitLab sudah siap.

Selanjutnya, buat sertifikat DHPARAM "dhparam.pem" menggunakan perintah openssl di bawah ini.

sudo openssl dhparam -out /srv/gitlab/config/ssl/dhparams.pem 2048

Dan semua sertifikat untuk instalasi GitLab telah dibuat, dan kami siap untuk membangun wadah GitLab.

Langkah 3 - Bangun Wadah GitLab

Pada langkah ini, kita akan membangun wadah GitLab menggunakan semua konfigurasi yang telah kita buat di atas, dan menggunakan perintah docker-compose.

Sebelum melangkah lebih jauh, Anda dapat memeriksa semua file yang tersedia di direktori proyek "gitlab" dan struktur direktori dari direktori Data GitLab.

ls -lah ~/gitlab/
tree /srv/gitlab

Di bawah ini adalah hasil yang akan Anda dapatkan.

Selanjutnya, buka direktori proyek "~/gitlab" dan buat penampung GitLab menggunakan perintah "docker-compose" di bawah.

cd ~/gitlab
docker-compose up -d

Setelah semua selesai, Anda akan mendapatkan hasil seperti di bawah ini.

Sekarang periksa container yang sedang berjalan dan port "LISTEN" di sistem Ubuntu Anda menggunakan perintah berikut.

docker-compose ps
ss -plnt

Dan Anda akan mendapatkan wadah "gitlab_web_1 " aktif dan berjalan, dan Anda telah mendapatkan HTTP, HTTPS, dan port SSH "2224" yang digunakan oleh penampung GitLab.

Seperti yang dapat dilihat, wadah GitLab aktif dan berjalan, dan kami siap untuk menyiapkan instalasi GitLab kami.

Langkah 4 - Instalasi Posting GitLab

Buka browser web Anda dan ketik instalasi URL GitLab Anda di bilah alamat.

https://gitlab.hakase-labs.io/

Dan Anda akan mendapatkan halaman reset password GitLab.

Ketik kata sandi baru Anda untuk "root" pengguna default dan klik tombol "Ubah kata sandi Anda".

Sekarang Anda akan mendapatkan halaman login GitLab seperti di bawah ini.

Masuk dengan pengguna default "root " dan kata sandi baru Anda, lalu klik "Masuk".

Dan Anda akan mendapatkan Dashboard GitLab seperti di bawah ini.

Seperti yang terlihat, instalasi GitLab menggunakan docker dan docker-compose telah selesai.

Langkah 5 - Konfigurasi Dasar Kontainer GitLab

Setelah instalasi GitLab, Anda dapat menambahkan beberapa konfigurasi tambahan ke wadah GitLab tanpa merusak wadah GitLab. Untuk langkah ini, kami akan menunjukkan cara dasar mengelola container GitLab.

Sebelum melangkah lebih jauh, buka direktori proyek "~/gitlab" dan periksa status penampung menggunakan perintah berikut.

cd ~/gitlab
docker-compose ps

Anda akan mendapatkan wadah GitLab aktif dan berjalan.

Periksa Status Layanan GitLab di dalam Container

Untuk memeriksa semua layanan GitLab di dalam wadah Gitlab, gunakan perintah "docker exec" seperti di bawah ini.

sudo docker exec -it gitlab_web_1 gitlab-ctl status

Di bawah ini adalah hasil yang akan Anda dapatkan.

Seperti yang dapat dilihat, semua komponen layanan GitLab aktif dan berjalan.

Mengakses Wadah GitLab

Untuk SSH ke wadah GitLab, Anda menggunakan "docker exec" dengan shell "bash" di dalam wadah seperti di bawah ini.

sudo docker exec -it gitlab_web_1 /bin/bash

Sekarang periksa versi default Ubuntu dari wadah GitLab.

cat /etc/lsb-release

Anda akan mendapatkan wadah GitLab didasarkan pada Ubuntu 16.04 Xenial.

Sekarang ketik "keluar " untuk keluar dari wadah GitLab.

Mengedit Konfigurasi GitLab gitlab.rb

Selanjutnya, untuk mengubah konfigurasi GitLab di dalam container, Anda dapat menggunakan "editor" default pada container docker itu sendiri.

Edit konfigurasi "/etc/gitlab/gitlab.rb" di dalam container menggunakan perintah buruh pelabuhan di bawah.

sudo docker exec -it gitlab_web_1 editor /etc/gitlab/gitlab.rb

Sekarang Anda akan mendapatkan editor "nano" default di layar, dengan file konfigurasi "gitlab.rb".

Ketik konfigurasi Anda, simpan, dan keluar.

Selanjutnya, untuk menerapkan perubahan baru pada GitLab, mulai ulang layanan penampung Gitlab menggunakan perintah di bawah ini.

sudo docker restart gitlab_web_1

Sekarang pastikan tidak ada kesalahan, periksa status wadah GitLab menggunakan perintah berikut.

sudo docker-compose ps

Sekarang pastikan cotainer GitLab berada di "Naik (sehat) " status.

Hasilnya, konfigurasi baru untuk GitLab telah diterapkan.

Dan terakhir, instalasi GitLab menggunakan docker dan docker-compose telah berhasil diselesaikan.


Ubuntu
  1. Cara menginstal Docker di Ubuntu 22.04

  2. Cara Menginstal Docker di Ubuntu 22.04 / 20.04 LTS

  3. Cara Menginstal Docker di Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  1. Cara menginstal ONLYOFFICE 8.9.0 dengan Docker di Ubuntu

  2. Cara Menginstal Server Gitlab dengan Docker di Ubuntu 18.04 LTS

  3. Cara Menginstal Docker di Server Ubuntu 18.04 LTS

  1. Cara Menginstal GitLab di Ubuntu 20.04

  2. Cara Menginstal Sentry dengan Docker di Ubuntu 20.04

  3. Cara Menginstal Docker di Ubuntu 20.04, 18.04, 21.04