GoGPT Best VPN GoSearch

Icône de favori OnWorks

aeintegratq - En ligne dans le Cloud

Exécutez aeintegratq dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande aeintegratq qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


aeintegratq - intégrer les changements dans les projets

SYNOPSIS


aeintegratq [ option...] nom du projet...

DESCRIPTION


Le manuel de formation aeintegratq La commande est utilisée pour gérer les intégrations d'un ou plusieurs changements dans un
ou plusieurs projets. Normalement exécuté via cron(1) ou at(1) avec le nom d'un seul projet,
aeintegratq gérera toutes les opérations d'intégration même lorsque -Construire et -Tester sommes-nous
requis sur plusieurs architectures. Si une revue de changement est révoquée après la fin de la file d'attente
L'exécution d'aeintegratq détectera le mauvais état et poursuivra silencieusement. Si un ou plusieurs
les modifications sont terminées ou transmises après l'exécution de la file d'attente et une boucle a été fournie,
aeintegratq détectera les modifications et les intégrera. Des options supplémentaires permettent
l'intégrateur contrôle totalement la plupart des aspects de la gestion des files d'attente tels que l'ordre de
intégration de multiples changements.

OPTIONS


Les options suivantes sont comprises :

Option Résumé
-h Aide, afficher les informations d'utilisation.

-H Aide, montre l'utilisation ainsi que toutes les informations utiles sur les commentaires.

-a s'exécute sur n'importe quelle machine (normalement uniquement IntegrationHost)

-s exécuter des opérations à distance via ssh (rsh par défaut)

-n Aucune action, juste dire ce qui serait fait.

-ib s Spécifiez le serveur (distant) pour ibegin.

-ip s Spécifiez le serveur (distant) pour ipass.

-k Conservez les scripts et les fichiers de rapport.

-K Conservez le fichier temporaire même si l'intégration réussit.

-boucle Boucle pour traiter davantage de modifications si elles deviennent disponibles avant aeintegratq
s'achève. Il s'arrêtera lorsqu'il n'y aura plus rien à faire.

-M liste Minimum, exécuter les modifications données -le minimum

-P liste Précieux, ne le fais pas IFail des changements dans listearrête, arrête.

-R liste Prêt, spécifiez l'ordre et le sous-ensemble, par exemple -R 29,45

-S étape
Récupérer à une étape donnée (diff|build|test|integrate)

-c changer-numéro
spécifier le changement à intégrer à l'étape

-p nom du projet
spécifier un nom de projet unique

REMARQUE : si des options personnalisées telles que -P -R -S -c -p sont données, un seul projet peut être
intégré puisque les options n'auraient aucun sens pour le prochain projet donné.

Certaines options sont disponibles uniquement à des fins de test et d'investigation. Notez que ces options sont
rarement nécessaire pour les opérations normales.

Contrôle Options
Les options suivantes sont disponibles pour les besoins spécifiques. Elles contrôlent l'ordre et
disposition de chaque changement en attente d'intégration dans un projet donné.

-R[prêt] numéro1,numéro2...
Cette option permet de spécifier l'ordre ou le sous-ensemble à intégrer. Seules ces modifications sont prises en compte.
Les requêtes listées seront traitées, et dans l'ordre exact indiqué. Ceci s'applique aux files d'attente.
boucle si -boucle est donnée. Notez en particulier que, sauf si la liste inclut des données futures
changements, les boucles futures ne les intégreront pas.

Utile si une modification particulière doit être appliquée avant une autre pour une raison quelconque. Ou si
n'intégrer qu'un ou deux changements lorsque plusieurs sont en attente d'intégration dans le
projet donné. Une seule modification peut également être spécifiée avec le -changement] nombre
option, qui est commune à d'autres commandes aegis. Cependant, -R l'option permet un
liste et si elle est donnée, elle remplacera toute -c donné.

-P[recieux] numéro1,numéro2...

-P[recieux] tous
Cette option est utilisée pour spécifier qu'un changement particulier ou un sous-ensemble de changements
devrait être considéré mer.. Cela n'implique pas d'ordre et ne limite pas l'exécution de la file d'attente
à ce sous-ensemble ; cela signifie simplement que les modifications doivent être prises en compte mer..
Notez qu'au moins un numéro (ou le mot-clé tous) doit être donné.

La notion de mer. signifie que si le changement donné devait échouer n'importe où dans
le processus d'intégration, puis le processus s'arrête simplement et laisse le problème
changement dans le répertoire delta. Le -IFail ne serait pas réellement exécuté. Ceci
est parfois utile pour diagnostiquer un problème qui ne survient que lors des intégrations.
Il est également utile si la panne est due à un problème transitoire tel qu'un manque de fiabilité.
machines sur le réseau. Dans ce cas, l'intégration peut reprendre après
résoudre le problème. Voir le étape options ci-dessous.

Si, en revanche, un mer. le changement passe par le processus d'intégration
avec succès, l'option n'a aucun effet.

-M[minimum] numéro1,numéro2... or tous
Intégrer les changements donnés avec les -le minimum option. De tels changements seront mis
en fin de file afin que les dernières intégrations d'une exécution soient minimales.
Cette fonctionnalité permet une utilisation pratique des intégrations minimales sans nécessiter
-le minimum sur chaque intégration. Voir la section ci-dessous sur Minimum
intégrations pour plus d'informations. Si -boucle est donné tout changement spécifié comme
minimum s'exécutera à la fin de la boucle dans laquelle ils sont prêts, ils ne seront pas
poussé jusqu'à la boucle finale.

-ib[serveur] nom du serveur ou ""

-ip[serveur] nom du serveur ou ""
Pour spécifier un serveur distant sur lequel exécuter -je commence or 0 respectivement. Ces
Options sommes-nous rares. nécessaire, mais Au cours de cette réunion, Matthew a obtenu de précieux conseils et Linda lui a demandé de la tenir au courant de ses progrès. be incontournable if a Projet is organisé on a
différent filet serveur et a a gros ligne de base. By ayant le -je commence courir on qui
serveur le réseau circulation pourra be considérablement réduit et pour gros projets et/ou
lent réseaux Vous pouvez considérablement réduire le Paisible conditions pour -je commence. Le manuel de formation option un formulaire de candidature dûment rempli
of donnant an vide prénom dépend on le sortie of df -k donnant a analysable hôte
nom. If qui is pas oui on votre l'intégration hôte architecture, vous vont avons à
spécifier le serveur nom.

-afficher valeur d'affichage or ""
Pour spécifier un affichage X valide à utiliser pendant les opérations d'intégration.

Étape Options
Les options suivantes permettent de [re]démarrer une intégration qui a déjà progressé
à travers plusieurs étapes. Ceci est utile pour gérer les échecs (mer.) intégrations, ou à
terminer automatiquement une intégration commencée à la main.

-S[tage] diff

-S[tage] construire

-S[tage] tester

-S[tage] intégrer
Récupérez l'intégration à l'adresse donnée étape. A besoin -c[hange] nombre Option de
préciser le numéro de modification.

Avancé Contrôles


L'intégrateur peut prévoir des situations particulières telles que des opérations requises après
-Construire et avant -Tester, ou à la fin d'une exécution de file d'attente. Ces fonctionnalités sont fournies par
crochets et les stratégies décrit ci-dessous.

Crochets
Il y a un ensemble de crochets disponibles qui sont exécutés, s'ils sont présents, avant et après chaque étape
de l'intégration. Ils peuvent être utilisés pour garantir que l'intégrateur obtienne réellement
un peu de sommeil tout en gérant de gros projets.

Ces hooks sont recherchés dans le répertoire $HOME/integration_hooks. Aucune n’est nécessaire ;
aeintegratq ne prêtera attention qu'à ceux qui existent. Les hooks peuvent être de toute forme
exécutable (script, etc) et sont appelés avec 2 arguments : nom du projet changer-numéro.
Ils fonctionnent comme intégrateurs sur la machine à partir de laquelle aeintegratq a été démarré. Ils sont
nommé en utilisant le nom du projet avec un suffixe en fonction de sa place dans le
processus d'intégration que vous souhaitez qu'ils exécutent.

Notez que si un hook pour le projet foo existe, il est également utilisé pour toutes les branches sous cela
projet. Par exemple, si vous avez fourni foo.pre_ip, il sera exécuté pour foo.1 et
foo.1.0 également. Si, pour une raison quelconque, vous souhaitez une action différente (ou aucune) pour le projet
foo.1.0, alors vous fourniriez foo.1.0.pre_ip qui fait ce que vous souhaitez, y compris
rien, annulant effectivement foo.pre_ip.

Voici comment mapper des endroits particuliers dans le processus d’intégration pour crocheter des suffixes.

┌───────────────────────────────────────────────────┐
│exécuter à l'heure d'extension │
├────────────────────────────────────────────────────┤
│avant de tenter -Integrate_Begin .pre_ib │
│après que -Integrate_Begin ait terminé .ib │
│avant de tenter -Diff .pre_d │
│après que -Diff ait terminé .d │
│avant de tenter -Build .pre_b │
│après la fin de -Build .b │
│avant de tenter -Construire sur .pré_ b │
│après -Construire sur complète . b │
│avant de tenter -Test .pre_t │
│après la fin du test .t │
│avant de tenter -IPass .pre_ip │
│après que -IPass ait terminé .ip │
│avant de tenter -IFail .pre_if │
│après que -IFail termine .if │
└────────────────────────────────────────────────────────┘
Le programme hook doit se terminer avec 0 en cas de succès ou 1 dans le cas contraire. Une sortie différente de zéro provoque
le changement en cours d'intégration échouera immédiatement à moins qu'il ne soit marqué comme précieux.

Notez que dans la plupart des cas, tout ce qui est fait via un .corde le crochet devrait probablement être fait à la place par
le ipass_notify commande dans le fichier d'attributs du projet (voir aepattr(5) pour plus
informations), ou la commande_de_notification_d'ajustement_du_temps_de_construction dans le fichier de configuration du projet
(voir aepconf(5) pour plus d'informations), mais le crochet peut fournir un moyen temporaire de conserver
en attendant que la solution permanente puisse être mise en œuvre.

En plus de deux crochets spéciaux, aeintegratq.end et aeintegratq.fail, sont reconnus.
On les appelle quand aeintegratq termine une exécution de file d'attente. Ces fonctions sont appelées avec deux arguments.
comme n'importe quel autre crochet (nom du projet changer-numéro) bien que le nom du projet et
Les numéros de changement donnés correspondent au dernier changement intégré et peuvent être peu utiles.

Le manuel de formation .fin Le hook est appelé si/quand l'exécution de la file d'attente est terminée et a réussi. Notez que
Cela ne signifie pas qu'aucune modification n'a échoué, mais seulement qu'aucune erreur de file d'attente ne s'est produite. Ce hook
pourrait être utilisé pour invoquer une autre file d'attente exécutée sur un projet/une branche différent, ou éventuellement même
sur le même projet, si d'autres modifications ont pu être terminées et/ou révisées pendant le premier
la course était en cours, voir aussi le -boucle option. Ces conditions surviennent assez souvent avec
ingénieurs à horaires flexibles. Une autre utilisation du .fin Le crochet consiste à construire automatiquement un nouveau
package utilisant le projet nouvellement intégré comme source.

Si des erreurs de file d'attente ont été rencontrées ou si une modification a échoué et a été marquée mer., puis le
.échouer Un crochet est appelé. Une utilisation évidente de ce crochet serait une page envoyée par e-mail à
intégrateur.

de Marketing or Oups, réessayez
Parfois, un problème de build persistant peut perturber les intégrations. Cela peut être très gênant.
Si cela gâche une course nocturne, surtout si le remède est simple lorsque cela se produit. Exemples
Il peut s'agir de dépassements de délai dus à un serveur de données occupé ou à d'autres erreurs transitoires. Notez que
ceci s'applique uniquement à -Construire problèmes connexes.

Pour faire face à de tels problèmes, l'intégrateur peut fournir un stratégie script spécifique à un
projet. Un programme exécutable devrait être trouvé dans $HOME/stratégie. . Le manuel de formation
Programme vont be courir as le intégrateur avec le delta annuaire as actuel répertoire. Le manuel de formation
Programme Au cours de cette réunion, Matthew a obtenu de précieux conseils et Linda lui a demandé de la tenir au courant de ses progrès. do tout commandes nécessaire à espace extérieur plus propre, up et/ou diagnostiquer le Erreur. If le
scénario trouve le problème à be transitoire et réparable, it sorties réussir (avec 0
statut) et aeintegratq vont relancer le -Construire et enregistrer le réessayer. Autrement le
scénario devrait sortie avec a 1 et le Change vont échouer.

Multi-architecture intégrations


Pour les projets qui construisent et testent sur plusieurs architectures, aeintegratq nécessite
arch_hosts être installé et disposer d'au moins une machine de chaque architecture
requis. Ceci est également vrai si l'hôte à partir duquel aeintegratq est exécuté est d'un autre
l'architecture de l'architecture cible du projet en cours d'intégration.

Si vous souhaitez profiter d'intégrations automatiques d'architectures multiples, vous pouvez
installer arch_hosts ou fournir un script plus simple qui renverra un nom de machine
selon l'architecture et le type de travail.

Minimum intégrations


fournit une minimum capacité d'intégration qui peut être utilisée pour diverses raisons.
terme minimum peut paraître un peu contre-intuitif. On pourrait penser que cela signifie faire minimum
quantité de travail, mais cela signifie en fait utiliser un minimum de fichiers de la ligne de base dans
peupler le delta répertoire. Étant donné qu'aucun fichier construit n'est placé dans le delta
répertoire, cela conduit normalement à construire réellement tout dans le projet à partir de
sources et, en tant que tel, pourrait être considéré comme la version la plus robuste.

Notez que toute modification qui supprime un fichier, que ce soit par aerm or aemv, se traduit par un
implicitement minimum l'intégration. Ceci est destiné à ne rien garantir dans le projet
référence le fichier supprimé.

Un projet peut adopter une politique selon laquelle une version de produit doit être basée sur un minimum
l'intégration. Une telle politique peut être le reflet d'une confiance locale, ou d'un manque de confiance, dans
le DMT (Dependency Maintenance Tool) ou le système de construction du projet. Ou il peut être basé sur un
processus de validation souhaitant faire une déclaration simple sur la façon dont le package libéré a été
produit.

Une autre raison a, plus transitoire, d'exiger une intégration minimale pourrait être lorsque
mise à niveau d'une bibliothèque tierce, d'un compilateur ou peut-être même du niveau du système d'exploitation. N'importe lequel de ces événements
signalerait la nécessité d'une intégration minimale pour s'assurer que tout est reconstruit en utilisant le
nouvelles ressources. Ceci peut être réalisé avec un minimum de frais généraux en utilisant -M option telle que décrite
au dessus.

Le coût d'un minimum l'intégration varie selon le type et la taille du projet. Pour
de très grands projets, en particulier ceux qui construisent un grand nombre de binaires, le coût peut être
grand. Cependant, les grands projets nécessitent également un temps considérable pour peupler complètement le delta
répertoire. Une intégration minimale ne copie que les fichiers sous contrôle Aegis, ignorant
tous les fichiers « produits ». Dans le cas où un fichier dont tout dépend est modifié,
tout sera construit de toute façon donc la copie des fichiers déjà construits est un gaspillage de
temps. Cela signifie que parfois un minimum peut être aussi bon marché qu'une intégration normale.

Manuel (Le français commence à la page neuf) Tests


permet de définir des tests comme Manuel ce qui peut être nécessaire si le test nécessite une intervention humaine
interaction ou une ressource transitoire. De tels tests peuvent être problématiques pour les tests automatiques
intégrations et doivent généralement avoir des moyens de passer sans courir pendant
intégrations. Pour cette raison, et d'autres, la plupart des sites cherchent à éviter Manuel tests. Il y a
Il existe plusieurs façons de coder un test de manière à ce qu'il soit réussi automatiquement lors de
Intégrations. Voici un exemple de test de script shell :

CSTATE=`aesub -p $AEGIS_PROJECT -c $AEGIS_CHANGE '${state}'`
si [ "$CSTATE" = "en cours_d'intégration" ]
puis
echo "`basename $0` passe pendant l'intégration"
sortie 0
fi

Optionnel Assistance Programmes


Il existe certains programmes qu'aeintegratq utilisera s'ils sont installés.

· arch_hosts mentionné précédemment. C'est facultatif uniquement si vos projets et votre
les serveurs de fichiers sont d'une architecture unique.

· aelogres peut améliorer les informations fournies dans -IFail entrées. Normalement, tout ce que vous obtenez
ce sont les 10 dernières lignes du fichier journal, ce qui n'est pas mauvais si les tests échouent, mais peut être terrible
pour les builds échouées. Si vous fournissez un programme nommé aelogres qui sait extraire un
meilleur rapport succinct des problèmes, la sortie de ce programme sera utilisée à la place de
la queue simple. On l'appelle avec une -i option.

· son_toutes_les_machines, si disponible, sera appelé lorsque les intégrations réussissent ou échouent.
Il peut être utile d'annoncer la fin d'une intégration. Si elle est réussie,
les développeurs voudront probablement faire un aed pour actualiser leurs modifications. L'audio
L’annonce fournit un autre indice opportun.

Les fichiers son sont recherchés dans le répertoire /var/lib/aegis/sounds. Ils auront
fins de _pass et _échouer selon les résultats d'une tentative donnée. Deux fichiers son
sont requises: intégration_pass et échec_d'intégration. D'autres seront utilisés s'ils sont fournis à
personnaliser les sons afin que chaque développeur puisse avoir un ou plusieurs sons personnels. Si un
fichier nommé _passer est localisé, il sera utilisé. Si un ensemble de fichiers nommé existe
<developer_pass.[0-9] Ils seront utilisés dans un ordre aléatoire. La même règle de recherche s'applique.
à _échouer ensembles. le son_toutes_les_machines le programme peut utiliser une liste d'hôtes et lire le son
fichier sur chaque machine ou, en supposant que d'autres capacités audio existent, pourrait faire n'importe quelle forme
de l'annonce souhaitée.

EXIT STATUT


Le manuel de formation aeintegratq La commande se terminera avec un statut de 1 en cas d'erreur. Les aeintegratq
La commande ne se terminera qu'avec un état de 0 s'il n'y a pas d'erreurs.

ENVIRONNEMENT VARIABLES


See égide(1) pour une liste des variables d'environnement qui peuvent affecter cette commande. Voir
aepconf(5) pour le fichier de configuration du projet projet_spécifique champ pour savoir comment définir
variables d'environnement pour toutes les commandes exécutées par Aegis.

Utilisez aeintegratq en ligne à l'aide des services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad




×
Publicité
❤ ️Achetez, réservez ou achetez ici — gratuitement, contribue à maintenir la gratuité des services.