Giter Site home page Giter Site logo

kiboko-labs / kloud Goto Github PK

View Code? Open in Web Editor NEW
8.0 5.0 6.0 857 KB

Build and manage your development Docker stack for @OroCommerce, OroCRM, OroPlatform and MArello applications

Home Page: http://kiboko.fr

License: MIT License

Dockerfile 14.84% Makefile 3.27% PHP 81.83% Shell 0.06%
oroplatform-enterprise-edition marello oro marello-enterprise-edition oroplatform orocommerce orocommerce-enterprise-edition orocrm-enterprise-edition cli fpm

kloud's Introduction

Docker images and stacks for Oro and Marello development

This project aims at building your Docker stack for OroCommerce, OroCRM, OroPlatform and Marello development.

⚠️ Nota: Those stacks are not suited for production hosting, but to provide an environment based on Docker as identical as possible to OroCloud and MarelloCloud on a personal computer.

What to expect from this tool?

This tool has to be used in addition ot the installation instructions from Oro-family applications. It will build an execution environment based on Docker and Docker Compose for your existing projects or can be added to a brand-new project.

Documentation

kloud's People

Contributors

dependabot[bot] avatar gplanchat avatar matiaso avatar nicolas43000 avatar programgames avatar rey0bs avatar sebprt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

kloud's Issues

memory_limit=-1

Est-ce que c'est vraiment judicieux? On pourrait pas mettre une valeur assez haute pour être inhabituelle et comme ça détecter les grosses fuites mémoire quand on a du code qui traite des gros volumes et qui mange la ram, parce qu'en l'état, avec le memory_limit = -1 on ne se pose pas la question vu qu'il n'y a pas de limite.

<?php

boucle(4000000); //130mb
boucle(20000000); // 1gb
boucle(100000000); // 4gb

// avec le memory_limit=-1 si le script prends 4gb on ne le détectera pas forcement

function boucle(int $nbLoop)
{
    $test = [];
    for ($i = 0; $i < $nbLoop; $i++) {
        $test[] = $i;
    }
    printMem();
    unset($test);
}

function printMem()
{
    $memBytes = memory_get_usage();
    $memMegaBytes = round($memBytes/1000000);
    $memGigabytes = round($memMegaBytes/1000);
    
    var_dump([
        'bytes'     => $memBytes,
        'megaBytes' => $memMegaBytes,
        'gigaBytes' => $memGigabytes
    ]);
}

Services non voulus après stack:init

Quand je fais la commande kloud stack:init avec :

  • blackfire = non
  • xdebug = non

3 services en trop sont créés dans docker-compose.yml qui sont :

  • fpm-xdebug
  • sh-xdebug
  • blackfire

Implement deployment commands

As a developer I want to deploy my application on an environment, should it be local or remote, be able to synchronize the files I have in local and the ones on the remote environment.

Commands to add:

  • environment:init Asks questions about the location (server/directory) of the remote environment, environment variables to set and writes them inside a .kloud.environment.yaml file in the local workspace.
  • environment:deploy integrates https://deployer.org to deploy the application in the remote environment:
    • rsync the sources
    • build the Docker infrastructure through docker-compose up --no-start
  • environment:destroy that integrates https://deployer.org to destroy the application in the remote environment:
    • destroy the Docker infrastructure through docker-compose down and delete the appropriate persistent volumes
    • delete the sources and the directory
  • environment:start that integrates https://deployer.org to start the application in the remote environment, should fail if the application wasn't previously deployed
  • environment:stop that integrates https://deployer.org to stop the application in the remote environment, should fail if the application wasn't previously deployed
  • environemnt:cache:clear that integrates https://deployer.org to clear the application caches and restart the FPM servcie(s)
  • environment:rsync that synchronizes the local and remote sources (in case you switched from git branches)
  • environment:database:dump that dumps the database in the current state
  • environment:database:load that loads a database dump
  • environment:variable:get that prints the value of an environment variable
  • environment:variable:set that changes the value of an environment variable
  • environment:variable:list that prints the values of all environment variables
  • environment:variable:unset that unsets an environment variable
  • environment:proxy that proxies a port in the stack to a local port (especially for Xdebug and database accesses)
  • environment:shell that opens a shell in a node of the execution environment (be it sh, sh-xdebug or sql nodes)

Oro CRM nécéssite PHP 7.4.14

Oro CRM nécessite PHP 7.4.14 et la version de PHP générée est 7.4.12 :

This package requires php ~7.4.14 || ~8.0.0 but your PHP version (7.4.12) does not satisfy that requirement.

Image utilisée:
kiboko/php:7.4-cli-orocrm-ce-4.2-mysql

Limitation max_input_vars

Suite à l'impossibilité de modifier les produits importés par OroAkeneo en BO, nous avons fait une demande à OroInc à ce sujet :
https://magecore.atlassian.net/servicedesk/customer/portal/2/OSD-5122

Voici leur réponse :

Dima Shatovskiy, vendredi 5:31 PM
Hello Xavier,

Your dev environment triggers error because form is not sent to the server completely due to limitation max_input_vars.
default is 1000 but form is very big that is why it doesn't work. Please try to increase limits on dev and you will see it's working.
We would recommend to hide attributes from form that you do not need, it is very inconvenient for use and triggers such fantom errors.

Thank you,
Dima

oro/platform 4.1.4 requires ext-pcntl

Hi,

The php extension ext-pcntl seems to be missing in the following images
kiboko/php:7.3-cli-orocommerce-ce-4.1-mysql
kiboko/php:7.4-cli-orocommerce-ce-4.1-mysql

Got error

Problem 1
  - oro/platform 4.1.4 requires ext-pcntl * -> the requested PHP extension pcntl is missing from your system.
  - oro/platform 4.1.4 requires ext-pcntl * -> the requested PHP extension pcntl is missing from your system.
  - Installation request for oro/platform 4.1.4 -> satisfiable by oro/platform[4.1.4].

Thanks for your works.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.