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 pasRemarque: 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 0600installer
-
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
-
Ajouter configuration Nginx
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.ccUne 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