Avís
Aquest article és antic i és possible que part de la informació estigui desactualitzada o ja no sigui vàlida actualment.
Si tens cap dubte o necessites confirmar algun detall, et recomanem contactar amb el nostre equip de suport per rebre informació actualitzada i assistència personalitzada.
GitLab és una aplicació gratuïta i de codi obert que s'utilitza per allotjar repositoris de Git. És un gestor de repositoris basat en el web i una plataforma amb totes les funcions per al desenvolupament accelerat de programari. Inclou moltes eines integrades que t'ajuden a situar cada tasca en el flux de treball de desenvolupament. GitLab està disponible en tres edicions, GitLab Community Edition, Enterprise Edition i una versió allotjada a GitLab. Inclou una interfície web fàcil d'utilitzar que permet al teu equip col·laborar en la codificació, les proves i el desplegament d'aplicacions.
En aquest tutorial, et mostrem com instal·lar GitLab CE amb Docker en un servidor cloud Ubuntu 20.04.
Requisits
- Un servidor vps cloud amb Ubuntu 20.04 i 4GB RAM.
- Un nom de domini vàlid que apunti a la IP del servidor. En aquest tutorial farem servir el domini https://linuxbuz.com.
- Una contrasenya de root establerta al teu servidor.
Comencem
Abans de començar, actualitza els paquets del teu sistema a l'última versió amb l'ordre següent:
# apt update && apt upgrade -yA continuació, instal·la algunes dependències necessàries executant l'ordre següent:
# apt install apt-transport-https ca-certificates curl software-properties-common -yUn cop instal·lats tots els paquets, pots procedir a instal·lar Docker CE.
Instal·la Docker i Docker Compose
Per defecte, l'última versió de Docker no està disponible al repositori predeterminat d'Ubuntu. Per tant, hauràs d'afegir el repositori de Docker al teu sistema. Pots fer-ho amb l'ordre següent:
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"Un cop afegit el repositori, instal·la Docker i Docker Compose amb l'ordre següent:
# apt install docker-ce docker-compose -yUn cop instal·lat Docker, pots verificar la versió instal·lada amb l'ordre següent:
# docker infoHauries d'obtenir el resultat següent:
Client:
Debug Mode: false
Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 19.03.12
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
init version: fec3683
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 5.4.0-29-generic
Operating System: Ubuntu 20.04 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.844GiB
Name: ubuntu2004
ID: BVY4:ELUS:PEOF:UMYR:NBNY:YYNL:OYDN:M5XW:H4Y7:CFLK:ZOUX:AIEE
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Configura l'estructura de directoris de GitLab
Primer hauràs de configurar una estructura de directoris per a GitLab.
Pots crear els directoris necessaris amb l'ordre següent:
# mkdir ~/gitlab
# mkdir -p /mnt/gitlab/{config/ssl,logs,data}A continuació, canvia el directori a ~ / gitlab i crea un fitxer d'entorn per definir el directori d'inici de GitLab:
# cd ~/gitlab
# nano .envAfegeix la línia següent:
GITLAB_HOME=/mnt/gitlabDesprés, crea un fitxer yml per a GitLab:
# nano docker-compose.ymlAfegeix les línies següents:
web:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: 'gitlab.linuxbuz.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
# Afegeix aquí qualsevol altra configuració de gitlab.rb, cadascuna en una línia pròpia
external_url 'https://gitlab.linuxbuz.com'
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'Desa i tanca el fitxer quan hagis acabat.
Genera Let's Encrypt SSL
A continuació hauràs de generar el certificat de Let's Encrypt SSL per protegir la teva instància de GitLab. Primer, instal·la el client Certbot amb l'ordre següent:
# apt install certbot -yDesprés, genera el certificat Let's Encrypt SSL amb l'ordre següent:
# certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email mi@correo.com -d gitlab.linuxbuz.comUn cop generat el certificat, hauries d'obtenir el resultat següent:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for gitlab.linuxbuz.com
Waiting for verification...
Cleaning up challenges
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/gitlab.linuxbuz.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/gitlab.linuxbuz.com/privkey.pem
Your cert will expire on 2020-12-15. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
A continuació, copia el certificat generat al directori de GitLab amb el resultat següent:
# cp /etc/letsencrypt/live/gitlab.linuxbuz.com/fullchain.pem /mnt/gitlab/config/ssl/
# cp /etc/letsencrypt/live/gitlab.linuxbuz.com/privkey.pem /mnt/gitlab/config/ssl/A continuació, genera el certificat DHPARAM amb l'ordre següent:
# openssl dhparam -out /mnt/gitlab/config/ssl/dhparams.pem 2048Crea un contenidor GitLab
A continuació, hauràs d'extreure la imatge de GitLab CE i compilar el contenidor.
Primer, canvia el directori a ~ / gitlab i compila el contenidor amb l'ordre següent:
# cd ~/gitlab
# docker-compose up -dYou should get the following output:
Pulling web (gitlab/gitlab-ce:latest)...
latest: Pulling from gitlab/gitlab-ce
8e097b52bfb8: Pull complete
a613a9b4553c: Pull complete
acc000f01536: Pull complete
73eef93b7466: Pull complete
dbbf6a69d17d: Pull complete
8926eb0425bd: Pull complete
132637f1cbe1: Pull complete
d343616ff790: Pull complete
819cb051898b: Pull complete
d434b0b6371c: Pull complete
Digest: sha256:d8147f73fafdf5bef6359483a046f3d947f532a6c015dc197bbd4de9d6e61a33
Status: Downloaded newer image for gitlab/gitlab-ce:latest
Creating gitlab_web_1 ... done
Després, verifica el contenidor GitLab amb l'ordre següent:
# docker-compose psHauries de veure el resultat següent:
Name Command State Ports
-----------------------------------------------------------------------------------------------------------------------
gitlab_web_1 /assets/wrapper Up (health: starting) 0.0.0.0:2224->22/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
Accedeix a la interfície web de GitLab
Ara obre el teu navegador web i accedeix a la interfície web de GitLab amb l'URL https://gitlab.linuxbuz.com. Hauries de veure la pantalla següent:
Estableix la teva contrasenya d'administrador i fes clic a la pestanya "Cambiar tu contraseña". Hauries de veure la pantalla següent:
Ara introdueix root com a nom d'usuari i la contrasenya que has establert al pas anterior, i fes clic al botó "Iniciar sesión". Hauries de veure el tauler de GitLab CE a la pantalla següent:
Conclusió
Enhorabona! Has instal·lat correctament GitLab CE amb Docker al servidor Ubuntu 20.04.
Ara pots explorar GitLab CE i crear el teu primer projecte des de la interfície basada en el web.
Nota
Recorda que hauràs d'esperar uns minuts perquè Docker es desplegui.