docker, alpine, python, mariadb : Modifications pour faire tourner les tests avec python / mariadb en utilisant MySQL-python

2020-12-02 | #alpine #docker #mariadb

Erreurs vues et paquets installés : apk add python3 python3-dev py3-virtualenv apk add python2 python2-dev apk add mariadb-dev #error: command 'gcc' failed with exit status 1 # ---------------------------------------- # ERROR: Failed building wheel for MySQL-python apk add gcc #19 | #include <limits.h> # | ^~~~~~~~~~ # compilation terminated. # error: command 'gcc' failed with exit status 1 apk add libc-dev #_mysql.c: In function '_mysql_ConnectionObject_ping': #_mysql.c:1804:41: error: 'MYSQL' {aka 'struct st_mysql'} has no member named 'reconnect' #1804 | if ( reconnect !

Continuer la lecture 


docker / alpine / mariadb : ce que j'en pense....

2020-12-02 | #alpine #docker #mariadb

J’ai voulu passer à alpine à cause de la taille de l’image produite et parce qu’elle boote vite. Je voulais améliorer les performances du pipeline de mon projet. J’ai eu beaucoup de déboires pour : comprendre et réussir à faire tourner le service MariaDB dans docker (je voulais une image généraliste qui ne fasse pas que MariaDB mais aussi du java/maven & du python2.7) contourner des problèmes pour réussir à configurer mariadb convenablement (actuellement les postes de dévs et le gitlab sont en mysql alors que nos serveurs d’intégration/préproduction/production sont passés en MariaDB).

Continuer la lecture 


docker, alpine, mariadb: ce qui m'a été nécessaire...

2020-12-02 | #alpine #docker #mariadb

Voici ce qui m’a été nécessaire : #!/bin/bash apk add openrc # Avoid Service `hwdrivers' needs non existent service `dev' #/ # rc-status # * Caching service dependencies ... #Service `hwdrivers' needs non existent service `dev' [ ok ] #Runlevel: sysinit apk add udev-init-scripts-openrc apk add mariadb mariadb-client mariadb-server-utils pwgen mysql_install_db --user=mysql --ldata=/var/lib/mysql # com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure # due to : skip-networking # https://stackoverflow.com/a/2985169/3550759 # # Specified key was too long; max key length is 767 bytes # due to : innodb-default-row-format && (maybe) innodb_strict_mode sed -e '/^\\[mysqld\\]/a innodb_strict_mode=0' \\ -e '/^\\[mysqld\\]/a innodb-default-row-format=dynamic' \\ -e '/^\\[mysqld\\]/a sql-mode="ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"' \\ -e '/^skip-networking/c #skip-networking' \\ -i /etc/my.

Continuer la lecture 


sed, insérer avant ou après matchage de ligne

2020-12-01 | #sed

Peut-être pratique pour modifier un fichier de configuration par exemple $ printf "[section1]\\n\\n[section2]\\ncle1=valeur1\\n" | sed '/^\\[section2\\]/i cle2=valeur2' [section1] cle2=valeur2 [section2] cle1=valeur1 $ printf "[section1]\\n\\n[section2]\\ncle1=valeur1\\n" | sed '/^\\[section2\\]/a cle2=valeur2' [section1] [section2] cle2=valeur2 cle1=valeur1

Continuer la lecture 


bash, appel callback à la sortie...

2020-11-20 | #bash #commande #trap

Il est possible en bash d’appeler des méthodes lorsque de la fin du script est atteinte et ce même s’il y a une erreur. Ci-dessous, le script appellera cleanup_err puis cleanup_ok lorsque false sera atteint. #!/bin/bash function cleanup_err { echo cleanup_err } function cleanup_ok { echo cleanup_ok } trap cleanup_ok EXIT trap cleanup_err ERR C’est bien pratique pour nettoyer les fichiers et répertoires temporaires :)

Continuer la lecture 


tmux, copier/coller à la vi + dans le presse-papier

2020-11-18 | #bash #commande #presse-papier #tmux #xclip

Commandes à ajouter au ~/.tmux.conf Dans mon cas, il s’agit d’un tmux 1.8 : bind-key P run-shell "xclip -o | tmux load-buffer - ; tmux paste-buffer" bind-key -t vi-copy 'v' begin-selection bind-key -t vi-copy 'y' copy-pipe "tmux save-buffer - | xclip -sel clip -i" bind-key -t vi-copy 'r' rectangle-toggle Cela nécessite d’ajouter la commande xclip Attention, l’exécution est très très lente…

Continuer la lecture 