Depurar las compilaciones de Buildpacks de forma local antes del despliegue permite identificar y corregir problemas con anticipación. Esto reduce los errores durante el despliegue y mejora la eficiencia del desarrollo.
Preparativos
-
Preparación de la red
Asegúrese de que su entorno local tenga acceso a Docker Hub, ya que las imágenes de contenedor de Buildpacks se alojan allí.
-
Instalación de Docker
Debe instalar Docker antes de usar la herramienta Pack. Para Alibaba Cloud Linux, ejecute los comandos a continuación:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum makecache yum install -y curl git docker-ce systemctl enable docker && systemctl start docker Código de la aplicación: Asegúrese de que el repositorio de código de su aplicación esté listo.
Procedimiento
Paso 1: Instalar la herramienta Pack
Descargue e instale la herramienta Pack. El ejemplo a continuación usa Alibaba Cloud Linux.
# Download and install pack
PACK_VERSION="0.36.4"
DOWNLOAD_URL="https://github.com/buildpacks/pack/releases/download/v${PACK_VERSION}/pack-v${PACK_VERSION}-linux.tgz"
CHECKSUM_URL="${DOWNLOAD_URL}.sha256"
# Download and verify the pack file
echo "Downloading pack v${PACK_VERSION}..."
if ! curl -fsSL "$DOWNLOAD_URL" -o pack-v${PACK_VERSION}-linux.tgz; then
echo "Failed to download pack v${PACK_VERSION}."
exit 1
fi
echo "Downloading completed."
echo "Verifying checksum..."
if ! curl -fsSL "$CHECKSUM_URL" -o pack.tgz.sha256; then
echo "Failed to download checksum file."
exit 1
fi
if ! sha256sum --check --status pack.tgz.sha256; then
echo "Checksum verification failed."
exit 1
fi
echo "Checksum verified successfully."
tar xvzf pack-v${PACK_VERSION}-linux.tgz -C /usr/local/bin/
# Check if the installation was successful
pack --version
Paso 2: Usar la herramienta Pack para depurar la aplicación
-
Compile la aplicación y cree una imagen mediante el comando
pack build.-
Comando: Reemplace
<your-image-name>con el nombre de la imagen de contenedor por generar y reemplace Replace with the name of the container image to be generated,<path-to-your-app>con la ruta local del código de la aplicación.pack build <your-image-name> --path <path-to-your-app> --builder heroku/builder:24 -
Ejemplo: En este caso, el nombre de la imagen es
my-appy la ruta es./my-app.pack build my-app --path ./my-app --builder heroku/builder:24
-
-
Ejecute la imagen generada con el comando a continuación.
# Specify environment variables and ports according to your application code docker run -e PORT=8080 -p8080:8080 my-app -
Acceda a
http://localhost:<port-number>para probar su aplicación.En este ejemplo, reemplace
<port-number>con8080.
Paso 3: Depurar y adaptar la aplicación
Si la aplicación presenta problemas durante la compilación o en tiempo de ejecución, depúrela y adáptela según sea necesario.
-
Revise los registros de compilación de la aplicación.
Para obtener registros de compilación detallados, use el parámetro
--verbose. Ejecute el comando a continuación:pack build my-app --path ./my-app --builder heroku/builder:24 --verbose -
Modifique el código de la aplicación y vuelva a depurar.
Con base en la información de depuración, modifique el código y ejecute
pack buildnuevamente. -
Incorpore variables de entorno.
Pase las variables de entorno mediante la opción
--env. Ejecute el comando a continuación:pack build my-app --path ./my-app --builder heroku/builder:24 --env MY_ENV=production -
Realice más pruebas y verificaciones locales.
Asegúrese de que la funcionalidad y el rendimiento de la aplicación cumplan con los requisitos; para ello, ejecútela y pruébela dentro del contenedor.
Referencias
Para problemas específicos de buildpacks, consulte Configure an application in a specific programming language o la documentación oficial de buildpacks.
Si usa buildpacks de terceros especificados en
project.toml, consulte la documentación correspondiente de Cloud Native Buildpacks.