Syncd- open source des outils de déploiement automatisé

Adresse Site officiel: https: //gitee.com/dreamans/syncd/issues

syncd est un outil de déploiement de code open source qui est simple, efficace, facile à utiliser et d'autres caractéristiques, peuvent améliorer l'efficacité de l'équipe.

À l'heure actuelle seulement il prend en charge les systèmes Linux classe.

propriété

  • Go langage de développement, le simple compilateur, un fonctionnement efficace

  • Interface Web Access, interactif et convivial

  • Configuration des autorisations de rôle flexible

  • support dépôt Git

  • Direction, étiquette en ligne

  • Crochet de support de déploiement

  • Parfait flux de travail en ligne

  • mécanisme de notification de courrier

principe

Git

Syncd service de traction spécifié Tag (branche) du référentiel du code par le mode git-ssh (ou mot de passe).

La construction de

Exécutez le script de compilation configuré, compilé dans un package en ligne

Dans cet aspect, l'unité de test peut fonctionner (par exemple, test de go   php phpunit la dépendance de téléchargement (par exemple, aller: glide installer   php: compositeur installer ), Compile paquets (tels que js: build NPM   aller: allez construire xx.go   java: javac xx.java   c: cc xx.c ) Et ainsi de suite.

distribution

par scp  paquet de distribution commande à chaque température salle serveur de production de répertoire, l'exécution à distance des commandes configurations pré-deploy, décompressez le package dans le répertoire de destination après la mise en uvre et de l'exécution post-deploy  commandement

En ligne processus de distribution est réalisée en série, et toute défaillance de l'ensemble des étapes en ligne se terminent sur une seule ligne et l'état est défini à l'échec des besoins en ligne à cliquer Sur la ligne à nouveau  Essayez à nouveau.

L'avenir soutiendra les mêmes serveurs en cluster en parallèle, publication en série au sein d'un groupe de caractéristiques

la confiance SSH

Entre le serveur de production et le déploiement du serveur via la consolidation de la confiance ssh-clé

Reportez-vous à configurer Configuration des clés  section

installer

préparations

  • Go

Go1.10 recommandé ci-dessus, est utilisé pour compiler le code source

  • Git

S'il vous plaît rester déployé version serveur git Syncd pour la dernière ( > = 2,20)

  • nginx

Les services Web reposent sur Nginx

  • MySQL

Les systèmes de stockage Mysql reposent sur des données persistantes, la version recommandée Mysql 5.7

  • Linux + Bash

Le système sera utilisé pour git , ssh , scp  Et d'autres commandes, maintenant que recommandé pour une utilisation sur Linux, et la nécessité d'installer ou de mettre à jour la dernière version de ces commandés à l'avance

  • Configuration des clés

Étant donné que le serveur de déploiement (serveur où le service Syncd) entre le serveur de production (cible de déploiement de code) par la communication de protocole SSH, il est nécessaire de déployer clé publique de la machine (généralement ici: ~ / .Ssh / id_rsa.pub ) A été ajouté à la liste de confiance de la machine de production (habituellement ici ~ / .Ssh / authorized_keys )

Peut être utilisé ssh-copy-id  commande Ajouter ou copier manuellement. Ne pas oublier de tester la continuité après la copie SSH} {nom d'utilisateur @ machine de production produisant adresse de la machine {}

Les recommandations finales seront ajoutées à la configuration du serveur de déploiement de configuration suivante / Etc / ssh / ssh_config En terminant résumé des conseils d'affichage publics pour éviter les scripts de fond ne

hôte * StrictHostKeyChecking pas

Remarque: les autorisations de répertoire ssh requis Avec cet arrangement, sinon la situation ne peut pas ouvrir une session, il y aura un secret gratuit

~ / .Ssh 0700 ~ / .ssh / authorized_keys 0600

installer

  • Les paquets binaires installés

paquet binaire Télécharger: https: //github.com/dreamans/syncd/releases

  • Installation du compilateur Source

    boucle https://raw.githubusercontent.com/dreamans/syncd/master/install.sh | bash

Si le chemin courant généré syncd-deploy  ou syncd-xxx-deploy  installation de l'annuaire a réussi

généré syncd-deploy  Répertoire peut être copié ou déplacé vers l'endroit où vous voulez, mais ne pas essayer de copier ce répertoire vers d'autres serveurs en cours d'exécution peut entraîner des résultats imprévisibles.

  • Base de données repose

Vous devez github.com/dreamans/syncd/syncd.sql  Et la structure de données de la table dans la base de données MySQL

  • Modifiez le fichier de configuration

modification syncd-deploy / etc / syncd.ini  les informations de configuration associée, la configuration spécifique décrite peut Référence Notes

  • Démarrer le service

cd de-deploy syncd-deploy ./bin/syncd -c ./etc/syncd.ini __ _____ _____ __ __ ____ ____ / / / ___ / / / / / / __ \ / ___ / / __ / (__) / / _ / / / / / / / / __ / / _ / / / ____ / \ __, / / _ / / _ / \ ___ / \ __, _ / / ____ / Service: Syncd Version: 1.0.0 Config Loaded: ./etc/syncd.ini Connexion: stdout Base de données: 127.0.0.1 Activer la messagerie: 0 Service HTTP :: 8868 ... Commencez à courir
  • Ajouter configuration Nginx

en amont syncdServer { serveur 127.0.0.1:8868 poids = 1; } serveur { écouter 80; nom_serveur deploy.syncd.cc; # ici pour remplacer votre nom de domaine access_log logs / deploy.syncd.cc.log; lieu / { try_files $ uri $ uri / index.html; root / chemin / Syncd-deploy / public; # ici / chemin vers le vrai chemin Remplacement index index.html index.htm; } emplacement ^ ~ / api / { proxy_pass http: // syncdServer; proxy_set_header X-Forwarded-hôte $ host: $ server_port; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header Origine hôte $: $ server_port; proxy_set_header Referer hôte $: $ server_port; } }

Redémarrer le service nginx

Modifier hôtes

Si le nom de domaine n'est pas résolu, vous pouvez modifier les hôtes temporairement résolus

sudo vim / etc / hosts 127.0.0.1 deploy.syncd.cc;

L'installation est terminée

Ouvrez le navigateur et allez à

compte initial:

Nom d'utilisateur: syncd E-mail: syncd@syncd.cc Mot de passe: syncd.cc

Une fois connecté, s'il vous plaît changer votre mot de passe dès que possible !!!

utilisation

organigramme système

utilisation Captures d'écran

Aide

rencontrer des problèmes, s'il vous plaît mentionner problème: https: //gitee.com/dreamans/syncd/issues

LICENCE

Ce projet utilise le MIT permet de licence open source, une description complète de l'autorisation a été placé dans le fichier LICENCE

Hanami est le temps | aux États-Unis se sont tournés une mer du centre-ville de fleur de canola
Précédent
CIKM AnalytiCup 2018 programme de championnat est sorti, ils ont construit un modèle pour voir l'astuce
Prochain
RNG trois hommes maquillage calme, le jeu juste valeur gardes couleur TFBOYS, les amis: Je n'avais pas noir
· La version Golf de Kerry de la Cruze Tour & châssis Comparaison
un bon moment peut vraiment vous faire passer une bonne humeur? Mettre 2017 nouvel hiver sera probablement en mesure de savoir!
le conseil scolaire primaire et secondaire décalant la croissance des revenus sur cinq ans sextuplé!
Eh bien une journée ensoleillée de spectacle d'été de printemps pour voir Libération Monument
Gloire du Roi: « Là, vous avez la mission » La nouvelle mise à jour de la saison d'apprentissage de ces BUG vous rapidement sur King
Jiangling test de choix environnemental pragmatique conduire la nouvelle énergie E200S
stand de bande Gangster sur un autre cow-boy? HUF x UNITED ARROWS & SONS vent nouveau joint à jouer gars dur!
« La plupart incroyable » travail universitaire comment traiter l'argent pour les hommes mauvais?
Thriller « So » son film de minuit, les fantômes LA MORT
Jiang Feng a été le soleil de printemps très chaud
Finales exposition Ligue MV, beaucoup d'ufs de l'intérieur, et le dernier à propos de LPL