Test PHP applications
This guide will help you to test PHP applications with FluentCI.
Before you begin
The instructions on this page assume that you are familiar with PHP
. In addition:
- Be familiar with creating PHP-based applications.
- Have your PHP project ready.
- Have your
composer.json
andphpunit.xml
files ready. - Have your tests written in the
tests
directory.
Using the PHP Plugin
You can use FluentCI to test PHP applications using the php plugin, no need to install PHP on your machine, FluentCI will handle everything for you.
The following commands can be used to test PHP applications:
fluentci run --wasm php compose_install
fluentci run --wasm php test
CI/CD pipeline integrations
The following examples show how to integrate FluentCI with popular CI providers to test PHP applications:
- Github Actions
- GitLab CI
- Circle CI
- Azure Pipelines
- AWS CodePipeline
ci.yml
name: ci
on:
push:
branches:
- main
jobs:
tasks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Fluent CI
uses: fluentci-io/setup-fluentci@v5
- name: composer install
run: fluentci run --wasm php composer_install
- name: test
run: fluentci run --wasm php test
.gitlab-ci.yml
.docker:
image: denoland/deno:debian-1.42.4
services:
- docker:${DOCKER_VERSION}-dind
variables:
DOCKER_HOST: tcp://docker:2376
DOCKER_TLS_VERIFY: "1"
DOCKER_TLS_CERTDIR: /certs
DOCKER_CERT_PATH: /certs/client
DOCKER_DRIVER: overlay2
DOCKER_VERSION: 20.10.16
GITLAB_ACCESS_TOKEN: $GITLAB_ACCESS_TOKEN
.fluentci:
extends: .docker
before_script:
- apt-get update
- apt-get install -y curl tar gzip ca-certificates openssl git unzip libncursesw6
- deno install -A -r https://cli.fluentci.io -n fluentci
- fluentci --version
- curl -L https://dl.dagger.io/dagger/install.sh | DAGGER_VERSION=0.12.3 sh
- mv bin/dagger /usr/local/bin
- dagger version
composer install:
extends: .fluentci
script:
- fluentci run --wasm php composer_install
test:
extends: .fluentci
script:
- fluentci run --wasm php test
.circleci/config.yml
version: 2.1
jobs:
job:
steps:
- checkout
- run: |
sudo apt-get update && sudo apt-get install -y curl unzip
curl -fsSL https://cli.fluentci.io | bash
fluentci --version
name: Setup FluentCI
- run: fluentci run --wasm php composer_install
name: composer install
- run: fluentci run --wasm php test
name: test
machine:
image: ubuntu-2004:2023.07.1
workflows:
fluentci:
jobs:
- job
azure-pipelines.yml
trigger:
- main
pool:
vmImage: ubuntu-latest
steps:
- script: |
curl -fsSL https://cli.fluentci.io | bash
fluentci --version
echo "##vso[task.prependpath]${HOME}/.deno/bin
displayName: Setup FluentCI
- script: fluentci run --wasm php composer_install
displayName: composer install
- script: fluentci run --wasm php test
displayName: test
buildspec.yml
version: 0.2
phases:
install:
commands:
- curl -fsSL https://cli.fluentci.io | bash
- fluentci --version
build:
commands:
- fluentci run --wasm php composer_install
- fluentci run --wasm php test
post_build:
commands:
- echo Build completed on `date`