Giter VIP home page Giter VIP logo

ananas-build-toolkit's Introduction

Ananas Build Toolkit

Présentation du projet

L'Ananas Build Toolkit est un framework de configuration et de déploiement de projet logiciel.

Ces principaux intérêts sont :

  • Installation aisée
  • Indifférent au(x) langage(s) de programmation utilisé(s) au sein du projet
  • Cycle de travail simple et rapide à prendre en main
  • Gestion efficace de profils de configuration multiples
  • Modulaire et extensible
  • Libre et gratuit

Il est basé sur Ant et PHPreprocessor.

Installation et configuration

Le toolkit s'installe à l'aide de Composer.

Placez-vous à la racine du projet et créez un fichier composer.json avec le contenu suivant :

{
    "repositories": [
        {
            "type": "git",
            "url": "[email protected]:constructions-incongrues/ananas-build-toolkit.git"
        }
    ],
    "require": {
        "constructions-incongrues/ananas-build-toolkit": "0.25.*"
    },
    "scripts": {
        "post-install-cmd": "ant -f vendor/constructions-incongrues/ananas-build-toolkit/modules/toolkit/module.xml init -Dbasedir=$PWD",
        "post-update-cmd": "ant init"
    }
}

Installez Composer :

curl -s http://getcomposer.org/installer | php

Récupérez le toolkit et ses dépendances :

./composer.phar install --prefer-dist

Par défaut, seul le module properties est activé. Vous pouvez activer plus de modules en ajoutant leur nom à la liste (séparée par des virgules) définie par la directive toolkit.modules dans le fichier etc/common/build.properties. Par exemple

toolkit.modules=properties,git,composer,liquibase,php

Modules disponibles à ce jour : composer, filesystem, git, liquibase, php, properties, rsync, rsync2, symfony1, toolkit, toolkit-sdk.

Utilisation

Le toolkit expose sept tâches. L'appel d'une tâche déclenche les actions correspondantes dans chacun des modules activé.

NB : Certaines version de oracle-java8 semblent poser problème. Par contre, oracle-java7 fonctionne sans problème.

bootstrap

Cette tâche installe les composants nécessaires au bon fonctionnement de chacun des modules du toolkit. Elle doit être exécutée à chaque fois qu'un nouveau module est activé. Elle est appelée automatiquement lors de l'initialisation du projet par la tâche init.

Pour l'invoquer :

ant bootstrap

build

Cette tâche génère le code qui doit l'être (classes d'ORM, etc) et effectue les opérations sur le système de fichiers (création de dossiers, liens symboliques, permissions, etc).

Pour l'invoquer :

ant build

configure

Cette tâche applique la configuration aux sources du projet. Les directives configurables dans les fichier suffixé par -dist sont remplacées par les valeurs définies dans le profil de configuration.

Pour l'invoquer :

ant configure

migrate

Cette tâche gère les modifications des données du projet et de leurs structures (base de données ou autre).

Pour l'invoquer :

ant migrate

review

Cette tâche analyse la qualité du code source avant que les modifications ne soient poussées vers le dépôt.

Pour l'invoquer :

ant review

sync

Cette tâche envoie les sources du projet vers le(s) serveur(s) distant(s).

Pour l'invoquer :

ant sync

update

Cette tâche met à jour le projet : dépendances git, Composer, etc. Elle recherche aussi les directives configurables dans les sources et met à jour les profils de configuration.

Pour l'invoquer :

ant update

ananas-build-toolkit's People

Contributors

aa-rundeck avatar gmacaire avatar gperr1 avatar senhay avatar slebrequier avatar trivoallan avatar

Watchers

 avatar

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.