CI toolset for Laravel applications
10K+
Docker images for building, testing, and deploying Laravel applications in CI/CD pipelines. Supports multiple PHP and Node.js version combinations with all essential Laravel tools pre-installed.
Docker Hub: drahosistvan/laravel-ci-tools
# Pull the latest image
docker pull drahosistvan/laravel-ci-tools:latest
# Or use in your CI/CD pipeline
image: drahosistvan/laravel-ci-tools:php8.5-node24
PATH, installed in ~/.composer/vendor/bin)latest → PHP 8.5 + Node 25php8 → PHP 8.5 + Node 24php8.2 → PHP 8.2 + Node 24php8.3 → PHP 8.3 + Node 24php8.4 → PHP 8.4 + Node 24php8.5 → PHP 8.5 + Node 24node24 → PHP 8.5 + Node 24node25 → PHP 8.5 + Node 25Format: php{VERSION}-node{VERSION}
All 8 combinations available:
php8.2-node24, php8.2-node25php8.3-node24, php8.3-node25php8.4-node24, php8.4-node25php8.5-node24, php8.5-node25image: drahosistvan/laravel-ci-tools:php8.5-node24
stages:
- build
- test
- deploy
build:
stage: build
script:
- composer install --no-interaction --prefer-dist --optimize-autoloader
- npm install
- npm run build
test:
stage: test
script:
- php artisan test
deploy:
stage: deploy
script:
- ~/.composer/vendor/bin/vapor deploy production
only:
- main
jobs:
build:
runs-on: ubuntu-latest
container:
image: drahosistvan/laravel-ci-tools:php8.5-node24
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
composer install
npm ci
- name: Build assets
run: npm run build
- name: Run tests
run: php artisan test
image: drahosistvan/laravel-ci-tools:php8.5-node24
pipelines:
default:
- step:
name: Build and Test
caches:
- composer
- node
script:
- composer install
- npm ci
- npm run build
- php artisan test
# Pull specific version
docker pull drahosistvan/laravel-ci-tools:php8.5-node24
# Run interactive shell
docker run -it --rm drahosistvan/laravel-ci-tools:latest bash
# Run specific commands
docker run --rm drahosistvan/laravel-ci-tools:latest php -v
docker run --rm drahosistvan/laravel-ci-tools:latest node -v
docker run --rm drahosistvan/laravel-ci-tools:latest composer --version
# Using the build script
./build/build.sh 8.5 24
# Or manually with Docker
docker build \
--build-arg PHP_VERSION=8.5 \
--build-arg NODE_VERSION=24 \
-t laravel-ci-tools:php8.5-node24 \
-f src/Dockerfile \
.
# Build all combinations
./build/build-all.sh
# Build and push to Docker Hub
./build/build-all.sh --push
# Test a specific combination
./build/test.sh 8.5 24
All images are automatically rebuilt:
Total Combinations: 8 images (4 PHP × 2 Node.js versions)
| PHP | Node 24 (Active LTS) | Node 25 (Latest) |
|---|---|---|
| 8.2 | ✅ | ✅ |
| 8.3 | ✅ | ✅ |
| 8.4 | ✅ | ✅ |
| 8.5 | ✅ | ✅ |
More CI/CD examples available in the examples/ folder:
Contributions are welcome! You can help by:
See CONTRIBUTING.md for guidelines.
This project is free and unencumbered software released into the public domain. See the LICENSE file for details.
Content type
Image
Digest
sha256:417ef3a47…
Size
406.9 MB
Last updated
4 days ago
docker pull drahosistvan/laravel-ci-tools