Maison >développement back-end >Golang >jengine déploiement automatique golang
Jengine est un outil d'automatisation émergent qui permet un déploiement plus rapide et plus facile des applications Golang. Cet article présentera le processus de déploiement automatique des applications Golang par Jengine.
I. Installer Jengine
Tout d'abord, vous devez installer Jengine sur votre système. Jengine est une application Go standard, elle peut donc être installée via la ligne de commande suivante :
$ go get github.com/jengine-corp/jengine
II. Configurer l'environnement de déploiement
Dans Jengine, vous devez configurer l'environnement de déploiement afin de déployer correctement votre application. Les configurations dans Jengine sont principalement divisées en deux catégories :
Configuration de l'application
Dans cette configuration, vous devez spécifier les dépendances requises par votre application, si votre application est une application web, vous devez également la spécifier Le numéro de port et nom d'hôte.
{ "app": { "dependencies": [ "github.com/labstack/echo", "github.com/jinzhu/gorm" ], "web": { "port": 8080, "host": "localhost" } } }
Configuration de l'environnement de déploiement
Dans cette configuration, vous devez spécifier l'environnement de déploiement que votre serveur a préparé. Par exemple, vous pouvez choisir de configurer l'utilisateur qui effectue le déploiement et spécifier le chemin d'accès à l'application.
{ "env": { "user": "deploy", "path": "/path/to/deploy" } }
III. Créer une build
Jengine prend en charge plusieurs types de build, tels que la création de binaires, d'images Docker, AWS Lambda, le déploiement de Kubernetes, etc. Dans cet article, nous prendrons comme exemple la création d’un fichier binaire.
Créer un script de construction
Un script de construction est un ensemble de commandes qui s'exécutent pendant le processus de construction. Par exemple, nous pouvons créer un script de build à l'aide de la commande suivante.
#!/bin/bash echo "Building..." go build -o myapp
Définir le build
Dans Jengine, chaque build doit être défini à l'aide du fichier jengine.yml
. Ce fichier répertorie les fichiers de configuration, les scripts de build, etc. qui doivent être utilisés lors de la build. jengine.yml
文件进行定义。这个文件列举了构建时所需要使用的配置文件、构建脚本等等。
config: - app.json - deploy.json builds: - name: linux type: binary os: linux arch: amd64 script_file: build.sh
在这个文件中,我们列举出了两个配置文件(app.json
和deploy.json
)和一个构建(linux
)。我们定义了这个构建是一个二进制构建,它将在Linux操作系统上运行。
IV. 执行构建
现在我们已经准备好构建了。我们可以使用以下命令来运行构建:
$ jengine build linux
Jengine将读取jengine.yml
$ ssh-keygenDans ce fichier, nous listons deux fichiers de configuration (
app.json
et deploy.json
) et un build (linux
>). Nous avons défini cette version comme étant une version binaire qui s'exécutera sur le système d'exploitation Linux.
IV. Exécution de la construction$ jengine deploy linux
jengine.yml
et construira votre application en utilisant les informations et les scripts qui y sont définis.
Une fois la construction terminée, vous devez déployer l'application sur le serveur spécifié. Jengine peut télécharger automatiquement des fichiers binaires sur le serveur et effectuer les opérations nécessaires.
Tout d'abord, nous devons installer la clé SSH pour nous connecter à distance au serveur depuis l'ordinateur local à l'aide de Jengine. Nous pouvons générer des clés SSH à l'aide de la commande suivante :
rrreee🎜🎜🎜Deploy Application🎜Nous sommes prêts à déployer l'application sur le serveur. Utilisez les commandes suivantes pour télécharger le binaire, le définir comme exécutable et l'exécuter. 🎜rrreee🎜🎜🎜Ce qui précède est l'ensemble du processus de déploiement automatique d'applications Golang à l'aide de Jengine. Jengine rend non seulement le processus de déploiement d'applications plus pratique et plus rapide, mais crée et teste également automatiquement les applications. Si vous êtes un développeur Golang, il est fortement recommandé d'essayer Jengine pour améliorer votre processus de développement. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!