Dockerized Phing + Commons for Continuous Integration
- build.xml file will be placed in your project root directory
<?xml version="1.0" encoding="UTF-8"?>
<project name="application" basedir="." default="commons:help">
<import file="/srv/phing/commons/base.xml"/>
</project>
- use commons templates with pre-defined configurations
- import the specific commons in your build.xml
<import file="/srv/phing/commons/base.xml"/>
<import file="/srv/phing/commons/bolt3.xml"/>
<import file="/srv/phing/commons/grav1.xml"/>
<import file="/srv/phing/commons/laravel5.xml"/>
<import file="/srv/phing/commons/laravel6.xml"/>
<import file="/srv/phing/commons/lumen5.xml"/>
<import file="/srv/phing/commons/lumen6.xml"/>
<import file="/srv/phing/commons/sulu2.xml"/>
<import file="/srv/phing/commons/symfony4.xml"/>
<import file="/srv/phing/commons/symfony5.xml"/>
- build.yml file will be placed in your project root directory
phing:
properties:
project_name: "phing"
- build.env file will be placed in your project root directory
- will hold environment configurations for phing
- VERSION file will be placed in your project root directory
- will hold the semver version of your project
- calling phing without target, outputs complete help overview
phing
- calling phing with target and specific target help
- echo target has a sub-target :help
phing TARGETNAME
phing TARGETNAME:help
- initialises the latest bolt3 application in your project directory
- http://bolt3.127.0.0.1.xip.io
phing init:bolt3
phing start
- initialises the latest grav1 application in your project directory
- http://grav1.127.0.0.1.xip.io
phing init:grav1
phing start
- initialises the latest laravel5 application in your project directory
- http://laravel5.127.0.0.1.xip.io
phing init:laravel5
phing start
- initialises the latest laravel6 application in your project directory
- http://laravel6.127.0.0.1.xip.io
phing init:laravel6
phing start
- initialises the latest lumen5 application in your project directory
- http://lumen5.127.0.0.1.xip.io
phing init:lumen5
phing start
- initialises the latest lumen6 application in your project directory
- http://lumen6.127.0.0.1.xip.io
phing init:lumen6
phing start
- initialises the latest sulu2 application in your project directory
- http://sulu2.127.0.0.1.xip.io
phing init:sulu2
phing start
- initialises the latest symfony4 application in your project directory
- http://symfony4.127.0.0.1.xip.io
phing init:symfony4
phing start
- initialises the latest symfony5 application in your project directory
- http://symfony5.127.0.0.1.xip.io
phing init:symfony5
phing start
- docker 19.03.6
- docker-compose 1.25.1
- kubectl v1.17.3
- some features are available through docker containers
- all features can be configured through docker environment variables when calling the phing container
- all featured are defined with default variables
- use the environment variable in your build.env file to configure this feature
PHING_CLOSURE_COMPILER=elnebuloso/google-closure-compiler:latest
PHING_COMPASS=elnebuloso/compass:latest
PHING_COMPOSER=composer
PHING_CSSO=elnebuloso/csso-cli:latest
PHING_CSSO=alpine/helm:latest
PHING_NPM=node:lts-alpine
PHING_PHPMETRICS1=elnebuloso/php-phpmetrics:1
PHING_PHPMETRICS2=elnebuloso/php-phpmetrics:2
PHING_PHPMETRICS2=elnebuloso/prettier:latest
PHING_PRETTIER=elnebuloso/prettier:latest
PHING_SONARQUBE_SCANNER=elnebuloso/sonarqube-scanner:latest
PHING_YARN=node:lts-alpine