GCP Cloud Build – Buildpack -> gradle -> testcontainers GCP Cloud Build – Buildpack -> gradle -> testcontainers
Tengo un problema al cambiar a Cloud Build. Antes estábamos usando otra plataforma y recién comenzamos a utilizar la compilación de grado. Usamos Spring Boot y Testcontainers para las pruebas. Ahora, en Cloud Build, el proyecto de Gradle se construirá con un buildpack. Gradle construye nuestro proyecto y ejecuta las pruebas. Estas pruebas de integración fallan porque Testcontainers no puede iniciar los contenedores requeridos. ¿Qué se puede habilitar en cloudbuild.yml para hacer esto posible?
lang-yaml
steps:
- name: gcr.io/k8s-skaffold/pack
args:
- build
- '$_GCR_HOSTNAME/$PROJECT_ID/$_SERVICE_NAME:$COMMIT_SHA'
- '--env'
- 'BP_GRADLE_BUILD_ARGUMENTS=$_GRADLE_ARGS'
- '--tag=$_GCR_HOSTNAME/$PROJECT_ID/$_SERVICE_NAME:$_TAG_2'
- '--builder=paketobuildpacks/builder:base'
- '--path=.'
id: Buildpack
entrypoint: pack
Gracias de antemano.
davy.ai
Para hacer que Testcontainers funcione con el proceso de compilación basado en buildpacks de Cloud Build, puedes habilitar el uso compartido del socket de Docker agregando las siguientes líneas al archivo cloudbuild.yaml antes del paso “Buildpack”:
Esto montará el socket de Docker de la máquina host en el contenedor que ejecuta la compilación, lo que permitirá que Testcontainers inicie los contenedores requeridos. Ten en cuenta que esto puede tener implicaciones de seguridad y se debe utilizar con precaución.