Recherche sur le site Web

Facilitez l’essai de votre application grâce au déploiement en un clic


Vous ne créez pas seulement une application pour vous-même, vous la créez pour que les gens puissent les utiliser. Qu’il s’agisse d’un outil open source, d’un projet parallèle ou simplement de quelque chose d’amusant, l’intérêt de le diffuser est que d’autres puissent l’essayer, jouer avec et peut-être même l’améliorer.

Mais voici le problème : beaucoup de bons projets ne sont jamais utilisés parce que leur mise en place est trop de travail.

Les gens atterrissent sur votre dépôt GitHub, pensent : « Oh, ça a l’air cool », mais ils voient ensuite une liste d’étapes de configuration – cloner ceci, installer cela, configurer ceci – et ils passent à autre chose.

L’ajout d’un bouton de déploiement en un clic corrige ce problème. Il permet aux gens de passer de zéro à un instantanément, de la lecture de votre application à son exécution en quelques minutes. Et il ne s’agit pas seulement de vous faciliter la vie; il s’agit de s’assurer que ce que vous avez construit est utilisé.

L’une des façons les plus simples d’y parvenir est le bouton Déployer en un clic de DigitalOcean, qui fonctionne pour toutes les applications qui peuvent être déployées dans le nuage, qu’il s’agisse d’une API Flask, d’une application Web Next.js, d’un projet Ruby on Rails, d’un service Go, d’un backend Node.js ou même d’un site statique construit avec Hugo, Gatsby ou Jekyll. Si votre application fonctionne sur un serveur ou un CDN, vous pouvez la rendre déployable en un clic.

> Vous voulez le voir en action? Voici un référentiel de l’application Flask avec le bouton Déployer en un clic intégré dans le fichier README. Vous pouvez appuyer sur le bouton pour déployer immédiatement l’application sur votre compte DigitalOcean. 👉 GitHub Repo : do-one-click-deploy-flask

Voici ce qu’il faut pour préparer n’importe quel dépôt DigitalOcean

Transformer n’importe quel dépôt GitHub en une application déployable en un clic sur DigitalOcean est étonnamment simple. Vous n’avez besoin que de trois choses :

  1. Assurez-vous que votre application est dans un dépôt GitHub
  2. Ajouter un simple fichier de configuration YAML qui indique à DigitalOcean comment le construire et l’exécuter
  3. Ajouter un bouton de déploiement à votre fichier README

Voyons un exemple concret d’utilisation d’une application Flask pour montrer exactement comment cela fonctionne.

Disons que vous avez cette simple application Flask...

Pour rendre ce guide un peu plus réel et amusant, prenons une simple application Flask qui récupère une blague à partir d’une API publique (comme l’API Chuck Norris) et la renvoie au format JSON.

Voici notre app.py simple :

from flask import Flask, jsonify
import requests

app = Flask(__name__)

@app.route("/")
def get_joke():
    response = requests.get("https://api.chucknorris.io/jokes/random")
    joke = response.json().get("value", "No joke found.")
    return jsonify({"joke": joke})

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8080)

Ce que fait cette application :

  • Lorsque vous visitez /, il appelle l’API de blague de Chuck Norris.
  • Renvoie une blague aléatoire au format JSON.
  • Fonctionne sur le port 8080.

Maintenant, disons que vous voulez faciliter le déploiement et le test de cette application pour les autres.

Au lieu de demander aux gens de cloner, d’installer des dépendances et de configurer Python localement, vous voulez qu’ils cliquent sur un bouton et le déploient instantanément sur DigitalOcean.

Voici comment procéder.

Étape 1 : Ajouter un point d’entrée WSGI

Créez un nouveau fichier appelé wsgi.py dans le répertoire de votre projet :

from app import app

if __name__ == "__main__":
    app.run()

Cela aide DigitalOcean à savoir comment démarrer votre application lors du déploiement.

Étape 2 : Ajouter un fichier requirements.txt

Vous devez lister toutes les dépendances pour que DigitalOcean sache quoi installer.

Créez un fichier requirements.txt :

flask==2.3.3
gunicorn==21.2.0
requests==2.31.0

Cela garantit que votre application Flask et votre bibliothèque de requêtes sont installées dans l’environnement de déploiement.

Étape 3 : Mettre en place un modèle de déploiement de DigitalOcean

Maintenant, nous créons un modèle de déploiement qui indique à DigitalOcean comment créer et exécuter l’application.

1. Créez un répertoire .do

Exécutez cette commande dans votre terminal :

mkdir -p .do

2. Créez un fichier deploy.template.yaml

À l’intérieur de .do, créez un fichier appelé deploy.template.yaml et ajoutez :

spec:
  name: chuck-norris-jokes
  region: nyc
  services:
    - name: flask-web
      environment_slug: python
      git:
        branch: main
        repo_clone_url: https://github.com/your-username/your-repo-name
      build_command: pip install -r requirements.txt
      run_command: gunicorn --worker-tmp-dir /dev/shm wsgi:app
      http_port: 8080
      health_check:
        http_path: /
      instance_count: 1
      instance_size_slug: apps-s-1vcpu-0.5gb
      routes:
        - path: /
      envs:
        - key: FLASK_ENV
          value: production
          scope: RUN_TIME

Remarque : 👉 Assurez-vous simplement de remplacer votre nom d’utilisateur et votre nom de dépôt par les détails réels de votre dépôt GitHub.

Ce fichier indique à DigitalOcean :

  • Comment créer l’application (pip install -r requirements.txt)
  • Comment le démarrer (gunicorn wsgi :app)
  • Où il circule (sur le port 8080)
  • Où vérifier si l’application est saine (un ping à /)
  • Quelle taille de serveur utiliser (apps-s-1vcpu-0,5 Go, qui est le forfait de 5 $/mois). Vous pouvez voir toutes les tailles d’instances disponibles et leurs prix dans le guide tarifaire de la plateforme d’applications de DigitalOcean.
  • Combien d’instances exécuter (1)

Remarque : Ce fichier peut sembler un peu inconnu si vous n’en avez jamais vu auparavant, mais il ne s’agit en fait que d’une version du fichier de spécifications d’application régulier de DigitalOcean. La principale différence est que pour que le bouton Déployer en un clic fonctionne, tout doit être soumis à une clé de spécification de niveau supérieur dans le fichier deploy.template.yaml. Si vous êtes curieux de savoir ce que vous pouvez inclure d’autre, comme des bases de données, des sites statiques, des alertes ou des variables d’environnement, consultez la référence de DigitalOcean pour les spécifications d’applications.

Étape 4 : Ajouter un bouton de déploiement en un clic

Maintenant, la meilleure partie : le bouton de déploiement!

L’ajout à votre README.md permet à toute personne visitant votre dépôt GitHub de lancer instantanément votre application sur DigitalOcean :

## Deploy to DigitalOcean
[![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.linux-console.net/apps/new?repo=https://github.com/your-username/your-repo-name/tree/main)

Remarque : Remplacez votre nom d’utilisateur et votre nom de dépôt par les détails réels de votre dépôt GitHub.

Étape 5 : Poussez vos changements

Validez et poussez vos changements :

git add .
git commit -m "Add DigitalOcean one-click deploy button"
git push origin main

Et c’est tout! 🎉

💡 Bonus : Ajoutez votre code de parrainage DigitalOcean

Vous voulez obtenir des crédits DigitalOcean lorsque les gens déploient votre application? Vous pouvez ajouter votre code de parrainage à votre lien de déploiement!

  • Inscrivez-vous au programme de parrainage de DigitalOcean ici.
  • Trouvez votre code de parrainage (il ressemblera à refcode=votre-code).
  • Modifiez le lien de votre bouton pour l’inclure :
## Deploy to DigitalOcean
[![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.linux-console.net/apps/new?repo=https://github.com/your-username/your-repo-name/tree/main&refcode=your-code)

Remarque : Remplacez votre nom d’utilisateur et votre nom de dépôt par les détails réels de votre dépôt GitHub.

Désormais, chaque fois que quelqu’un déploie votre application à l’aide de votre bouton, il s’inscrit via votre lien de parrainage, et vous gagnez des crédits pour votre utilisation de DigitalOcean.

Facile pour eux, hébergement gratuit pour vous. Tout le monde y gagne!

Qu’allez-vous déployer en un clic?

La plupart des gens ne mettront pas en place quelque chose si cela demande trop d’efforts. Non pas parce qu’ils s’en fichent, mais parce qu’ils ont d’autres choses à faire.

C’est là qu’intervient le bouton Déploiement en un clic de DigitalOcean. Au lieu de demander aux gens de suivre un tas d’étapes de configuration, ils peuvent simplement cliquer sur un bouton et essayer votre application immédiatement.

Si votre projet s’exécute dans le nuage, qu’il s’agisse de Flask, Node.js, Rails, Django, Go ou même d’un site statique, vous pouvez le rendre déployable en un clic.

Faites donc gagner du temps à tout le monde, y compris vous-même. Ajoutez un bouton Déployer en un clic et permettez aux gens d’essayer facilement votre application.

Lectures complémentaires

  • Comment ajouter un bouton « Déployer sur DigitalOcean » à votre dépôt
  • Exemple et référence pour le fichier de spécifications de l’application
  • Le marché en un clic de DigitalOcean
  • Prix de la plateforme d’applications

Articles connexes: