Errore Git durante la ricostruzione dell'app: impossibile trovare il riferimento remoto refs/heads/tests-passed

Ciao ragazzi,

Sto riscontrando questo errore quando ricostruisco l’app

> Pups::ExecError: cd /var/www/discourse && sudo -H -E -u discourse bash -c '\
>   set -o errexit
>   if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
>       git remote set-branches --add origin main
>       git remote set-branches origin tests-passed
>       git fetch --depth 1 origin tests-passed
>   else
>       git fetch --tags --prune-tags --prune --force origin
>   fi
> ' failed with return #<Process::Status: pid 145 exit 128>

Quando eseguo questo:

> git fetch --tags --prune-tags --prune --force origin

ottengo l’errore

> fatal: couldn't find remote ref refs/heads/tests-passed

Sto facendo qualcosa di sbagliato?

Grazie e saluti!

P.S. Ho dimenticato di menzionare. Il primo checkout ha funzionato, solo il task di ricostruzione dell’app fallisce con questo. Quindi nessun problema di Git da parte mia, penso (spero :-))

ho appena notato altri problemi nei log :frowning:

Aggiornamenti riusciti. Ricostruzione tra 5 secondi.
Costruzione dell’app
Rilevata architettura x86_64.
Assicurazione che il launcher sia aggiornato
fatal: impossibile trovare il riferimento remoto refs/heads/tests-passed
fatal: il branch upstream ‘refs/heads/main’ non è memorizzato come branch di tracciamento remoto
fatal: il branch upstream ‘refs/heads/main’ non è memorizzato come branch di tracciamento remoto
./launcher: riga 794: [: 69d7558c98a3775f62b720a8393e76f2b42bd916: operatore unario atteso
./launcher: riga 797: [: 69d7558c98a3775f62b720a8393e76f2b42bd916: operatore unario atteso

Quando eseguo un container con docker run -it --entrypoint /bin/bash …
e provo a usare git, ottengo questo

git clone https://github.com/discourse/discourse.git/
Clonazione in 'discourse'...
fatal: impossibile accedere a 'https://github.com/discourse/discourse.git/': verifica del certificato del server non riuscita. CAfile: nessuno CRLfile: nessuno

Puoi per favore pubblicare l’intero output del log e usare un blocco di codice preformattato? Ti aiuterebbe.

Sospetto che tu stia facendo questo su una rete aziendale che utilizza un proxy di ispezione MITM per il traffico web in uscita?

In tal caso, dovrai configurare il tuo server (e l’immagine Docker) per fidarti della tua CA Root aziendale.

È esattamente il caso.
Esiste una funzionalità standard disponibile in discourse docker per realizzarlo (intendo l’immagine docker, non il server), o devo farlo manualmente?

Molte grazie in anticipo e saluti,

WS

Aggiornamento: No, mi sbagliavo. In realtà lo sto facendo in un contesto aziendale, ma l’istanza si trova su un’istanza ec2 (Standard Amazon Linux 2 AMI), che può uscire tramite un proxy …
E, come ho detto, il primo checkout è andato a buon fine, solo la ricostruzione si interrompe.

Controllato di nuovo, funziona sull’host ma non nel container :frowning:

Ehi @Lilly, scusa il ritardo, ma ecco il log (la parte pertinente, immagino)

I, [2024-11-20T05:57:07.498456 #1]  INFO -- : > cd /var/www/discourse &amp;&amp; sudo -H -E -u discourse git reset --hard
Updating files: 100% (34680/34680), done.
I, [2024-11-20T05:57:11.943323 #1]  INFO -- : HEAD is now at 274e18622 FIX: Video uploads sometimes hang indefinitely (#28523)

I, [2024-11-20T05:57:11.943867 #1]  INFO -- : > cd /var/www/discourse &amp;&amp; sudo -H -E -u discourse git clean -f
I, [2024-11-20T05:57:12.079705 #1]  INFO -- : 
I, [2024-11-20T05:57:12.080107 #1]  INFO -- : > cd /var/www/discourse &amp;&amp; sudo -H -E -u discourse bash -c '
  set -o errexit
  if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
      git remote set-branches --add origin main
      git remote set-branches origin tests-passed
      git fetch --depth 1 origin tests-passed
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
'
fatal: unable to access 'https://github.com/discourse/discourse.git/': server certificate verification failed. CAfile: none CRLfile: none
I, [2024-11-20T05:57:12.186392 #1]  INFO -- : 
I, [2024-11-20T05:57:12.187130 #1]  INFO -- : Terminating async processes
I, [2024-11-20T05:57:12.187180 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 39
2024-11-20 05:57:12.187 UTC [39] LOG:  received fast shutdown request
I, [2024-11-20T05:57:12.187839 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 107
107:signal-handler (1732082232) Received SIGTERM scheduling shutdown...
2024-11-20 05:57:12.189 UTC [39] LOG:  aborting any active transactions
107:M 20 Nov 2024 05:57:12.193 # User requested shutdown...
107:M 20 Nov 2024 05:57:12.193 * Saving the final RDB snapshot before exiting.
2024-11-20 05:57:12.194 UTC [39] LOG:  background worker "logical replication launcher" (PID 54) exited with exit code 1
2024-11-20 05:57:12.194 UTC [49] LOG:  shutting down
107:M 20 Nov 2024 05:57:12.197 * DB saved on disk
107:M 20 Nov 2024 05:57:12.197 # Redis is now ready to exit, bye bye...
2024-11-20 05:57:12.227 UTC [39] LOG:  database system is shut down

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse &amp;&amp; sudo -H -E -u discourse bash -c '
  set -o errexit
  if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
      git remote set-branches --add origin main
      git remote set-branches origin tests-passed
      git fetch --depth 1 origin tests-passed
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
' failed with return #&lt;Process::Status: pid 144 exit 128&gt;
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"code", "cmd"=>["sudo -H -E -u discourse git reset --hard", "sudo -H -E -u discourse git clean -f", "sudo -H -E -u discourse bash -c '\n  set -o errexit\n  if [ $(git rev-parse --is-shallow-repository) == \"true\" ]; then\n      git remote set-branches --add origin main\n      git remote set-branches origin $version\n      git fetch --depth 1 origin $version\n  else\n      git fetch --tags --prune-tags --prune --force origin\n  fi\n'", "sudo -H -E -u discourse bash -c '\n  set -o errexit\n  if [[ $(git symbolic-ref --short HEAD) == $version ]] ; then\n      git pull\n  else\n      git -c advice.detachedHead=false checkout $version\n  fi\n'", "sudo -H -E -u discourse git config user.discourse-version $version", "mkdir -p tmp", "chown discourse:www-data tmp", "mkdir -p tmp/pids", "mkdir -p tmp/sockets", "touch tmp/.gitkeep", "mkdir -p                    /shared/log/rails", "bash -c \"touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log\"", "bash -c \"ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log $home/log\"", "bash -c \"mkdir -p           /shared/{uploads,backups}\"", "bash -c \"ln    -s           /shared/{uploads,backups} $home/public\"", "bash -c \"mkdir -p           /shared/tmp/{backups,restores}\"", "bash -c \"ln    -s           /shared/tmp/{backups,restores} $home/tmp\"", "chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp\"", "[ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete"]}}
bootstrap failed with exit code 128
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

Mi dispiace ragazzi, era un problema di proxy. Ho dovuto configurare i proxy in ~/.docker/config.json in modo che venissero iniettati nel container, e ha funzionato…

Dio, quanto tempo ho sprecato con problemi di proxy?? :stuck_out_tongue:

3 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.