Exec de error de ensayo de CloudFoundry: "git": file ejecutable no encontrado en $ PATH

En 3 de mis 6 espacios Swisscom CloudFoundry, recibo el siguiente error al implementar con el mismo buildpack (personalizado).

Starting app my-app-name in org my-org / space my-space as user@company.com... Creating container Successfully created container Downloading app package... Downloaded app package (26M) Staging... exec: "git": executable file not found in $PATH Exit status 1 Staging failed: Exited with status 1 FAILED StagingError 

Estoy usando el siguiente buildpack en el manifest.yml:

 --- buildpack: https://github.com/shiftcode/java-buildpack-mongodb domain: scapp.io path: target/my-app-name.zip disk_quota: 1024M domains: - scapp.io services: - my-service-one - my-service-two ... env: JBP_CONFIG_OPEN_JDK_JRE : '[jre: {version: 1.8.0_+}, memory_calculator: {memory_heuristics: {heap: 35, metaspace: 30, stack: 5, native: 30}}]' MONGO_DB_VERSION : '3.2.0' MONGODB_CMD_PATH : '.mongo/bin/' MONGODB_MAX_POOLSIZE : '1' MALLOC_ARENA_MAX : '2' MALLOC_MMAP_THRESHOLD_ : '131072' MALLOC_TRIM_THRESHOLD_ : '131072' MALLOC_TOP_PAD_ : '131072' MALLOC_MMAP_MAX_ : '65536' # app specific configuration applications: - name: my-app-name-development memory: 512M instances: 2 host: my-app-name-development - name: my-app-name-staging memory: 512M instances: 2 host: my-app-name-staging 

Este buildpack amplía el java-buildpack normal al agregar una installation mongodb (usamos el command mongodump para copys de security). El mismo buildpack con el mismo código y la misma configuration de manifest.yml funciona en algunos espacios pero no en otros. Intenté eliminar la aplicación antes de volver a presionar sin éxito. Tengo acceso ssh (diego) habilitado en todos los espacios y aplicaciones.

¿Alguna idea sobre por qué el file ejecutable de git no está disponible durante la preparación y cómo solucionarlo o repararlo? Me gustaría evitar la molestia (y el costo) de eliminar los espacios y recrearlos.

Este es un problema con la tecnología de contenedor garden-runc en Cloud Foundry versiones 0.7.0 y anteriores. Como conjetura por la respuesta aceptada, si una variable env contenía la cadena "RUTA", hay un error en el jardín que establece la RUTA incorrectamente.

Esto se ha resuelto desde el lanzamiento de garden-runc 0.8.0. Puede encontrar la historia asociada que se trabajó aquí:

https://www.pivotaltracker.com/story/show/129773615

y el compromiso que soluciona este problema aquí:

https://github.com/cloudfoundry/guardian/commit/e191b2ca8365f44c812cb8feb70c722391886063

La solución para este problema es establecer otra variable de entorno para su aplicación:

PATH: /usr/local/bin:/usr/bin:/bin

Este es un error recientemente registrado. Ver https://www.pivotaltracker.com/n/projects/1158420/stories/129773615

Por ahora, debe usar soluciones temporales para eliminar o modificar *PATH inputs de *PATH .

Después de muchas vueltas con las variables de env, descubrí que el problema estaba en la variable de env MONGODB_CMD_PATH de mi manifest.yml . Parece que cualquier variable env que finalice en PATH influye / anula el env de $PATH hace que el process de ensayo falle porque los files ejecutables necesarios ya no se encuentran en la ruta del sistema.

Tuve el mismo problema, y ​​la respuesta aceptada funcionó para mí. Lo siguiente es para el beneficio de Googlers:

Estaba estableciendo la variable PYTHONPATH en mi manifiesto. CloudFoundry estaba configurando correctamente el env var PYTHONPATH , pero también lo estaba utilizando para sobrescribir la variable PATH . La solución para mí fue establecer PYTHONPATH en $PATH:/my/python/path . Si bien eso agrega directorys extraños a PATH y PYTHONPATH , funciona como se esperaba.