Git, SSH et Bitbucket

Une erreur plutôt commune que l’on peut rencontrer lorsqu’on utilise une connexion ssh pour interagir avec Bitbucket.

Capture d_écran_2018-03-07_15-16-43

Afin d’y remédier rien de plus simple, il suffit d’éditer ou de créer le fichier suivant: ~/.ssh/config et d’ajouter la configuration suivante:

Host bitbucket.org
Hostname altssh.bitbucket.org
Port 443

 

 

SonarQube avec Docker

Suite des conteneurs prêts à l’emploi. Ici je me suis lancé sur un outil que j’apprécie particulièrement. Je l’utilise souvent en début de mission pour me faire une idée, entre autres, de la qualité de code de l’application.

SonarQube permet, en effet, de mesurer la qualité du code source en continu. Il supporte plus de 20 langages, de quoi satisfaire tout le monde (ou presque). L’installation est très simple. Auparavant, on avait la possibilité d’installater SonarQube sur un serveur Tomcat mais depuis la version 4 tout a été simplifié. On a maintenant droit à un exécutable bat ou bash, selon le système d’exploitation sur lequel on évolue. La documentation est bien tenue.

SonarQube utilise une base de données afin de sauvegarder les différentes configurations ainsi que les métriques sur les différents projets. De base, une base donnée H2 est configurer par défaut, ce qui est pratique seulement si on a pour objectif d’en faire un usage uniquement personnel.
Il est aussi possible de configurer des bases MySQL, Oracle, PostgreSql ou SQL Server.

Sur ce conteneur contiendra donc:
– SonarQube version 4.5
– MySQL 5
– Serveur SSH
– Java 8

Pour lancer le conteneur:
docker run -d -p 9000:9000 -p 3306:3306 -p 4022:22 jahroots/sonarqube

Si vous souhaitez ensuite utiliser Maven pour analyser votre projet, il faut modifier votre settings.xml en ajoutant un profil:
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.jdbc.url>
jdbc:mysql://DOCKER_HOST:3306/sonar?useUnicode=true&amp;characterEncoding=utf8
</sonar.jdbc.url>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>sonar</sonar.jdbc.password>
<sonar.host.url>http://DOCKER_HOST:9000/</sonar.host.url >
</properties>
</profile>

Les sources sont disponibles sur mon Github.

Java avec Docker

En ce moment je me mets en place une stack de conteneurs prêts à l’emploi.

J’ai commencé par Java [jdk-8u20]. Le conteneur est basé sur une image Debian. 

Le but est d’avoir un conteneur prêt à l’emploi avec Java installé.
Il servira essentiellement d’image de base pour la création d’un conteneur qui nécessite Java.

docker pull jahroots/java

Les sources sont disponibles sur mon Github.

XBMC-Video-Server avec Docker

J’ai publié un nouveau conteneur. Celui-ci est directement lié à mon addiction aux films et aux séries. Comme tout addict qui se respecte je possède un serveur multimédia, matérialisé par un Raspberry Pi sur lequel j’ai installé la distribution OpenELEC basée sur XBMC.

Bien qu’OpenELEC offre le remote, cette fonctionnalité ne me convenait pas. Je cherchais un moyen pour streamer mes vidéos et je suis tombé sur le projet XBMC Video Server : qui permet de parcourir, télécharger et streamer les vidéos présentes sur le serveur.

Le conteneur embarque un serveur Apache avec PHP 5. L’installation suit à la lettre les instructions pour une Ubuntu 14.04.

Le démarrage d’Apache est orchestré par Supervisor.

Pour lancer le conteneur, il suffit de lancer la commande suivante:

docker run -d -P jahroots/docker-xbmc-video-server 

Le port 80 est le seul port exposé.

Les sources sont disponibles sur mon Github.

Crucible avec Docker

Un nouveau conteneur pour rapidement démarrer avec Crucible, un outil édité par Atlassian connu pour JIRA.

Crucible permet de faire du code review. Je ne vais pas m’étendre sur le sujet car il existe des outils gratuits pour réaliser ce type d’exercice, tel que Gerrit.

Le but encore une fois, pour moi, d’avoir l’application prêt à l’emploi.

Pour lancer le conteneur, il suffit de lancer la commande suivante:

docker run -d -P jahroots/crucible

Le conteneur expose les ports:

  • 22 pour le serveur ssh
  • 8060 qui permet d’accéder à l’interface web de Crucible

Les sources sont disponibles sur mon Github.

Wild ‘n out: Let me holla

Dans mon premier post sur l’émission je m’étais attarder sur le flow job. Ici je m’intéresse à un autre jeu tout aussi intéressant et drôle, il s’agit du « let me holla ».

C’est simple une des Wild ‘N Out girl est placée au centre de la scène et tour à tour un membre de chaque équipe doit s’avancer et sortir sa plus belle pickup line (une phrase d’accroche) qui doit absolument être drôle pour permette à son équipe de marquer un point.

 

Eh ima keep it one hundred wit you

I know i normally don’t ask girl stuff like this until they tell they pregnant

What’s your name ?

 

Come here ..

I just made you come with my mouth

It’s your turn

 

How you doin ?

You like that Beyonce’s album ?

Do you even know what the partition is ?

The phantom can show you

 

Eh excuse me baby

Do you have sex when you first meet somebody ?

I see you tomorrow

 

My family has a history of High Blood Sugar

but I’ll still hang out with you even though you’re really sweet

 

Wild ‘n out: the flow Job

Wild ‘N Out, une émission de divertissement présentée par Nick Cannon, est basée sur une série de battle entre la Black Team, qui accueille une célébrité comme capitaine, et la Platinium Team dont Nick Cannon est le capitaine.

Lors l’épisode 10 de la saison 5, la Black Team accueillait Joe Budden tandis que la Platinium Team prennait Big Boi comme invité.

Lors de l’épreuve ‘Flow Job’, qui consiste à faire découvrir un métier sur un rap improvisé à l’une des Wild ‘N Out girl.

Antony « Chico » Bean, de la Platinium Team, nous a sorti ce petit rap plutôt bien inspiré et drôle sur le tatoueur.

Rappers love me cuz my style is great

I put an ice cream cone on Gucci’s face

I did some work on Tyrese’s back

But you can’t really see it cuz he’s so black

Le garde du corps pour Asap Rocky lors de la saison 6:

Hold up girl

Wait a minute

You know how this works

If you wanna meet Asap Rocky tonight

You got to do me first

Dans le même genre pour la masseuse avec Timothy Delaghetto:

Come to me if your neck is sore

I touch your whole body im not a whore

And if i like the tip that you’re sending

I might just give you a happy ending

pyLoad avec Docker

Cela fait quelques temps déjà que je lis à droite et à gauche des articles sur Docker. Je trouve que c’est un outil très intéressant afin de tester des applications sans polluer sa machine.

Je me suis donc lancé sur un container plutôt simple. Ce dernier se contente de lancer pyLoad et un serveur ssh. Tout cela orchestré par Supervisor.

Pour mon container j’utilise une image Debian, sur laquelle je commence par installer:

RUN apt-get install -y python-crypto python-pycurl tesseract-ocr git openssh-server supervisor

J’ai décidé d’installer pyLoad depuis les sources disponibles sur Github.

RUN git clone https://github.com/pyload/pyload.git /opt/pyload

Ensuite j’ajoute :

  • le dossier de configuration de pyLoad, qui contient entre autres le fichier pyload.conf qui définit la configuration globale.

ADD pyload /opt/.pyload

  • le fichier de configuration de Supervisor: qui lance le server ssh et pyLoad en mode démon

ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf

Enfin :

  • Je crée un volume qui permettra à d’autres containers d’avoir accès aux fichiers téléchargés.

VOLUME ["/opt/downloads"]

  • J’expose les ports:
    • 8000: pour l’interface web de pyLoad
    • 7227: pour la remote
    • 22: pour les connexions ssh

 EXPOSE 22 8000 7227

  • La commande pour démarrer le service Supervisor:

CMD ["/usr/bin/supervisord","-c","/etc/supervisor/conf.d/supervisord.conf"]

 

Pour lancer le container, il suffit de lancer la commande suivante:

 docker run -d -P jahroots/docker-pyload

On peut ensuite vérifier que le container a été lancé avec: docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3ba228da04ad jahroots/docker-pyload:latest /usr/bin/supervisord 4 seconds ago Up 3 seconds 0.0.0.0:49165->22/tcp, 0.0.0.0:49166->7227/tcp, 0.0.0.0:49167->8000/tcp

On peut voir qu’on a une instance de l’image jahroots/docker-pyload:latest qui est lancée, et qu’on peut accéder à l’interface web de pyLoad à http://locahost:49167

 

Les sources sont disponibles sur mon Github.

Update: J’ai réalisé une mise à jour du conteneur afin de réduire un peu sur la taille de l’image. Il est désormais possible de se connecter en ssh[user:root,password:root].

 ssh -p 49165 root@[dockerIp]