• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
in pi raspberry gitlab 3

[RISOLTO] GITLAB in raspberry pi 3
#1
Ciao a tutti ragazzi,

spero di riuscire, con il vostro supporto, a venir fuori da una situazione imbarazzante.

E' da una settimana che tento invano di far lavorare il mio server gitlab nel mio raspberry pi 3.

Vi spiego meglio, sia con Streatch che con Buster, ottengo il medesimo risultato. Installo senza problemi gitlab, creo il mio progetto, assegno la chiave SSH e qui viene il bello.

Praticamente nel mio pc di lavoro riesco a clonare il progetto tramite ssh, poi modifico un file, aggiungo, committo e al momento del push non riesco a pushare perchè mi viene restituito un errore di permessi.

Questo è veramente strano.. Le ho provate tutte, sono ripartito da zero in raspberry e nel pc 4 volte formattando tutto allo stato iniziale.

Santa pazienza dico io. Però ora sono veramente disperato.

I passaggi che faccio sono questi a sdcard nuova:

sudo aptitude update
sudo aptitude upgrade

sudo apt-get install curl openssh-server ca-certificates postfix apt-transport-https

curl https://packages.gitlab.com/gpg.key | sudo apt-key add -

sudo curl -sS https://packages.gitlab.com/install/repo...ipt.deb.sh | sudo bash

sudo apt-get install gitlab-ce

Prima di configurare guitlab

1 - aumento lo swap di raspi a 2G in  sudo nano /etc/dphys-swapfile
2 - minimizzo i processi di gitlab in sudo nano /etc/gitlab/gitlab.rb impostando l'URL di risposta del server

external_url 'http://192.168.1.39'

e come da manuale online di gitlab

unicorn['worker_processes'] = 2
sidekiq['concurrency'] = 9

# Turn off monitoring to reduce idle cpu and disk usage
prometheus_monitoring['enable'] = false

3 - sudo gitlab-ctl reconfigure

e va tutto a buon fine

Gitlab parte senza problemi e dal mio pc di lavoro riesco a accedere al server digitando nel browser http://192.168.1.39

ORA

aggiorno la password di root in gitlab

entro in root

creo il progetto

aggiorno la chiave ssh dell'utente del pc

andano nel pc con ubuntu e generando la chiave pubblica

ssh-keygen -t rsa -b 4096 -C “mia mail”

copio la mia chiave pubblica ssh in gitlab

sudo cat /home/valerio/.ssh/id_rsa.pub

e tutto funziona correttamente.

Ora controllo la chiave pubblica con

ssh-add

che mi mostra correttamente l'identità ssh del pc.

Ora controllo il colloqui con il server

ssh -vT git@192.168.1.39

e mi viene restituito che la chiave è stata accettata e mi risponde con welcome gitlab @velvettiere

Ora clono il progetto con git clone git@192.168.1.39:radice del mio progetto

e il progetto viene clonato in locale su ubuntu.

modifico un file

faccio git status

git add -A .

git commit -m "ProvaCommit"

e fin qui tutto ok.

Ora vado a fare il push e non viene fatto perchè sembra di non avere i permessi.

Possibile che io possa fare il push solo del progetto creato nel server dal mio utente del pc UBUNTU e non nel progetto creato da un altro utente come fatto con il root?

Mi sembra strano però perchè il progetto che ho creato nel server con l'utente root l'ho fatto applicandolo come pubblico, cioè in cui tutti possono leggere e scrivere.

VI torna?
Spero di essere stato chiaro e di riuscire a venirne fuori.

Grazie mille. Valerio.
Risposta
#2
Parto dal presupposto che non ho mai avuto la necessita di metter su un server gitlab,
quindi non so molto della procedura che personalmente poco mi servirebbe a me,
però da quel che ho letto sembrerebbe un problema di permessi con utente pi,
spero tu acceda al raspberry come utente pi,
e di solito la creazione di un ambiente server richiede o apache o nginx o Lighttpd e similari.

quindi mi chiedo hai provato a immettere user pi/root nel gruppo www-data che di solito è il gruppo che gestisce le operazione server web?

per utente pi

Codice:
sudo usermod -aG www-data pi

per utente root se abilitato

Codice:
sudo usermod -aG www-data root

puoi comunque darli entrambi i comandi fammi sapere,
posso anche aver scritto un eresia ma tentar non nuoce.
Risposta
#3
(16/11/2019, 12:08)Tiger Ha scritto: Parto dal presupposto che non ho mai avuto la necessita di metter su un server gitlab,
quindi non so molto della procedura che personalmente poco mi servirebbe a me,
però da quel che ho letto sembrerebbe un problema di permessi con utente pi,
spero tu acceda al raspberry come utente pi,
e di solito la creazione di un ambiente server richiede o apache o nginx o Lighttpd e similari.

quindi mi chiedo hai provato a immettere user pi/root nel gruppo www-data che di solito è il gruppo che gestisce le operazione server web?

per utente pi

Codice:
sudo usermod -aG www-data pi

per utente root se abilitato

Codice:
sudo usermod -aG www-data root

puoi comunque darli entrambi i comandi fammi sapere,
posso anche aver scritto un eresia ma tentar non nuoce.

Grazie mille della risposta.

Ho provato a fare come hai detto tu ma niente purtroppo.

Ho controllato le assegnazioni all'utente www-data (facendo sudo cat /etc/group) e in effetti sia pi che root non ci stavano.

Però anche dopo questo non riesco a pushare.

Grazie comunque per aver risposto.

Buon proseguimento di giornata. Valerio.
Risposta
#4
Ciao,

per chiudere il post vorrei dire che ho risolto il dilemma.

Il tutto è legato ai permessi associati all'utente in gitlab.

Cioè, anche se ho la chiave ssh impostata correttamente, riesco a fare il clone di tutti i progetti in gitlab
o almeno di quelli che sono stati dichiarati pubblici.

Ma non posso fare il push su progetti di altre persone perché non ho i diritti di amministratore a meno
che all’utente specifico non vengano dati i diritti di amministratore dall’utente root di gitlab.

L’errore che riceverò quando vado a fare un push su un progetto che non è il mio ossia non è stato
direttamente creato dall’utente del pc su cui si sta lavorando sarà

valerio@Ubu1904fisso:~/provaGit/freertos$ git push
You are not allowed to push code to this project.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Invece se faccio il push sul mio progetto personale creato in gitlab non ci saranno problemi.

Se invece all’utente specifico, dall’amministratore root del sistema, vengono concessi permessi di
amministratore, questo utente potrà pushare ovunque anche su un progetto creato da un altro
amministratore come visibile sotto ( esempio di utente pincopallo reso amministratore che ora può
pushare sul progetto prova creato proprio da un altro amministratore To 192.168.1.39:root/prova.git)

valerio@Ubu1904fisso:~/Scrivania/prova/prova$ git push
Enumerating objects: 99, done.
Counting objects: 100% (99/99), done.
Delta compression using up to 2 threads
Compressing objects: 100% (83/83), done.
Writing objects: 100% (99/99), 24.27 KiB | 24.27 MiB/s, done.
Total 99 (delta 4), reused 94 (delta 2)
To 192.168.1.39:root/prova.git
* [new branch]
master -> master

valerio@Ubu1904fisso:~/Scrivania/prova/prova$


Casistiche riscontrate:

Utente Root crea il gruppo e il progetto rendendolo pubblico
Utente esterno si registra in gitlab. Se l’utente root ha creato il progetto come pubblico allora l’utente
esterno lo potrà vedere, clonare ma non ci potrà pushare. Potrà farlo solo se amministratore.
Invece se il progetto è stato creato proprio da quell’utente su PC di lavoro allora potrà fare qualunque
cosa con il suo progetto.


Spero che il mio lavoro sia di aiuto a qualcuno.

Grazie ancora e saluti a tutti, Valerio.
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect