Transcription
1. Introduction: Bonjour et bienvenue dans ce court tutoriel sur la façon de créer votre premier pipeline CRC convivial agile utilisant comme votre DevOps. Mon nom est quand agréable et j'ai eu la chance de travailler avec un certain nombre d' entreprises
technologiques ainsi qu'avec des agences gouvernementales au fil des ans. côté, j'aimerais partager ma propre expérience et mes connaissances à travers des conférences, des blog et même des chaînes YouTube. Mais assez de ça. Voici les compétences sur lesquelles nous devons nous concentrer avec ce cours. Nous allons nous familiariser avec votre DevOps et ses systèmes de licences. Nous allons utiliser comme vos ondulations get avec le code Visual Studio. Nous allons être sécurisés dans leur branche master gets ou branche principale à partir d'une poussée directe par des demandes d'importation forcées, alors nous allons être Lincoln ces requêtes polaires avec comme vos tableaux. Nous appliquons donc la collaboration entre les canaux des membres de votre équipe de l'étape du plan du cycle. Ensuite, nous allons déployer une application Web pour héberger un site Web avec deux emplacements de déploiement, une vie et une sourde, en utilisant comme votre PowerShell et un modèle ARM, nous allons alors créer une intégration continue pour tester votre application Web avant le déploiement, qui gère la création et la vérification. Nous allons être Lincoln en tant que Build Pipeline où ils libèrent pipeline de livraison
continue à déployer dans le slot de profondeur, arrêtés pour approbation manuelle, puis déployés pour vivre une fois approuvé, qui gère le paquet et étapes de libération du cycle. Fondamentalement après cela, je crois que vous aurez non seulement la compétence sécrète que vous êtes en pipeline, mais aussi gérer un développement complet si vous voulez écrire pour profiter pleinement de ce cours, vous aurez besoin de ce qui suit. Vous devez vous familiariser avec vos concepts de cloud et de développement. Donc, par exemple, besoin de connaître votre IS à partir de votre laissez-passer. Vous devez savoir comment travailler avec les dépôts Git. Vous devez avoir un abonnement actif. Et cela peut être soit des contrats d'
entreprise avec paiement à l'utilisation ou même un essai gratuit avec vos crédits. débits sont des cartes prépayées, et cela vous donnera 200.170$ de crédits d'euros. Vous devez avoir Visual Studio Code installé ou tout IDE capable de fonctionner avec le contrôle de source basé sur le kit. Vous devez également avoir, comme vos modules PowerShell installés. Et cela peut fonctionner avec Windows ou Linux. Oui, ça marche. Cependant, si vous n'êtes pas à l'aise avec cela, vous pouvez l'utiliser comme votre CloudShell. Last but not least, Take It Easy. N' hésitez pas à sauter en avant et à suivre ce qui vous intéresse. Cependant, nous pourrions manquer quelques trucs et astuces. Si vous ne suivez pas le cours a l'intention de. Ne vous sentez pas intimidé si vous avez des problèmes, si vous êtes coincé n'importe où, n'hésitez pas à me contacter et je ferai de mon mieux pour vous répondre. Mettons-nous au travail et j'attends avec impatience ce que tu trouves.
2. Créez votre projet Azure DevOps: D' accord, donc le premier et moi devions faire est de m'inscrire avec leur zèle DevOps. Maintenant, nous pouvons soit utiliser vos comptes Microsoft normaux soit vous pouvez vous connecter avec votre compte GitHub. Je dois donc commencer gratuitement et créer un nouveau compte Microsoft. Maintenant, nous pouvons choisir la région dans laquelle nous allons démarrer notre compte DevOps. Nous pouvons donner un nom à l'organisation et aussi nous pouvons choisir comme centre de données et que nous allons héberger notre projet, ce qui est très important car il ne sert à rien de travailler
en Europe occidentale et d'avoir votre repo au Brésil, pour exemple. Maintenant, nous pouvons créer un projet pour commencer. Et la chose à noter ici est que nous pouvons avoir plusieurs projets sous une seule organisation, et chaque projet peut avoir ses propres autorisations et référentiels. Très bien, donc ici vous pouvez choisir si vous voulez que ce soit un projet privé ou un projet public. Alors avez-vous l'intention de travailler sur ce rapport avec l'équipe et vous n'avez pas l'intention de publier quoi que ce soit, vous pouvez aussi bien choisir un privé. Donc, je vais utiliser une option privée pour l'instant, vais lui donner un cours DevOps nom de projet, et cliquez sur créer un projet. Donc, sur la page récapitulative, nous pouvons ajouter une description du projet. On peut juste ajouter une description ici. Ou nous pouvons le lier au fichier Read Me ou au wiki sur le dépôt. Nous avons également les statistiques du projet, qui nous donne un aperçu des éléments créés où les tritons ont été complétés sur les tableaux. Nous obtenons également une vue sur les demandes globales ouvertes, les validations, et quand nous commençons à avoir des pipelines obtiendra également des statuts sur les pipelines qui ont réussi, échoué, et ainsi de suite. Il y a aussi une liste des membres ici. Et en haut, nous pouvons inviter de nouveaux membres. Nous les ajoutons par e-mail. Et plus fondamentalement va se produire, c'est qu'ils vont recevoir une invitation par e-mail pour rejoindre ce groupe DevOps. Nous avons également la section tableau de bord qui aura plus de sens à mesure que nous obtenons plus de contenu sur ce projet sont l'idée est que nous ajoutons des widgets qui seront liés avec des éléments de travail, statuts de
déploiement, des délais. Nous pouvons également ajouter des pages Web personnalisées, des pages marquage, des demandes de tirage. Nous publions, publions pipeline ou commentaires et ainsi de suite, allons et descendre ici nous avons la page wiki pour moi personnellement, j'aime tout documenter parce que vous ne savez jamais quand vous pourriez changer département ou vous pourriez aller ailleurs et quelqu'un devra prendre en charge ce que vous gérez. Ou si vous avez un nouveau membre de l'équipe qui doit être au courant de tout. Donc, utiliser le wiki ici est un bon moyen de permettre à tous les membres de l'équipe de collaborer. Nous avons la possibilité de créer un wiki de projet principal ,
puis de le lier avec plusieurs sous-wikis. Comme vous pouvez le voir ici, nous allons cliquer sur créer un wiki de projet. Nous avons le titre et ensuite nous pouvons avoir comme un mini mot éditeur de texte qui se traduira en Markdown. Maintenant, nous allons examiner les paramètres de l'organisation ,
puis passer à la phrase du projet.
3. Paramètres et licences d'organisation: D' accord, donc tout d'abord, on va retourner à l'organisation. Et ici, nous allons descendre dans le coin inférieur gauche de
l' écran et cliquer sur les organisations secondes. Ici, nous avons la possibilité de changer le nom de l'organisation. URL de confidentialité, ajouter une description, modifier le fuseau horaire, changer le propriétaire et supprimer l'ensemble de l'organisation. En vertu de ça, nous avons des projets. Nous pouvons ajouter des projets, nous pouvons modifier des projets, vous pouvez ajouter de nouveaux projets. Nous pouvons renommer ou supprimer des projets, et maintenant nous arrivons à la section utilisateur. Et cette section est très importante car c'est là les restrictions de licence SEO DevOps entrent en jeu. Donc, si je clique sur le résumé ici, nous constaterons que nous avons deux types d'utilisateurs. Nous avons l'utilisateur de base et l'intervenant. Maintenant, l'intervenant a accès à un nombre limité de fonctionnalités. Ainsi, par exemple, l'intervenant peut administrer l'organisation. Il peut accéder à des planches agiles. Vous pouvez accéder à une gestion de portefeuille agile. Et il peut utiliser une fonctionnalité standard qui comprend le travail à travers les projets, tableaux de bord
Bu vue wikis, notifications personnelles
gérées en raison de tester les éléments de travail de vue récapitulative, ainsi que de voir les versions et de gérer les approbations. Donc, comme vous pouvez le voir, l'intervenant serait plus comme votre manager ou quelqu'un qui a besoin d'approuver les choses plutôt que s'
impliquer dans les trucs techniques grossiers. Et cela peut être attribué à un usage limité. Maintenant, l'utilisateur de base vous permet d'utiliser toutes les fonctionnalités sur Azure DevOps, avec chaque organisation, vous n'obtenez que cinq utilisateurs gratuits. Le reste, vous devrez payer. Cependant, la chose cool à noter ici est que si vous avez MST et abonnés ou des abonnés Visual Studio Enterprise, vous pouvez les utiliser à la place d'une licence de base. Donc, n'avez pas besoin d'acheter des licences pour ce genre d'utilisations. Alors gardez ça à l'esprit. Maintenant, si nous cliquons sur le bouton Acheter, il nous mènera immédiatement à la section Bénin. On peut commencer à définir une capacité. Ainsi, vous pouvez dire que Berlin n'a pas été configuré car l'axe de l'organisation sera disponible jusqu'aux limites du niveau libre. Donc, les limites du niveau libre sont, et nous avons cinq accusateurs de BCE. Le reste qu'on doit payer. Nous avons 1800 minutes pour les pipelines CIC D hébergés par Microsoft, que nous aborderons dans une minute. Et nous avons un self-hébergé gratuit voir pipeline
ICD avec la liberté est que nous obtenons 0 emplois parallèles payés. Et cela signifie que nous ne pouvons pas avoir plus d'un pipeline et les faire fonctionner en même temps, aller et descendre vers des artefacts. Nous avons gratuitement deux gigaoctets d'artefacts utilisés, moins d'un gigaoctet d'utilisation émettent jusqu'à deux gigaoctets gratuits de tests de charge basés sur le cloud dans lesquels nous pouvons utiliser, nous avons jusqu'à 20 mille téléspectateurs. Pour plus d'informations, vous pouvez cliquer sur les limites de niveau gratuit. Et vous obtiendrez la foire aux questions sur le niveau gratuit. Nous avons la section de vérification. Donc, cela nous donne fondamentalement un journal de chaque activité qui se produit sur les projets, ce qui est très utile. Nous avons des notifications globales. Cela nous permet donc de gérer toutes les notifications liées aux projets. Ici, nous obtenons un journal de l'utilisation des applications et des extensions par utilisateur. Nous avons des extensions si vous voulez ajouter des extensions qui sont utilisées dans un pipeline, par
exemple, nous pouvons également
les sécuriser afin de ne pas permettre aux gens d'installer des extensions aussi bien. Ici, si nous cliquons sur le site de navigation, nous pouvons ajouter des étendues différentes. Vous pouvez les ajouter à partir des paramètres de l'organisation ou partir du pipeline lui-même jusqu'à Active Directory. Cette section nous permet donc de lier, il y a votre organisation DevOps avec notre locataire Azure Active Directory. Donc, il y a votre locataire Active Directory aurait tous les utilisateurs Active Directory être des utilisateurs hybrides ITS ou en tant qu'utilisateurs du cloud. Vous pouvez également les ajouter individuellement dans Azure DevOps. Par conséquent, plutôt que de les inviter avec des e-mails, vous utiliseriez dans leurs comptes Active Directory des stratégies de sécurité. Nous pouvons choisir d'autoriser l'accès à des applications tierces en utilisant OAuth. Donc, nous permettons aux développeurs d'utiliser l'API Vizio DevOps pour faire exactement les mêmes choses qu'ils font sur le portail, nous pouvons choisir d'activer ou de désactiver l'authentification SSH. Nous pouvons choisir les projets publics désactivés, et nous pouvons choisir d'inviter ou non les utilisateurs de Github ou de descendre à Autorisations. agit des autorisations globales qui s'appliqueraient à l'organisation. Et toute profondeur de permission que vous ajouteriez ici
serait héritée sur les projets ci-dessous que nous avons maintenant et le tableau de nous permet de choisir différents processus pour le comme vous êtes acheté à la géométrie en utilisant la base. Mais nous pouvons également choisir spécifiquement agile, mêlée ou CWR. Mon passage aux pipelines, nous avons des pools d'agents et essentiellement des pipelines autour avec vos Asiatiques DevOps. Et ces agents pourraient être exécutés sur des machines virtuelles ou des conteneurs. Maintenant, que vous ou vous donnez un pool d'agents que vous pouvez utiliser pour exécuter vos pipelines. Mais vous pouvez également créer votre propre piscine auto-hébergée. Et cela serait utile si vous souhaitez que des pipelines d'
automatisation s' exécutent au sein de votre réseau privé. Supposons donc que vous ayez un pipeline qui interagirait avec un service interne derrière votre pare-feu d'entreprise. Et pour cela, vous pouvez utiliser un agent privé peut avoir des paramètres, nous pouvons désactiver Paxos anonymes, les variables de
limite sont peuvent être définies sur q temps. On va y entrer. Vous avez des pools de déploiement, des tâches parallèles. Bien sûr, étant donné que nous utilisons un niveau gratuit, nous n'avons pas accès à des tâches parallèles, mais nous avons la possibilité d'acheter des tâches parallèles, comme vous pouvez le voir ci-dessous, si nous allons être utilisés dans un projet privé ont été autorisés à un travail parallèle,
mais ce travail parallèle doit être dans un auto-hébergé tous. Si nous allons être utilisés dans un pool Asiatiques hébergé par Microsoft, nous n'avons pas de gouttes parallèles si le projet
va être publié avec un pool asiatique hébergé par Microsoft, nous sommes autorisés à dix emplois parallèles si nous allons utiliser comme auto hébergé patient chaud, en utilisant nos propres machines virtuelles ou d'autres conteneurs propres, nous aurions des emplois parallèles illimités. Donc ça vaut la peine d'y penser. Ici, nous avons les deux configurations qui nous permettent d'utiliser des principes de service ou des comptes d'
application provenant d'autres sources comme cloud GitHub ou GitHub Enterprise server. Nous avons les dépôts où nous pouvons choisir d'activer ou de désactiver les images de gravité, nous pouvons changer le nom de branche par défaut pour le nouveau dépôt. Donc, en ce moment par défaut, chaque fois que vous créez un nouveau repo, vous obtiendrez la branche principale. On a des artefacts. Nous pouvons configurer le stockage pour les artefacts. Et les artefacts sont les fichiers que vous allez publier sur votre pipeline de publication. Pour le moment, nous avons 0 whw qui était très long Était-ce pas était très important de savoir ces semble surtout si vous voulez utiliser comme votre DevOps en production, nous allons maintenant passer aux paramètres du projet.
4. Paramètres du projet et connexion avec Azure: Très bien, maintenant nous sommes revenus à notre projet, va descendre dans le coin inférieur gauche de l'écran et cliquer sur Paramètres du projet. Ici, nous avons la possibilité de renommer le projet lui-même, la description. Nous pouvons modifier la visibilité du projet en fonction du fait que l'option soit activée ou non sur les paramètres de l'organisation. Si vous vous en souvenez, nous pouvons avoir des administrateurs de
projet et nous pouvons activer ou désactiver des fonctionnalités. Ici, nous pouvons supprimer le projet aussi, en allant aux équipes. Maintenant, par défaut, nous obtenons une équipe créée avec le projet. Et cette équipe serait un groupe. Vous pouvez ainsi créer une autre équipe. Et dans cette équipe, vous pouvez ajouter des membres et des administrateurs. Et vous pouvez l'utiliser pour attribuer des autorisations à un groupe entier. Donc, si vous allez à Autorisations, nous avons les groupes par défaut. En plus des coûts DevOps disponibles ici, vous pouvez choisir d'utiliser un groupe par défaut ou créer vos propres groupes avec des autorisations granulaires. Personnellement, j'aime avoir des permissions granulaires. Je peux donc employer au moins des politiques privilégiées. Donc, nous pouvons avoir un administrateur de projet juste sur les tableaux. Ça pourrait être le chef d'équipe. Le seul besoin de regarder les éléments de travail est Scrum Sprints et ainsi de suite. Ici, nous avons les vues des groupes et des utilisateurs. Donc tous les utilisateurs apparaîtraient ici. Si nous cliquons sur l'utilisateur, nous verrions leurs autorisations telles qu'elles sont héritées. Nous pouvons également voir les groupes dont ils sont membres. Ainsi, par exemple, la CSU texturée fait partie du groupe des administrateurs de projet, équipe de cours
DevOps et des administrateurs de collecte de projets de l'organisation, et même des notifications automatiques. Désormais, par défaut, ce message sera envoyé dans chaque événement sous forme d'e-mail à l'équipe de cours DevOps. Vous pouvez choisir de le garder comme ça. Mais croyez-moi, une fois que vous commencerez à travailler avec les ondulations et publiées dans les pipelines et tout ça, vous commencerez à recevoir des courriels très spammy. Donc, vous pouvez choisir de désactiver certains d'entre eux ou créer un nouvel abonnement avec des événements spécifiques de hooks de service est comme le tracé des notifications. Il envoie une notification en dehors de SEO DevOps. Donc, si je clique sur Créer un abonnement, nous pouvons envoyer des événements à un certain nombre de services comme le centre d'applications en tant que serveurs d'applications. Ainsi, les événements pris en charge appelés actions prises en charge poussées déploient une application Web, le stockage Service Bus. On peut lui envoyer les Jenkins aussi. Donc, quand ils construisent est terminée, nous pouvons déclencher une construction sur Jenkins. Nous n'avons pas à utiliser comme votre DevOps, par exemple, nous pouvons envoyer quelque chose dans Office 365 par exemple. Donc, disons que vous avez un groupe d'équipe, et quand quelqu'un crée un élément de travail qui enverra une notification au score de l'équipe, nous pouvons également utiliser des crochets Web. Donc, si nous avons notre propre API, nous pouvons envoyer des événements à cette API et la traiter en conséquence. Ainsi, avec les tableaux de bord, nous pouvons contrôler qui peut créer, modifier l'entité, eux. En descendant vers les planches, nous avions la configuration du projet. Nous pouvons définir des itérations élevées. Nous pouvons définir des données, nous pouvons ajouter des domaines que nous pouvons également faire à partir de la section du conseil d'administration elle-même. Nous avons la configuration de l'équipe où nous pouvons définir les niveaux de navigation. Nous pouvons également définir les jours ouvrables pour que l'équipe travaille officiellement les jours de semaine seulement. On peut aller aux itérations. Nous pouvons aller dans des zones où nous pouvons créer différentes zones. Donc, ici, nous pouvons définir des modèles quand quelqu'un veut publier un problème, n'importe quel pic ou une tâche. Ici, nous avons des connexions GitHub. C' est là que nous serions Lincoln le projet avec un compte GitHub. Ici, nous avons les pools asiatiques, qui est exactement comme les pools asiatiques sur les paramètres de l'organisation, nous avons les travaux parallèles, ce qui est encore une fois comme les paramètres de l'organisation. Nous avons les paramètres de pipeline qui nous permettront de définir des stratégies de
rétention pour le pipeline d'artefacts ou de conférences. Nous avons la section de gestion des tests qui nous permet de gérer la détection des tests squameux. Nous avons la rétention des versions, ce qui nous donnera des informations sur la politique de rétention des versions. Et voici une section très importante qui est les connexions de service. Puisque nous allons utiliser comme votre pour ce cours pour
déployer une application Web et mettre à jour la page Web, nous devons créer une connexion de service. Donc, cela en créer un maintenant, donc je vais cliquer sur Connexion au service de requête. Et ici, comme vous pouvez le voir, nous pouvons établir un lien avec un certain nombre de services. Ainsi, nous pouvons le lier à votre classique Azure Resource Manager Bitbucket Chef, hôte
Docker, je vais choisir comme gestionnaire de ressources. Maintenant, l'option la plus simple serait d'utiliser Service Principal automatique, qui lierait votre compte DevOps actuel avec les comptes cloud Azure lorsque vous le sélectionnez car votre DevOps tentera de vous lorsque vous êtes actuellement connecté définies si elles sont liées à des informations d'identification Cloud. Maintenant, puisque ce compte n'est pas lié à un 0, nous devrons faire les choses manuellement. Donc, je vais revenir sur le manuel de principe de service et je vais le lier avec comme votre cloud. Et je vais utiliser un ID d'abonnement que j'ai avec un autre compte. Je vais donc ajouter le nom de l'abonnement. Je vais ajouter le nom de mon abonnement, qui provient de ma chaîne YouTube sœur. Et maintenant, je vais utiliser un numéro de principe de service , donc je vais retourner à mon compte comme vos comptes. Et je vais aller à Azure Active Directory, enregistrements d'applications. Et je vais créer une nouvelle inscription et je vais l'appeler développe épisode. Je vais utiliser un seul locataire. L' eau peut utiliser un certain nombre d'options. Pointeur enregistrer ce compte. Ok, donc maintenant j'ai un ID client et un ID locataire. Donc, je vais utiliser un ID client. Le principal service informatique clé de principe sera le mot de passe ou le secret. Ils doivent retourner ici et je vais créer un secret. Maintenant, idéalement avec des secrets, vous les générez sur l'enregistrement de l'application, puis les stocker dans un coffre-fort Azure Key, par
exemple, parce que le bois là comme votre clé volt, vous pouvez craber dynamiquement les secrets et lorsque le secret expire et qu'il est temps d'être changé, vous n'avez pas besoin de revenir à vos applications et de modifier un manuel que vous pouvez simplement les changer à partir
du clavier parce que toutes vos applications se connectent à la touche coffre-fort était un test expire dans un an. On n'a pas dérangé. droite. Alors maintenant, j'ai la valeur. Je peux juste prendre que les rapports la clé principale du service. Et nous revenons en arrière et nous obtenons notre identifiant de locataire, qui est le domaine Azure AD. C' est fait. On lui donne un nom. Ok, donc nous sommes prêts à y aller. Je peux cliquer sur Vérifier. Donc maintenant, lorsque je clique sur Vérifier me dit que je suis interdit de Lincoln choses importantes lorsque vous créez un principe de service que vous lui donnez accès sur l'abonnement ou le groupe de ressources avec lequel vous voulez travailler. Je dois donc revenir à mon abonnement,
aller à Contrôle d'accès, aller à Contrôle d'accès, modifier les affectations de rôle pour toutes les affectations. Et je vais lui donner un contributeur. Oups, épisode. Et en sécurité. Je devrais lui donner un accès contributeur sur l'abonnement qui s'appliquera à tous les groupes de ressources. Souffle-le. Bon, pour que je puisse aller vérifier à nouveau. Tout a l'air bien. Donc, maintenant, nous avons établi une connexion avec le comme votre cloud. Cette connexion nous permettra de créer des applications web, créer des machines virtuelles, entrer des désirs de cœur de données sur l'abonnement. Nous avons des services de construction XHTML. Si vous voulez avoir une connexion, nous avons les ondulations. Donc, ici, nous avons les paramètres des dépôts. Nous pouvons ajouter de nouveaux dépôts, ou nous pouvons parcourir, renommer, supprimer ceux existants. Nous pouvons modifier les paramètres de sorte que le nom de branche par défaut, par exemple, nous pouvons appliquer une taille de fichier maximale et la longueur de chemin maximale noms réservés, par exemple. Et nous avons des autorisations, nous pouvons définir des autorisations sur les dépôts eux-mêmes. Avoir l'autorisation de créer une branche, Créer un référentiel, Grande balise. Selon les groupes, nous avons aussi le stockage des artefacts, et nous avons les retenues de test afin que nous puissions garder les tests automatisés sont ions résultats dans les pièces jointes pendant 30 jours et pour les essais manuels, nous pouvons garder pendant un an. C'est ça. Alors maintenant, je te le promets, on va commencer à se lancer dans les bonnes choses.
5. Configurer le répo GIT: Ok, donc finalement on va faire un peu de travail. Donc, tout d'abord, on va vérifier les rapports. Nous allons aller aux fichiers et nous trouvons que nos dépôts et il a un fichier Read Me et il a une branche principale. Maintenant, je ne peux pas insister assez sur ce point. Vous ne voulez pas travailler directement avec le domaine ou la branche principale. Si vous travaillez avec une équipe ou que vous rejoignez une entreprise et que vous commencez à jouer avec la succursale principale, vous ne durerez pas très longtemps. Alors, qu'est-ce qu'on va faire ? Nous allons protéger la branche principale en appliquant les requêtes polaires. Et ces demandes de tirage seront liées à celles du tableau. Donc, tout d'abord, nous sommes arrivés aux succursales, nous en avons eu deux de plus et nous sommes arrivés aux politiques des directions générales. Et voici où nous appliquons les demandes de traction. Pour le bien de ce cours, je vais prendre permettre aux demandeurs d'améliorer leurs propres changements sont généralement ne permettrait pas cela. L' option suivante, je vais activer cette vérification pour les éléments de travail
liés et je vais le définir comme nécessaire. Donc, ce que nous avons fait, nous avons protégé la branche principale d'être directement poussée à pourquoi appliquer des requêtes de traction. Et nous avons également mis en place une collaboration avec l'équipe. C' est donc une requête polaire ne sera pas approuvée à moins qu'elle ne soit liée à un élément de travail. Donc maintenant, si je vais publier du code, je vais devoir se brancher, publier un rhume sur la branche, soumettre une demande de traction qui doit être liée à l'élément de travail, puis fusionner. Donc, tout d'abord, je vais aller aux éléments de travail des tableaux, et je vais ajouter un nouvel élément de travail, une tâche qui dit déployer des sites Web. Je vais l'assigner à moi-même et j'ajouterai cette liste de choses à faire. Maintenant, l'élément de travail, nous pouvons le lier à une raison spécifique, une zone spécifique que nous pouvons définir dans les paramètres du projet. Et nous pouvons également l'assigner à un sprint spécifique. Nous pouvons le lier à certaines branches sur l'ondulation ainsi qu'à d'autres éléments de travail. Et dès que nous aurons une version liée à une demande de traction, elle commencerait à apparaître ici. En outre, sous ce point de travail, nous pouvons ajouter une description que j'encourage les gens à ajouter. Donc, ici, nous allons parler de cette nouvelle fonctionnalité qu'il avait été ajouté, cette nouvelle correction de bug et ainsi de suite. Vous pouvez également avoir une discussion où d'autres membres de l'équipe peuvent ajouter des commentaires. Vous pouvez voir l'état et ses trois. Vous pouvez le lier à d'autres éléments. Vous pouvez également ajouter des pièces jointes. Donc, pour l'instant, je vais enregistrer et nous avons tâche numéro sept maintenant pour pousser ce code qui va d'abord, cloner ce rapport dans notre IDE de code Visual Studio. Et le moyen le plus rapide de le faire est d'utiliser le bouton de clonage et de cliquer sur le code Visual Studio. Et ce que cela fait essentiellement, c'est qu'il crée un jeton d'accès personnel, que vous pouvez trouver ici, des jetons d'accès personnels. Il créera un jeton d'accès personnel en arrière-plan qui permettrait à votre code Visual Studio de se connecter à Azure DevOps. Et vous devez être prudent avec cela car chaque fois que vous cliquez sur ce bouton, vous allez créer un nouveau jeton d'accès personnel. Donc, pour l'instant, je vais ouvrir Visual Studio Code. Et nous allons utiliser ce bouton. Et maintenant une extension pour ouvrir CRI, ouvrir maintenant allait nous demander où nous voulons stocker notre nouveau REPL. Alors donnons-lui un nouveau dossier. Devops épisodes. Et jetons ici. Maintenant sont clonés dans votre dépôt Git. Voulez-vous ouvrir un clone ? Le référentiel, nous dirions Open, et maintenant nous sommes connectés à notre référentiel sur Azure DevOps. Donc à ce stade, ce que j'aimerais que vous fassiez, c'est aux cris de Brown. Donc, nous allons au contrôle de la source, cliquez sur les trois boutons et nous sommes arrivés à la caisse aussi. On dirait la première ébauche. D' accord. Et maintenant je voudrais que vous téléchargez le fichier zip pour ce cours, extrayez les fichiers et les vider dans ce dossier, n'est-ce pas ? Donc maintenant, nous avons le fichier zip extrait dans le dossier, qui utilise la première branche brouillon. Et ce que c'est fondamentalement une application web Node.js simple nous. Nous avons également un fichier 0 déployé ou adjacent, qui est un modèle de gestionnaire de ressources, modèle ARM. Ce que cela fait, il va déployer une batterie de serveurs avec une application Web qui a deux emplacements de déploiement, vivant dans un sourd. Et chacun de ces emplacements de déploiement aura sa propre URL. En plus de cela, si vous voulez examiner, nous avons entré votre fichier de pipelines YAML. Et pour ce cours, nous allons utiliser
l' interface graphique classique afin qu'il puisse s'habituer à déployer ces pipelines. Cependant, gardez à l'esprit que vous pouvez utiliser ces fichiers et les stocker dans votre référentiel de code pour le contrôle de version. Donc maintenant, vous devez le pousser à notre première branche de brouillon. Nous avons fait les commits des portes, maintenant nous allons le pousser. Pas de branche en amont, oui, compris. Cliquez sur OK. Et c'est fait. Maintenant, essayons de déconner avec la branche principale. Donc, si je vais à la main et j'essaie d'ajouter quelque chose au fichier readme. Ok, donc c'est un nouveau changement. Si je vais au contrôle de la source, dû git commit test de message, Contrôle Entrée. Et j'essaie de pousser ce changement. Que va-t-il se passer avec cette erreur ? Si nous ouvrons le journal git, nous verrons les poussées à travers cette branche ne sont pas autorisées. Vous devez utiliser une requête d'extraction pour mettre à jour cette branche. Comme vous pouvez le voir, nous avons empêché les gens de jouer avec la branche principale. Maintenant, imaginez que la branche principale serait votre site Web réel en direct. Tu ne veux pas que les gens se débrouillent avec eux. Passons maintenant à Azure DevOps. Et si je me rafraîchis, nous recevrons ce message qui dit que vous avez mis à jour le premier brouillon il y a deux minutes. Nous pouvons également aller chercher des demandes et créer une nouvelle demande de sondage et nous recevrons le même message ici aussi. Donc, si je clique sur de nouvelles requêtes polaires, nous pouvons choisir une branche. Donc premier projet en main. Et ici, nous pouvons ajouter un titre et une description pour la demande de pull. Je vais donc dire les premiers brouillons, une description de cette nouvelle demande de sondage ou de cette nouvelle fonctionnalité, ce nouveau correctif de bogue et les réviseurs. Donc, je vais en ajouter un. Ici. Nous devons ajouter un élément de travail. Nous allons donc ajouter les sites de déploiement. Et maintenant, nous avons une demande de traction qui restera comme ça jusqu'à ce que quelqu'un l'approuve. Comme vous pouvez le voir ici, nous avons la vue d'ensemble. Il nous dit que plus vieux Shek a réussi. Alors que va-t-il se passer ici ? Tout d'abord, je veux vérifier s'il y a un élément de travail lié avec lui. Deuxièmement, il va vérifier s'il y a un conflit de fusion. Donc, si vous avez des conflits de fusion et nous le saurons bien à l'avance. Et bien sûr, nous devrons réparer ça. Et à ce stade, si vous ajoutez d'autres modifications à leur premier brouillon, il apparaîtra automatiquement avec une demande d'extraction si elle n'a pas été approuvée comme 50 à déposer, nous verrons tous les fichiers que nous ajoutons ou modifions les mises à jour et il s'engage. Donc maintenant, puisque je prends des widgets un, je peux approuver et c'est fait. Donc maintenant, nous pouvons cliquer sur le bouton Complete et une bouteille complète va fusionner avec le domaine. Il peut également terminer l'élément de travail associé après la fusion. Donc, ici, vous avez le choix de terminer ou de le laisser inachevé. Juste dans les cas, l'élément de travail est lié avec plusieurs demandes. On peut cliquer dessus. Nous supprimerons également la première ébauche après la fusion. Ici peut également ajouter un message de validation de fusion personnalisé. Donc, je vais terminer la fusion. C' est fait le projet de ressources. Donc maintenant, si je vais aux fichiers et qu'il m'est arrivé et nous verrons que nous avons notre nouvelle application web. Si je vais à mon code Visual Studio dans la branche principale et que je clique sur pull. Nous devrions commencer à obtenir tous les fichiers, comme vous pouvez le voir ici. Maintenant, ce que nous avons fait, nous avons lié notre repo avec le code Visual Studio sur notre propre ordinateur portable. Nous avons essentiellement créé un jeton d'accès personnel qui permettrait aux visuels de décoder, se connecter à Azure DevOps, ou nous avons activé les requêtes d'extraction afin que nous puissions protéger la branche principale de quelqu'un qui y pousse directement. Et nous avons lié la demande de traction avec les planches, donc nous avons mis en place une collaboration avec l'équipe. Ensuite, nous allons nous concentrer sur la création de notre application Web à l'aide du fichier Azure Deploy Dot JSON. Et puis nous allons passer à créer une heure de construction et libérer des pipelines.
6. Déployer la WebApp en utilisant ARM: Maintenant, on va faire un peu de magie. Ce que je voudrais que vous fassiez, c'est exécuter PowerShell en tant qu'administrateur et tapez Install module a Zen. Et cela va télécharger les modules Azure PowerShell, dire oui à tous, et continuer avec l'installation. Ok, une fois que c'est fait, fermez cette session de terminal et ouvrez une autre. Et maintenant, nous allons taper connecter un compte. Nous allons nous connecter en utilisant nos identifiants pour un 0, et c'est tout. Donc, la première chose que nous allons faire est de sélectionner notre abonnement. Donc, nous allons sélectionner l'abonnement ASR et lui donner le nom. C' est fait. Pour déployer cette application Web, nous avons besoin d'un groupe de ressources. Donc, je vais taper de nouveaux A dans le groupe de ressources. Le nom serait DevOps, emplacement de l'
épisode serait et l'Europe de l'Ouest. Et c'est fait. Donc, maintenant, nous pouvons taper les vues A lors des déploiements de groupes de ressources. Vous donnez l'épisode DevOps de déploiement et de but. Nous lui donnons le nom du fichier modèle. Donc, nous écrivons un modèle ou un fichier de modèle et nous disons, comme vous êtes diploïde ou JSON. Maintenant, puisque nous avons deux paramètres définis dans le fichier, nous pouvons les utiliser comme paramètres PowerShell. Donc site, nom d'hôte l'appellerait prendre bon Sue, App, App, Nom du plan de service. On appellerait ça prendre l'Egypte bientôt. App, SBC p, k. nom du groupe de
ressources serait l'épisode DevOps. Faisons verbeux. On y va. Le modèle est valide, donc nous avons eu un problème à modéliser, il s'arrêterait alors sous vérification et l'état du déploiement. Et ce que nous pouvons faire, nous pouvons aller à 0 et nous pouvons découvrir que notre déploiement a échoué. Pourquoi ? Alors dites-nous que la texture du nom d'hôte pour souligner l'application est invalide, évidemment parce qu'elle va l'utiliser pour une URL. Revenons donc à nos déploiements, qui ont également
échoué, comme nous pouvons le voir ici. Et nous allons utiliser le modèle de tirets aussi valide que aller à nouveau, rafraîchir. Maintenant, il dit de déployer ceci, vérifier. Donc, nous avons une batterie de serveurs et c'est fait. Nous vérifions Visual Studio Code, réussi. Donc, si nous allons au groupe de ressources, nous trouverons deux plans de service d'application et un serveur d'application. Si nous vérifions nos serveurs d'applications et accédons aux emplacements de déploiement, nous trouverons deux emplacements de déploiement. Un qui s'appelle « prendre des trucs ». Donc App pour la production et prendre jujitsu dash app, dash dev pour le développement. Pour l'instant, l'idée est que nous allons d'abord déployer vers le développement. Nous allons tester le site est si ça a l'air correct. Ensuite, nous allons échanger des emplacements de déploiement vers la production. Alors passons à la vue d'ensemble et vérifions l'URL. Et comme vous pouvez le voir, nous avons l'espace réservé Node JS pour Microsoft ou 0. Maintenant, nous pouvons commencer à travailler sur notre pipeline de construction.
7. Construire un pipeline d'intégration continue: D' accord, revenons à nos produits DevOps. Nous allons aller aux pipelines et nous allons créer un pipe-line. Alors que votre code, donc nous avons un certain nombre d'options ici où nous pouvons utiliser un zoo ondulations, Bitbucket, obtient hub, et ainsi de suite. Nous allons donc choisir comme vos repos, nous ne choisissons pas notre référentiel et cela
ramasse automatiquement le bouton de fichier YAML de pipelines Azure à la place de cela. Donc on va y retourner et utiliser l'éditeur classique. Et ici, nous avons les mêmes options avec les projets d'équipe et les référentiels. Nous pouvons choisir la branche principale et cliquer sur continuer. Maintenant, nous pouvons choisir un modèle si nous le voulons, nous avons un certain nombre de modèles. Pour l'instant, je vais choisir un travail vide. Et ici, nous avons notre premier pipeline de construction. On va lui donner un nom. On va choisir la piscine asiatique. Et comme je vous l'ai dit, les pipelines circulant sur l'Asie du Sud-Est seraient sur des machines virtuelles ou des conteneurs. Ces agents peuvent également être vos agents de pipeline ou il peut y avoir des Asiatiques privés au sein de vos propres machines virtuelles. Nous allons donc l'utiliser au fur et à mesure que vos pipelines tirent. Et à partir de cette piscine, nous pouvons choisir un certain nombre de spécifications. Donc, je vais choisir pour B12 18 quand il est arrivé à l'option get Sources, pas de pas. Vous avez la possibilité de changer de branche. Donc, si vous voulez tester ce pipeline sur une autre branche, vous pouvez facilement le changer ici s'il est disponible. Continuons, on va au premier emploi asiatique. Donc, voici où nous commençons tête dans les tâches pour le pipeline. Alors cliquez sur le bouton plus ici et nous avons un certain nombre de tâches que nous pouvons ajouter. Donc, la première tâche que nous allons ajouter est tester l'application web et nous allons installer npm. Ici. Nous cherchons le travail et le dossier qui contient package.json, qui est ce fichier ici. Nous allons ajouter un test NPM, que nous n'avons pas ici. Donc, ce que nous allons faire, nous allons utiliser la ligne de commande, ce qui nous permet d'utiliser soit la ligne de commande sous Windows ou bash sous Linux. Nous l'ajoutons ici. Et on peut dire, oui. Et il a écrit des tests npm. Peut également aller à Avancé et assurez-vous que nous utilisons le bon répertoire de travail. Devrait être au cours DevOps évidemment. Donc, d'accord, maintenant nous allons ajouter des archives. Nous allons donc archiver tous les fichiers du site Web. Je vais choisir un dossier racine. Nous allons donc utiliser le répertoire de travail par défaut du système variable. Nous allons supprimer le dossier racine de prépends, et nous voulons archiver comme zip. Et nous allons utiliser les mises à niveau d'Arafat construites, répertoire de la station d'
artefact construit ID. Maintenant, nous allons publier cette application web archivée afin que nous puissions ajouter une autre tâche, les artefacts de pipeline publiés. Et donc ce qui va se passer ici, c'est tout d'abord, nous allons lancer l'installation de NPM. Ensuite, nous allons tester l'application web. Si le test réussit, nous archiverons et publierons l'application web. Pour une raison quelconque, le test échoue. Le pipeline, le pipeline de construction s'arrêtera puis Ender, et bien sûr, vous serez averti à ce sujet. Maintenant, avant de continuer, nous allons prendre le fichier zip ID de construction et l'ajouter à l'artefact de pipeline publié. Nous ne publions donc que le fichier zip. Donc, c'est fondamentalement le pipeline de construction. Alors, comment pouvons-nous en faire un pipeline d'intégration continue ? Nous allons sur les déclencheurs et cochez, Activer l'intégration continue et nous allons le lier à la branche principale. Notez ici que nous pouvons également ajouter des filtres de chemin. Donc c'est Nous pouvons surveiller un dossier dans la branche principale plutôt que tout. Donc, c'est fait et cliquez sur enregistrer. Maintenant, avant de continuer, je veux vous montrer quelque chose de très intéressant, et c'est la section Variables du pipeline. Ici, nous pouvons ajouter des variables qui s'appliqueraient au pipeline. Ces variables peuvent être des variables par défaut ou un type IQ définissable. Il pourrait donc dire le nom de l'ordinateur ou le nom de la machine virtuelle. Lorsque le pipeline s'exécute, cette variable devient une variable d'environnement au sein de ce pipeline. Et ce que je veux l'utiliser, je peux l'appeler comme ça. Et j'obtiendrai la valeur de cette variable si je voulais l'utiliser dans PowerShell, j'utiliserais la variable ENV un. Si je voulais l'utiliser en Python, je vais importer OS et OS point environ. Comme c'est un dictionnaire, nous dirions variable, et cela nous donnerait la valeur de cette variable à utiliser dans le script. Donc, ces variables peuvent être soit des textes de base sécurisés aussi. Ainsi, vous pouvez utiliser des mots de passe ou aussi vous pouvez ajouter une tâche avant que tout fonctionne. Elle a utilisé une chambre forte. Nous ferions un lien avec notre connexion et notre abonnement. Nous obtiendrions le nom secret spécifique du coffre-fort. Et cela devient aussi une variable de pipeline,
que vous pouvez ensuite utiliser. En conséquence. Nous écririons les noms secrets du nom secret était secret mot de passe. Vous devez ajouter un mot de passe secret ici et l'utiliser dans le pipeline. Donc, vous n'avez pas à coder en dur les mots de passe sensibles n'importe où. Vous pouvez simplement vous connecter à Key Vault, remplir la variable et l'utiliser. Assez cool. Maintenant, nettoyons ça. D' accord, alors testons notre Build Pipeline. Maintenant, puisque nous avons tout verrouillé, nous devons aller aux tableaux, les éléments de
travail a créé un nouvel élément de travail, tester, Construire, Pipeline, et l'affecter à moi-même. Sauvegarde fréquente. Ça a l'air bien. Nous allons à notre code Visual Studio et nous allons
brancher la première fonctionnalité. Droit ? Aller à, aller à vues Index. Et je vais ajouter du texte. Et dire table. Ce n'est pas du texte comme un tableau en fait, mais oui, nous ajoutons une ligne, nous avions un moi. Et puis sous ça et une autre rangée. Que oui, oui, oui. D' accord. Cve, c'est ça ? Ajout d'une table. Et poussons cela à la première fonctionnalité. Joli travail Lee. D' accord, laisse-moi aller aux dossiers. D' accord. Créez une demande d'extraction à un lien de table. C' est pour tester et construire l'approbateur IMD de pipeline. Ok, j'approuve. C' est ça. On dirait que Goode est complet. Est-ce que ETF maintenant qui est fusionné. Vérifions notre pipeline. Comme vous pouvez le voir, cela a commencé à fonctionner. Donc, il est l'installation du test NPM sur l'application Web. Le test a réussi il archives et puis il publie. Ensuite, nous allons travailler sur le pipeline de libération.
8. Pipeline à l'expansion continue: Donc maintenant, nous allons créer un pipeline de libération pour un modèle que je vais choisir comme le déploiement de votre service d'application serait fente, Cliquez sur Appliquer, donnez-lui un nom de scène. Déployez vers dev, accédez aux tâches et aux tâches. Et nous voyons que nous avons deux tâches. Déployer l'application, le service à l'emplacement, service d'application de
gestion, l'échange de fentes. Maintenant, puisque nous voulons déployer sur dev, avoir une forme d'approbation manuelle, puis déployer à vie. Nous allons supprimer le swap de fente pour la scène maintenant ira pour aller se déployer à mort. Nous allons sélectionner l'abonnement Azure, que nous avons défini avec la connexion de nos serveurs. Nous allons sélectionner l'application Web sur Linux. Nous allons sélectionner le nom du service d'application que nous avons déjà texturé. Donc nous allons sélectionner le groupe de ressources et le slot, qui va être sourd. Très bien, sûr. Maintenant va retourner à la canalisation et regarder les artefacts. Vous allez cliquer sur les annonces. Nous voulons choisir notre Build Pipeline, construire et tester. Et pour la version, nous allons choisir la dernière version. Ainsi, chaque fois que la dernière version de l'artefact Build Pipeline est publiée, nous l'utiliserons. Maintenant. Nous allons cliquer sur cette icône d'allégement pour activer le déploiement continu. Nous allons donc gérer le CI et le pot de CD pour le contenu. Et nous avons deux options. Soit nous activons des déploiements continus, soit nous le lions à la demande de traction. Donc, je vais utiliser un déclencheur de CD et je vais ajouter un filtre de branche. Ça veut dire que c'est fait. Ok, la prochaine étape, je vais exécuter le clone. Et je vais dire à la vie. Et avant que cela ne se déclenche, nous allons utiliser une condition de pré-déploiement. Et ce que cela fait, cela nous permet d'utiliser l'approbation préalable au déploiement. Nous allons ajouter un approbateur et nous pouvons ajouter un délai d'attente. Donc, nous pouvons dire votre temps sur 24 heures par exemple. Donc, ce qui se passera ici, c'est que cela
finira par déployer vers les sourds, puis arrêter ou
approuver manuellement pendant 24 heures que les personnes qui vont être ajoutées aux approbateurs recevront des e-mails, leur
demandant d'évaluer et approuver. Cette étape, nous allons à la vie et plutôt que d'utiliser déployer App Service pour fente, nous allons échanger des slops. Et pour utiliser App Service, gérez les lots de swaps. Choisissez notre abonnement, notre App Service, notre groupe de ressources et notre emplacement source. Et ici, nous allons cocher swap avec la production et nous cliquons sur coffre-fort. Et avec cela, Mesdames et Messieurs, nous avons terminé un pipeline de CD CI. Allons tirer les derniers changements du Maine parce qu'on a ajouté des pipelines, donc on doit tirer ces changements, n'est-ce pas ? Checkout pour publier en direct Jose, ta vie, ok. Et une autre rangée. La vie publiée. Poussez ensuite cette fonctionnalité. Publiez vivant. On ne pousse pas de branche en amont, oui, bien. Tu dois tirer des demandes. Vous le mettez à jour, nouvelle vie. D' accord. C' est lié à un élément de travail. Attachez-le avec un réviseur. Sachez, fusionner les conflits. Warner vue doit approuver, approuver, terminer, et loin nous allons. Que va-t-il se passer maintenant ? Demandes d'extraction émergentes Et maintenant, nous allons construire et tester le site Web. Voyons voir. D' accord, donc l'artefact est publié, finalisé et travail fait. Maintenant, si nous allons à la sortie, actualisez-le à nouveau, nous verrons avoir publié un est de vérifier ceci. Ici, nous allons, Qd, si déployer à l'agent de développement qui est prêt pour le travail et cette attente pour qu'il soit en cours. Maintenant, il va déployer à la fente de développement ou à droite à qui a réussi que voir ce que vous avez fait. Le déploiement à l'aide des journaux de déploiement initiés par zip peut être consulté. C' est fait. Il a donc été déployé sur l'application de tableau de bord jiu-jitsu. Alors prenons cette URL et ouvrez-la ici. Comme vous pouvez le voir, nous avons notre site web de développement. On a la photo des comtes. On a la table ici. Ça a l'air bien. Qui sommes-nous. Il entre en contact. Comme vous pouvez le voir. Ça a l'air bien. Retournez et revenez à la sortie. Nous voyons que le déploiement à vie est en attente d'approbation. Maintenant, ça devrait m'envoyer un e-mail. Laisse-moi vérifier mon email. Comme nous pouvons le voir ici, nous avons une utrification demandant l'approbation. Une fois que vous êtes satisfait de cette modification, vous pouvez cliquer sur Afficher l'approbation. Cliquez sur Approuver, donnez les commentaires. Ou vous pouvez le reporter à plus tard. Et cela déclenchera automatiquement l'autre étape du pipeline de libération. Et cette étape va échanger le développement avec le déploiement de la vie et le progrès. Échangée sur la vie, terminée. Vérifions le journal qui est fait. Donc maintenant, si je retourne sur le site et supprime le suffixe sourd. Notre site web, c'est la vie. Et avec cela, Mesdames et Messieurs, nous avons déployé notre premier pipeline d'intégration
continue, déploiement continu en utilisant comme votre DevOps, j'espère que vous avez apprécié ce cours. Je suis très excité de voir comment vous progressez avec elle. Si vous avez des
questions, des commentaires, n'
hésitez pas à me contacter et je ferai mon mieux pour vous aider. Merci beaucoup. Au revoir.
9. Fin: Merci d'avoir suivi le cours. J' espère que vous l'avez trouvé très instructif et utile. Vous trouverez tous les documents de cours dans la description du cours ci-dessous. Et encore une fois, si vous avez des problèmes, si vous êtes coincé n'importe où, n'hésitez pas à me contacter et je ferai de mon mieux pour vous aider. Merci.