Lire en anglais

Partager via


Effectuer une installation sans assistance

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Avec une installation sans assistance, vous pouvez prérégler tous les paramètres de configuration de votre instance Azure DevOps Server à l’avance. La commande tfsconfig unattend est particulièrement utile lorsque vous êtes familiarisé avec le processus de configuration du serveur Azure DevOps et que vous déployez Azure DevOps dans un environnement de machine multiple.

Par exemple, de nombreux systèmes d’entreprise à grande échelle ont plusieurs serveurs désignés pour les builds. L’installation sans assistance permet à un administrateur de lancer rapidement le processus d’installation de Team Build sur ces ordinateurs sans avoir à superviser chacun d’eux indépendamment. En outre, étant donné que la configuration de chaque serveur de build sera probablement presque ou complètement identique, il doit être facile de définir rapidement les paramètres de configuration de chaque ordinateur.

Important

Cet article décrit l’utilisation de la commande tfsconfig unattend pour effectuer une installation sans assistance sur Azure DevOps Server 2019. Bien que les étapes soient similaires pour les versions précédentes de Team Foundation Server, la syntaxe de la commande tfsconfig unattend a changé. Pour plus d’informations, sélectionnez la version de l’article souhaitée dans TFSConfig, Unattend.

Utilisez la commande unattend pour effectuer les types d’installations suivants :

  • Nouvelle installation d’un serveur unique ou d’un serveur multiple
  • Mettre à jour
  • Mise à niveau de préproduction
  • Configurer un nouveau niveau d’application
  • Cloner un déploiement existant
  • Configurer un serveur proxy de contrôle de version

Pour plus d’informations sur l’utilisation de la syntaxe de la commande tfsconfig unattend , consultez Utiliser TFSConfig pour gérer Azure DevOps local, Unattend.

Prérequis

  1. Préparez un seul ordinateur qui répond à la configuration système requise.

  2. Si vous ne prévoyez pas d’utiliser SQL Server Express, configurez une version prise en charge de SQL Server. Lorsque vous configurez SQL Server pour Azure DevOps localement, installez au minimum les Moteur de base de données et les extractions sémantiques et de texte intégral pour les fonctionnalités de recherche.

    Nous vous recommandons d’utiliser SQL Server Express uniquement pour les déploiements personnels ou d’évaluation. Les copies payantes d’Azure DevOps en local incluent une licence SQL Server Standard. Pour plus d’informations, consultez la tarification d’Azure DevOps Server. Si vous utilisez la licence incluse, vous pouvez l’utiliser uniquement pour les bases de données créées avec ces produits.

  3. Le compte que vous utilisez pour configurer l’installation doit être membre du rôle serveur sysadmin dans SQL Server.

    Notes

    L’installation d’Azure DevOps locale implique un ensemble d’opérations nécessitant un degré élevé de privilèges. Ces opérations incluent la création de bases de données, l’approvisionnement de connexions pour les comptes de service, etc. Techniquement, tout ce qui est nécessaire est :

    • Appartenance au rôle serveradmin.
    • ALTER ANY LOGIN, CREATE ANY DATABASE et VIEW ANY DEFINITION- scoped permissions.
    • Autorisation CONTROL sur la base de données principale.
      L’appartenance au rôle serveur sysadmin confère toutes ces appartenances et autorisations. Il s’agit du moyen le plus simple de s’assurer que la configuration réussit. Si nécessaire, vous pouvez révoquer ces appartenances et autorisations après l’installation.
  4. Pour prendre en charge l’installation et la configuration de l’extension de recherche , vous devez fournir un nom d’utilisateur et un mot de passe. L’installation et la configuration de la recherche prennent en charge les fonctionnalités code, élément de travail et recherche Wiki. Pour plus d’informations, consultez Configurer la recherche.

    Notes

    La recherche nécessite également Oracle Server JRE 8 (Update 60 ou version ultérieure). Vous pouvez télécharger et installer ou mettre à jour vers la dernière version en acceptant le contrat de licence de code binaire Oracle pour JRE serveur et en sélectionnant Configurer. Notez que cela définit la variable d’environnement JAVA_HOME pour qu’elle pointe vers le répertoire d’installation Java et que Server JRE ne fournit pas de mises à jour automatiques.

  5. Lorsque vous configurez la couche Application, vous avez le choix entre les paramètres du site web. Passez en revue les paramètres du site web pour comprendre les choix et les exigences.

Installations prises en charge

La fonctionnalité d’installation sans assistance prend en charge tous les mêmes types d’installation que l’Assistant Configuration prend en charge et contient des champs pour le même ensemble de paramètres de configuration. Dans la plupart des cas, le nom de chaque type de configuration pour l’installation sans assistance reflète le nom dans l’Assistant.

Voici une liste de noms et de descriptions des types de configurations sans assistance :

InstallType Description
NewServerBasic Configure les services de développement essentiels pour Azure DevOps Server. Cela inclut Azure Boards (suivi des tâches) Azure Repos (contrôle de code source), Azure Pipelines (build et mise en production) et éventuellement La recherche.
NewServerAdvanced Configure les services de développement essentiels et autorise la configuration facultative de l’intégration à Reporting Services.
Mettre à jour Met à niveau Azure DevOps Server vers la version actuelle d’une version précédente prise en charge.
PreProductionUpgrade Testez la mise à niveau sur un déploiement Azure DevOps Server existant dans un environnement de préproduction. Cela s’effectue généralement à l’aide de bases de données restaurées à partir de sauvegardes de production. Ce scénario inclut des étapes supplémentaires pour vous assurer que le nouveau déploiement n’interfère pas avec le déploiement de production.
ApplicationTierOnlyBasic Configurez un nouveau niveau d’application à l’aide de paramètres existants à partir de la base de données de configuration fournie. Cette option vous permet d’obtenir rapidement un nouveau niveau d’application à l’aide des paramètres existants. Si vous souhaitez pouvoir modifier les paramètres existants, utilisez plutôt le type Advanced ApplicationTierOnlyAdvanced.
ApplicationTierOnlyAdvanced Configurez un nouveau niveau d’application avec un contrôle total sur tous les paramètres. Les paramètres sont par défaut des valeurs existantes de la base de données de configuration fournie. Si vous souhaitez conserver tous vos paramètres existants, utilisez plutôt le type ApplicationTierOnlyBasic.
Cloner Configurez un nouveau déploiement Azure DevOps Server qui est un clone d’un déploiement existant. Cette opération est généralement effectuée, à l’aide de bases de données restaurées à partir de sauvegardes de production, pour créer un environnement où les modifications de configuration, les extensions et d’autres modifications peuvent être testées. Ce scénario inclut des étapes supplémentaires pour vous assurer que le nouveau déploiement n’interfère pas avec le déploiement de production.
Proxy Configure un service proxy de contrôle de version.

Important

Avant d’exécuter la configuration, vous devez vous assurer que vous disposez d’une sauvegarde actuelle de vos bases de données, puis remplacer « ConfirmBackup » afin que « ConfirmBackup=True ». Sinon, la configuration n’est pas exécutée.

Scénarios non pris en charge

L’installation sans assistance est destinée uniquement aux scénarios locaux. L’installation sans assistance ne prend pas en charge les scénarios suivants :

  • Bien que l’Assistant Configuration puisse installer des instances de build et de proxy qui pointent vers des bases de données Azure, cette fonctionnalité n’est pas implémentée pour la ligne de commande (il n’existe aucun emplacement pour fournir les informations du compte stockage cloud Azure).
  • L’installation sans assistance est disponible pour Azure DevOps Server Express ; toutefois, seuls les types de configuration « build » et « basic » (où les types de configuration « SqlInstance=SqlExpress ») réussissent. L’installation sans assistance bloque les types de configuration qui ne peuvent pas être installés sur la référence SKU Express, comme « spinstall », « spextensions » et « proxy », et génère des erreurs pour les types de configuration « atonly » et « Standard », car Azure DevOps Server Express est uniquement compatible avec SQL Express.
  • La réutilisation de fichiers de configuration sans assistance sur plusieurs ordinateurs n’est pas prise en charge, car les fichiers de configuration utilisent le nom de l’ordinateur dans certaines valeurs de paramètres par défaut. Nous avons des plans pour améliorer cette fonctionnalité à l’avenir. En attendant, les utilisateurs peuvent écrire leurs propres scripts pour changer dynamiquement les noms d’ordinateurs dans leur fichier de configuration en fonction de leurs besoins.

Télécharger et installer

  1. Téléchargez Azure DevOps Server via l’un des canaux suivants :

  2. Effectuez une installation silencieuse.

     azuredevopsserver2019.1_rc1.exe /Silent
    

    Sinon, installez silencieusement la version express.

     devopsexpress2019_rc1.exe /Silent
    

    Le programme d’installation copie les fichiers sur votre ordinateur.

  3. Vérifiez l’installation en examinant le dossier C :\Program Files\Azure DevOps Server 2019.

    Dossiers de fichiers serveur installés

  4. Vous pouvez configurer votre installation en choisissant Assistant Démarrer, ou quitter et configurer à l’aide de l’installation sans assistance.

À ce stade, vous disposez des bits installés sur votre machine, mais Azure DevOps Server n’est pas configuré. Pour effectuer une configuration sans assistance, vous devez créer un fichier ini, puis configurer la ou les machines à l’aide de ce fichier ini.

Créer le fichier ini

L’option de commande /create génère un fichier de configuration que vous pouvez ensuite modifier ou exécuter pour configurer une instance de serveur.

Pour démarrer, ouvrez une invite de commandes pour s’exécuter en tant qu’administrateur et accédez au répertoire /Tools .

Ici, nous exécutons la commande /create , en spécifiant le type d’installation et le nom du fichier à créer.

C:\Program Files\Azure DevOps Server 2019\Tools>
tfsconfig unattend /create /type:NewServerBasic /unattendfile:basic.ini

Une fois l’opération terminée, ouvrez le fichier .ini dans un éditeur de texte. Il semble similaire à celui indiqué ci-dessous. Le fichier basic.ini généré automatiquement et entièrement commenté spécifie pour effectuer les tâches suivantes :

  • Scenario=NewServerBasic
  • InstallSqlExpress=False
  • SqlInstance=MININT-O0VPFCK\SqlExpress
  • UseExistingEmptyDatabase=False
  • CreateConfigurationDatabase=True
  • StartTrial=False
  • DatabaseLabel=
  • ServiceAccountName=NT AUTHORITY\NETWORK SERVICE
  • LCID=1033
  • WebSiteVDirName=
  • SiteBindings=http :* :80 :
  • PublicUrl=http://minint-o0vpfck/
  • FileCacheFolder=C :\AzureDevOpsData\ApplicationTier_fileCache
  • SmtpEmailEnabled=False
  • EnableSshService=True
  • SshPort=22
  • ConfigureSearch=False
  • InstallSearchService=True
  • CreateInitialCollection=True
  • CollectionName=DefaultCollection
  • CollectionDescription=
  • UseExistingEmptyCollectionDatabase=False
INI
[Configuration]
Activity=Microsoft.TeamFoundation.Admin.ServerConfigurationActivity

Assembly=Microsoft.TeamFoundation.Admin, Version=17.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a

; You can submit information about your Azure DevOps Server configuration and administration experience to Microsoft.
SendFeedback=True

; One of the following configuration Scenarios:
; 
; NewServerBasic:               Configure a new server with only the essential services.
; NewServerAdvanced:            Configure a new server with essential and other optional features.
; NewServerAzure:               Configure a new server with Azure SQL integration.
; ProductionUpgrade:            Upgrade an existing production server.
; PreProductionUpgrade:         Perform a pre-production upgrade using backed up production databases.
; ApplicationTierOnlyBasic:     Basic application tier-only configuration using existing settings.
; ApplicationTierOnlyAdvanced:  Application tier-only configuration that allows full setting customization.
; Clone:                        Create a new deployment from an existing deployment.
; 
Scenario=NewServerBasic

; Whether SQL Express will be installed as part of configuration
InstallSqlExpress=False

; Provide the configured SQL instance in the form of Server,  ServerName\InstanceName or Server,Port
SqlInstance=MININT-O0VPFCK\SqlExpress

; You can elect to create an existing set of empty databases (Tfs_<label>Configuration, Tfs_<label>Warehouse and Tfs_<label>Analysis)
UseExistingEmptyDatabase=False

; Determines whether a configuration database will get created
CreateConfigurationDatabase=True

; Database label controls the names of the configuration databases.  Database name will be Tfs_<label>Configuration, Tfs_<label>Warehouse and Tfs_<label>Analysis
DatabaseLabel=

StartTrial=False

; Boolean to determine whether the account is a built-in account
IsServiceAccountBuiltIn=True

; Account that the Azure DevOps web site will run as.  On a domain joined machine, this can be a domain account or NT Authority\Network Service.  On a workgroup machine, it can be a local account or NT Authority\Local Service
ServiceAccountName=NT AUTHORITY\NETWORK SERVICE

; The LCID to use for this Azure DevOps Server installation.
LCID=1033

; The host name portion of the web site URL.  This is typically the machine name but can be customized for more advanced scenarios such as HTTPS or NLB
UrlHostNameAlias=MININT-O0VPFCK

; The web site virtual directory name can be either empty or up to 8 alphanumeric characters.
WebSiteVDirName=

; 
; SiteBindings is a semi-colon separated list of bindings, each of which consists
; of 4 or 6 parts (4 for http, 6 for https):
; 
; [http|https]:[ipaddress]:[port]:[host]:[certificateStore]:[certificateThumprint|"generate"]
; 
; Examples:
; http:*:80:
; 
; A single http binding on port 80, for all unassigned IP addresses, with no host header
; 
; https:*:443:contoso.com:My:generate
; 
; A single https binding on port 443, for all unassigned IP addresses, having a host header 'contoso.com',
; including a generated self-signed certificate that will be stored in the Personal store
; on the local machine.
; 
; http:*:80:;http:*:8082:
; 
; Two bindings separated by a semi-colon
; 
; https:*:443:contoso.com:My:‎169CE0BCCECBD854321A61670413F8000A798F31
; 
; A single https binding on port 443 with a certificate thumbprint.
; Azure DevOps will look for the thumbprint in the Personal store for the local
; machine.
; 
SiteBindings=http:*:80:

; The Public URL is the primary URL that users specify to connect to the system and is the URL used in the text of e-mail alerts.
PublicUrl=http://minint-o0vpfck/

; The Windows file system folder used by Azure DevOps Server to cache data.
FileCacheFolder=C:\AzureDevOpsData\ApplicationTier\_fileCache

; Determines if Email notifications will be enabled.
SmtpEmailEnabled=False

; Determines if SSH service will be enabled.
EnableSshService=True

; The port used by the SSH service.
SshPort=22

; Configure Search in Azure DevOps deployment.
ConfigureSearch=False

; You can select to install new search service or use an existing search service
InstallSearchService=True

; Determines whether an initial collection will be created.  This can be disabled for advanced scenarios such as different SQL instances by using the create collection wizard in the administration console after configuring the server.
CreateInitialCollection=True

; The name of the collection
CollectionName=DefaultCollection

; The description for the collection
CollectionDescription=

UseExistingEmptyCollectionDatabase=False


Exécuter la configuration

Lorsque vous exécutez une installation sans assistance, le processus effectue les mêmes vérifications de validation que l’Assistant Configuration, puis configure l’instance azure DevOps Server spécifiée sur l’ordinateur.

Vous pouvez exécuter la commande /configure de deux façons. La première option recommandée utilise le fichier ini que vous avez créé à l’étape précédente. La deuxième option spécifie un type d’installation à exécuter, puis spécifie les entrées pour remplacer les valeurs par défaut intelligentes. Chaque option s’exclue mutuellement. Vous ne pouvez pas spécifier à la fois un fichier et un type.

Les deux formes de base de la commande /configure sont les suivantes :

Option 1 :

tfsconfig unattend /configure /unattendfile:<file> [/inputs:<inputs>] [/verify] [/continue]

Option 2 :

tfsconfig unattend /configure /type:<type> [/inputs:<inputs>] [/verify] [/continue]

Pour plus d’informations sur l’utilisation de la syntaxe de la commande tfsconfig unattend , consultez Utiliser TFSConfig pour gérer Azure DevOps local, Unattend.

Notes

Si vous choisissez d’exécuter la commande /configure sans créer d’abord un fichier de configuration ini pour gérer les entrées, nous vous recommandons d’exécuter /verify avant de poursuivre la configuration complète.

Une fois l’installation terminée, vous pouvez accéder au serveur Azure DevOps à l’adresse suivante :

http://<localhostname>:8080/tfs

Ou, pour le serveur express à l’adresse suivante :

http://<localhostname>

Étapes suivantes