CaptainDuckDuck – plate-forme de déploiement d’application auto-hébergée

captain-cover
Reading Time: 5 minutes

Pourquoi ?

L’organisation aimerait que Heroku soit facile à déployer avec les plates-formes – applications avec la configuration automatique du serveur web / https. Hébergé sur place. Après la phase d’étude, nous avons recommandé la plate-forme CaptainDuckDuck, disponible sur github .

Qu’est-ce que CaptainDuckDuck ?

CaptainDuckDuck est une plate-forme auto-hébergée pour les développeurs qui veulent se concentrer sur le développement, pas sur la commande de serveur, l’installation, la configuration, les certificats SSL, les buildchains, etc.

Il supporte n’importe quelle langue que vous aimez (prêt à aller exemples pour PHP, Python-Django, Ruby-Rack, NodeJS).

HTTPS rendu facile.

Interface Web simple et client de ligne de commande disponible.

Plusieurs façons de déployer: télécharger via le tableau de bord, la ligne de commande captainduckduck deploy , github / bitbucket / gitlab / autres webhooks.

Vous pouvez personnaliser nginx si vous le souhaitez (ajoutez le support HTTP / 2, les paramètres de cache, la configuration des en-têtes supplémentaires, vous le nommez).

CaptainDuckDuck flux de travail en une image:

flux de travail

Architecture CaptainDuckDuck:

architecture

(Crédits image: github )

Commencer

Il y a peu de choses dont vous devez prendre soin avant d’aller plus loin.

Serveur avec IP publique

Oui, vous en avez besoin. Les bonnes nouvelles sont que pour un démarreur, vous pouvez essayer Digital Ocean plus populaire 5 $ / mois gouttelette (et il y a beaucoup de références sur le web qui vous donnera 10 $ de crédit, de sorte que vous pouvez l’essayer pendant 2 mois sans frais). CaptainDuckDuck est bien testé avec Ubuntu 16.04, alors choisissez celui-ci.

Il est également nécessaire d’avoir un environnement de docker prêt, alors ajoutez-le pendant la configuration des gouttelettes ou installez-le par vous-même plus tard.

512 Mo de RAM peuvent ne pas suffire (puisque le processus de construction pour les applications est consommatrice de ressources), alors allez-y pour 1 Go.

Oui, vous pouvez essayer CaptainDuckDuck sur votre ordinateur portable, mais nous allons l’ignorer maintenant.

Nom de domaine

Lors de l’installation, il vous sera demandé une entrée DNS générique ( *.demo.domain.tld ). Cette entrée doit pointer vers votre adresse IP CaptainDuckDuck.

Installation du serveur

Eh bien, cela devrait être rapide:

# mkdir -p /captain && docker run -v /var/run/docker.sock:/var/run/docker.sock dockersaturn/captainduckduck

Vous verrez une sortie, après quelques secondes, Captain devrait être prêt à votre commande à http://[SERVER_IP_ADDRESS]:3000 . Vous pouvez l’essayer – vous pouvez vous connecter avec le mot de passe par défaut ( captain42 – il devrait être affiché sur l’écran de connexion), mais ne faites aucun changement – vous le configurerez via le client en ligne de commande.

capitaine-nouveau

Connectez le domaine

Comme indiqué ci-dessus, il est maintenant temps de connecter le nom DNS de votre choix. Cela devrait être un enregistrement A générique, pointant vers votre adresse IP du capitaine. Donc *.demo.domain.tld -> 123.45.67.89 . Utilisez un service de requête DNS en ligne avec une chaîne aléatoire (comme randomstring123.demo.domain.tld ) pour confirmer que vos modifications ont été propagées.

id 4338 opcode QUERY rcode NOERROR flags QR RD RA ;QUESTION randomstring123.demo.domain.tld. IN A ;ANSWER randomstring123.demo.domain.tld. 3599 IN A 123.45.67.89 ;AUTHORITY ;ADDITIONAL

Installez le client cmd sur votre ordinateur portable

En supposant que l’environnement npm soit déjà prêt, lancez npm install -g captainduckduck suivi de captainduckduck serversetup . L’assistant d’installation vous guidera. Après cela, vous pouvez accéder à https://captain.demo.domain.tld à https://captain.demo.domain.tld , grâce à Lets Encrypt.

Application de test Deply

Vous êtes prêt à recevoir votre première application. Accédez au capitaine dans votre navigateur, accédez aux applications et créez une nouvelle application. Nommez-le my-test-app .

test-app

Vous êtes maintenant prêt à déployer votre application de test! Choisissez quelque chose dans le répertoire des applications de test – téléchargez, décompressez et exécutez le captainduckduck deploy . N’oubliez pas d’entrer my-test-app lorsqu’on vous demande le nom de l’application. Après la construction réussie, votre application devrait être déployée à my-test-app.demo.domain.tld :

# captainduckduck deploy Preparing deployment to Captain... ? Select the Captain Machine you want to deploy to: captain-01 at https://captain.demo.domain.tld ? Enter the "git" branch you would like to deploy: master ? Enter the Captain app name this directory will be deployed to: my-test-app ? Note that uncommitted files and files in gitignore (if any) will not be pushed to server. Please confirm so that deployment process ca n start. Yes Deploying to captain-01 Saving tar file to: /temporary-captain-to-deploy.tar Pushing last commit on master: a06d5f90da78744c4c09142ffef4e407857c9c4f Your auth token is not valid anymore. Try to login again. ? Please enter your password for https://captain.demo.domain.tld [hidden] You are now logged back in to https://captain.demo.domain.tld Saving tar file to: /temporary-captain-to-deploy.tar Pushing last commit on master: a06d5f90da78744c4c09142ffef4e407857c9c4f Uploading file to https://captain.demo.domain.tld This might take several minutes. PLEASE BE PATIENT... Building started: my-test-app ------------------------- Sat Mar 24 2018 18:05:23 GMT+0000 (UTC) Build started for my-test-app Step 1/2 : FROM library/php:7.1.10-apache ---> c6b9a0d495fe Step 2/2 : COPY ./src/ /var/www/html/ ---> Using cache ---> 8c6bc4c22eb8 Successfully built 8c6bc4c22eb8 Successfully tagged img-captain--my-test-app:latest Deployed successfully: my-test-app App is available at http://my-test-app.demo.domain.tld

test-app-2

Génial!

Vous pouvez aller sur l’interface web de Captain et configurer les variables d’environnement, les hooks web, HTTPS (en un clic!) Etc …

panneau d'application

Rien d’autre?

Oui, vous pouvez choisir parmi de nombreuses applications prédéfinies. Il est donc possible de déployer WordPress en un seul clic.

capitaine-wp01

Si vous avez des questions sur le déploiement de CaptainDuckDuck dans votre organisation, n’hésitez pas à nous contacter sur notre forum

Poster un Commentaire

avatar

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  Subscribe  
Me notifier des