#Otto Fischer OXID EE 6.2
- master -> production
- staging -> staging
- test -> test
Environment | Build status |
---|---|
Staging (staging) | |
Test (test) | |
Master (master) |
Builds will be created automatically by triggers.
The build pipeline can be adjusted by editing the azure-pipelines.yaml.
Attention: Changes are only allowed by employees of ESYON!
Deployments will be managed within Releases by employees of ESYON.
This is an OXID EE 6.2 development / staging / production environment collection using Docker with the following services:
- PHP-FPM (php7.4-fpm-alpine3.13)
- Apache (httpd:2.4.46-alpine)
- MariaDB (bitnami/mariadb:10.4)
- Grunt (alpine:3.13)
- install the development toolkit
- clone the otto fischer environment
git clone https://dev.azure.com/esyon/Otto%20Fischer/_git/OXID_V6_EE_AKS OttoFischer
- add the following host entries:
# otto fischer
127.0.0.1 ottofischer.localhost.local
- run the main development toolkit
- run the otto fischer development environment
cd OttoFischer
docker-compose up
- the building process might take a while - wait for the finish message
- on initial run import the database and setup oxid
make db-import
make init
Service | URL |
---|---|
Apache | http://ottofischer.localhost.local |
FastCGI Process Manager | fcgi://php-fpm-ottofischer-development:9000 |
MariaDB | tcp://mariadb-ottofischer-development:3306 |
Service | Auth information |
---|---|
OXID EE 6.2 | username: [email protected] password: qL0sj6eKM84buzmzrkiG |
MariaDB | server: mariadb-ottofischer-development username: dev password: dev database: database |
This docker environment collection contains the environment for the following systems:
- development
- test
- staging
- production
Folder | Description |
---|---|
database | demo database dump for development environment |
docker/oxid/<PROVISION_CONTEXT>/deployment | compositions for azure pipeline |
docker/oxid/<PROVISION_CONTEXT>/apache | apache & configurations |
docker/oxid/<PROVISION_CONTEXT>/grunt | grunt cli container |
docker/oxid/<PROVISION_CONTEXT>/php-fpm | container for php-fpm |
docker/oxid/<PROVISION_CONTEXT>/mariadb | container for MariaDB |
docker/oxid/<PROVISION_CONTEXT>/etc | environment files & custom files for ssh & cron |
devOps | all devOps related files Should only modified by ESYON employees! |
devOps/<PROVISION_CONTEXT>/azure-pipelines.yaml | sets up azure pipeline Should only modified by ESYON employees! |
devOps/<PROVISION_CONTEXT>/docker-compose.yml | responsible for building services Should only modified by ESYON employees! |
devOps/<PROVISION_CONTEXT>/helm | Helm template for deployment to K8s Should only modified by ESYON employees! |
app/oxid | oxid sources |
Be careful changing the environment - it will be deployed to any system (test / staging / production).
Attention: Modifying content within the devOps folder is only allowed by an employee of ESYON!
Every useful command can be run via makefile.
Note: Please uncomment the grunt taksk if grunt is supposed to be enabled and change the path to the directory.
Run setup of oxid (composer update, create directories and so on).
Runs the grunt tak for the template.
Attention: Grunt will no longe be processed during the build task. Please execute grunt befor each checkin and also checkinthe generated ressources.
Imports the database if database is empty.
Runs docker-compose up.
Runs docker-compose stop.
Executes bash (sh) within the container.
Clears OXID cache.
Runs composer update.
Runs composer-dump-autoload.
Creates a new doctrine migration.
Install a module (oe-console oe:module:install-configuration) by user input of the module folder.
Runs oe-console oe:module:apply-configuration.
Each project is under version control (VSC).
-
always create a Feature-Branch, based on the current master:
Features/R<RELEASE-NO>/OF-<JIRA-TICKET-NO>_describingText
<RELEASE-NO>
- according to JIRA solution (1.3):Features/R1.3/OF-123_PriceModule
# be sure you are on the master branch git checkout master # always pull the latest code base git pull # create a new feature branch git checkout -b Features/R<RELEASE-NO>/OF-<JIRA-TICKET-NO>_describingText
-
run the grunt process
make grunt
-
add changes to VCS and push your code
# add all related files git add -A # commit using a clear comment git commit -m "OF-<JIRA-TICKET-NO>: describingText # push all changes git push
-
create merge request into test
-
assign merge request to someone
-
the PR is delivered during automatically after merge
- always create a Hotfix-Branch, based on the master:
Hotfix/OF-<JIRA-TICKET-NO>_describingText
# be sure you are on the master branch git checkout master # always pull the latest code base git pull # create a new feature branch git checkout -b Hotfix/OF-<JIRA-TICKET-NO>_describingText
- run the grunt process
make grunt
- add changes to VCS and push your code
# add all related files git add -A # commit using a clear comment git commit -m "OF-<JIRA-TICKET-NO>: describingText # push all changes git push
- create merge request into test
- assign merge request to someone
- the PR is delivered during automatically after merge
- please refer to the style guides & coding conventions of ESYON
- set up PHPStorm to PHP 7.4 interpreter
- use PSR1/PSR2 coding style - always format your code!
- use unix line endings (LF)
- use utf8 file encoding
- local coding checks:
- PHPCPD - https://github.com/sebastianbergmann/phpcpd
- PHPMD - https://phpmd.org/
- PHPCS - https://github.com/FriendsOfPHP/PHP-CS-Fixer
- run local unit tests before checkin