Archives par mot-clé : configuration

Docker buildx configuration unix

Buildx et BuildKit apportent beaucoup en rapidité de génération d’image docker.

Voici un petit guide pour activer Buildx par défaut.

éditer votre daemon.json et relancer docker

{
"experimental" : true,
"debug" : true,
"features" : {
  "buildkit" : true
 }
}

Ensuite pour que buildx soit le builder par défaut:

docker buildx install

et pour désinstaller

docker buildx uninstall

Pour fonctionner avec docker-compose, la première version compatible est la 1.25.0 avec son flag COMPOSE_DOCKER_CLI_BUILD=1 permettant d’utiliser directement la commande docker à la place de bibliothèque docker_py.

exemple de commande:

COMPOSE_DOCKER_CLI_BUILD=1 docker-compose build

ou exporter la variable COMPOSE_DOCKER_CLI_BUILD au préalable.

Log4Net – Multi configuration

Pour avoir une configuration de Log4net propre à chaque configuration de votre solution, vous pouvez utiliser les XDT transformations , une implémentation automatisée est fourni par l’extension SlowCheetah avec interface graphique pour Visual Studio.
Une fois cette extension installée, clic-droit sur le fichier log4net.config et sélectionner “Add Transform”.

2 sous-fichiers sont ajoutés:

log4net.config
|
+—- log4net.Debug.config
+—- log4net.Release.config

La transformation la plus simple, “Replace”, est faîte en ajoutant le tag xml xdt:Transform=”Replace” sur le noeud que vous souhaîtez remplacer.

exemple:

<log4net xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform" xdt:Transform="Replace">

Remplacera le noeud log4net complet.

Un exemple de résultat log4net est ci-inclus .
log4net.config
log4net.Debug.config
log4net.Release.config

Vous pouvez pré visualiser la transformation en effectuant un clic droit sur la version debug ou release et en sélectionnant “Preview Transform” .

La syntaxe de transformation est définie dans la documentation disponible sur:

MSDN Doc Xdt transform

Liftweb sample bootstrap with sbt-plugins

Project source accessible in github at https://github.com/heralight/lift_basic_runmode

  • Lift 2.5-M3
  • sbt-runMode (development, production)
  • sbt-js
  • sbt-less
  • modernizr
  • jquery 1.8.3
  • conditional runMode snippet
  • Twitter Bootstrap included to illustrate the use of sbt shell tasks

Goal

Optimize build process in development and production by:

  • conditional compilation js and style files depending on mode configuration.
  • concat file or not
  • compress file or not
  • simplify debugging by separating files in development mode.
  • test production output easily
  • Add custom sbt task like bash script and link to actions

Installation

Uses sbt-plugins plugins.

The current version 0.6-M1 does not work properly with jetty v8. To fix this problem, you can use my fork.


In a temp directory git clone git://github.com/heralight/sbt-plugins.git 
cd sbt-plugin
clean-cache publish-local 

Structure

css and less in main/css js, coffeescript, template in main/js

These directories will be filtered and copied to resourceManaged and include in webappResources.

main js and css name : “app”

naming convention

if filename contains (rules in build.sbt)

  • .p. == production
  • .d. == development
  • .a. == add to output directory, will be included in webAppRessources path and war package.(a.p.xxx, a.d.xxx, a.xxx)

e.g.:

  • app.a.d.css => main css file in development and this file will be included to output directory.
  • app.a.p.js => main js file in production and this file will be included to output directory.
  • app-part.less => not parsed if not import in any “a” file.

Usages

start in development:

development:start 

start in production:

production:start 

stop in development:

development:stop 

stop in production:

production:stop 

dst and pst will do a stop and a start.

compile css manually:

xxmode:less 

compile js manually:

xxmode:js 

clean output:

xxmode:clean 
to clean only css xxmode:less::clean
to clean only js xxmode:js::clean 

Alias

already set in .sbtrc

 

    alias dst=;development:stop;development:start
    alias pst=;production:stop;production:start
    alias dsl= ;development:stop;~development:start
    alias psl= ;production:stop;~production:start
    alias dstop=development:stop
    alias dstart=development:start
    alias dc = development:compile
    alias pstop=production:stop
    alias pstart=production:start
    alias pc = production:compile
    alias dclean=development:clean
    alias pclean=production:clean
    alias djclean=development:js::clean
    alias dlclean=development:less::clean

 

Recommendation

make a clean before swapping modes.

For more details on sbt-plugins, refer to sbt-plugins Readme.

To go further, I recommend you mix this project with the lift-mongo.g8 produced by Tim Nelson.