¿Cómo puedo get información de git en una máquina de control de nubes?

Estoy buscando una manera de search automáticamente esa información en un contenedor de CloudControl. Así que escribí un pequeño service de Symfony2 que devuelve información de Git, por ejemplo, el hash de confirmación

public function getCommitHash() { exec('git rev-parse --short HEAD', $output); $hash = implode(', ', $output); return $hash; } 

Si ejecuto esto en mi máquina local, devuelve el hash de confirmación abreviado adecuado. Pero si presiono esto en mi máquina CloudControl, la devolución es null . Me conecté manualmente a la máquina y ejecuté este command en la línea de command (en la carpeta www , donde se inserta el repository). Eso arroja el siguiente error:

 fatal: Not a git repository (or any parent up to mount parent ) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). 

Estoy realmente confundido, ya que pensé simplemente empujar todo mi repository (incluida la carpeta .git ) en la máquina remota. ¿Por qué recibo este error y cómo puedo get la información de git?

Si desea utilizar la versión de git dentro de su contenedor en ejecución, puede usar la variable de entorno DEP_VERSION . P.ej:

 <?php echo 'This container is running git commit ' .$_ENV["DEP_VERSION"] . '.'; ?> 

No puede get la información de git desde el interior de un contenedor, ya que el repository de git no se inicializa donde se encuentra el código.

Todo el código está ubicado en un nodo de repository. Puede get la dirección remota ejecutando los detalles de cctrlapp APP_NAME/DEP_NAME details , y tendrá el siguiente formatting: ssh://APP_NAME@cloudcontrolled.com/repository.git .

Dada esta dirección de git, puede agregarla como un control remoto a su directory local ( git remote add cctrl ssh://APP_NAME@cloudcontrolled.com/repository.git ) y get toda la información de git como desee.

    Intereting Posts