Skip to content
This repository has been archived by the owner on Feb 6, 2022. It is now read-only.
/ docker-phing Public archive

[abandoned] Dockerized Phing + Commons for Continuous Integration

Notifications You must be signed in to change notification settings

elnebuloso/docker-phing

Repository files navigation

docker-phing

abandoned

Dockerized Phing + Commons for Continuous Integration

github

docker

usage

configure

create build.xml

  • 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>
commons templates
  • 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"/>

create build.yml file

  • build.yml file will be placed in your project root directory
phing:
  properties:
    project_name: "phing"

(optional) create build.env file

  • build.env file will be placed in your project root directory
  • will hold environment configurations for phing

(optional) create VERSION file

  • VERSION file will be placed in your project root directory
  • will hold the semver version of your project

run scripts

phing targets

  • 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

init bolt3 application

phing init:bolt3
phing start

init grav1 application

phing init:grav1
phing start

init laravel5 application

phing init:laravel5
phing start

init laravel6 application

phing init:laravel6
phing start

init lumen5 application

phing init:lumen5
phing start

init lumen6 application

phing init:lumen6
phing start

init sulu2 application

phing init:sulu2
phing start

init symfony4 application

phing init:symfony4
phing start

init symfony5 application

phing init:symfony5
phing start

available tools

  • docker 19.03.6
  • docker-compose 1.25.1
  • kubectl v1.17.3

available tools via dockerception

  • 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

dockerception tools with defaults

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