HARGABLOG
Bahasa
Helipack Engine

Dockerfile Tanpa Menulis.

Helipack ialah enjin build dalaman Helipod yang mengesan framework daripada repositori anda dan menjana Dockerfile production-ready, dengan multi-stage build, build secrets dan amalan keselamatan terbaik.

Helipack EngineDemo
1
2
3
4
Pengesanan runtime
composer.json
artisan
package.json
yarn.lock
Dockerfile (dijana secara automatik)
FROM dunglas/frankenphp:latest-php8.3-alpine AS base
WORKDIR /app
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
 
FROM base AS deps
COPY composer.json composer.lock ./
RUN composer install --no-dev --prefer-dist
 
FROM base AS runner
COPY . .
COPY --from=deps /app/vendor ./vendor
RUN composer dump-autoload --optimize
 
RUN --mount=type=secret,id=build_env \
php artisan config:cache && php artisan route:cache
 
EXPOSE 8000
CMD ["frankenphp", "run"]

Mengapa penting

Apa yang anda dapat

Runtime Detection

Helipack mengimbas repositori dan mengesan framework daripada fail konfigurasi, dependencies dan struktur project.

Multi-stage Build

Dockerfile yang dijana menggunakan multi-stage build untuk meminimumkan saiz image production.

Build Secrets

Environment variables yang digunakan semasa build tidak disimpan dalam layer image menggunakan BuildKit secrets.

Keselamatan Terbina Dalam

Pengguna bukan root, proses init tini dan layer caching yang dioptimumkan, semuanya ditetapkan secara automatik.

Framework-aware

FrankenPHP untuk Laravel 8.2+, mod standalone untuk Next.js, gunicorn untuk Python, optimum bagi setiap framework.

Cache Optimum

Layer disusun berdasarkan kekerapan perubahan. Dependency jarang berubah, kod sumber kerap berubah, build jadi pantas.

Langkah

Cara ia berfungsi

  1. 01

    Sambungkan Repositori

    Sambungkan repo GitHub/GitLab. Helipack mula mengimbas fail dalam repositori.

  2. 02

    Kesan Framework

    Helipack membaca composer.json, package.json, requirements.txt dan config files untuk mengesan framework.

  3. 03

    Jana Dockerfile

    Dockerfile multi-stage yang optimum dijana secara automatik, dengan amalan keselamatan terbaik.

  4. 04

    Build & Deploy

    Docker image dibina dengan cache optimum, kemudian di-deploy ke production.

FAQ

Soalan lazim

Framework apa yang disokong Helipack?
Helipack menyokong Node.js (Next.js, Nuxt, Remix, Astro, Express, NestJS), PHP (Laravel, Symfony), Python (Django, FastAPI, Flask) dan Go (Gin, Echo). Untuk bahasa lain (Rust, Ruby, Java), gunakan Dockerfile sendiri.
Bagaimana untuk melihat Dockerfile yang dijana?
Lihat dalam Build Logs semasa deploy. Atau untuk pembangunan tempatan, tetapkan HELIPACK_KEEP_DOCKERFILE=1 sebelum build, Helipack akan menyimpan fail sebagai .helipack.Dockerfile.
Bagaimana untuk override config Helipack?
Cipta fail helipack.json di root repositori untuk meng-override arahan build, arahan start, port, health check, packages dan lain-lain. Baca panduan lengkap di blog.
Adakah Helipack selamat untuk production?
Ya. Semua Dockerfile menggunakan BuildKit secrets (env vars tidak disimpan dalam layer), pengguna bukan root, dan proses init tini untuk graceful shutdown.

Sedia untuk mencuba?

Log masuk dengan Google atau GitHub, sambungkan repositori, dan bayar daripada baki Rupiah. Tidak perlu kad kredit.
WhatsApp