Ausführen einer unbeaufsichtigten Installation

Azure DevOps Server 2020 | Azure DevOps Server 2019

Hinweis

Azure DevOps Server wurde zuvor als Visual Studio Team Foundation Server bezeichnet.

Mit einer unbeaufsichtigten Installation können Sie im Voraus alle Konfigurationsparameter für Ihre Azure DevOps Server Instanz voreinstellen. Der Befehl tfsconfig unattend ist besonders nützlich, wenn Sie mit dem Azure DevOps Server-Konfigurationsprozess vertraut sind und Azure DevOps in einer Umgebung mit mehreren Computern bereitstellen.

Beispielsweise verfügen viele große Unternehmenssysteme über mehrere Server, die für Builds vorgesehen sind. Die unbeaufsichtigte Installation ermöglicht es einem Administrator, schnell den Team Build-Installationsprozess auf diesen Computern zu starten, ohne dass jeder computerunabhängig installiert werden muss. Da die Konfiguration für jeden Buildserver wahrscheinlich fast oder vollständig identisch sein wird, sollte es außerdem einfach sein, die Konfigurationsparameter jedes Computers schnell festzulegen.

Wichtig

In diesem Artikel wird die Verwendung des Befehls tfsconfig unattend beschrieben, um eine unbeaufsichtigte Installation am Azure DevOps Server 2019 durchzuführen. Während die Schritte für frühere Versionen von Team Foundation Server ähnlich sind, hat sich die Syntax für den Befehl tfsconfig unattend geändert. Wählen Sie die gewünschte Artikelversion unter TFSConfig, Unattend aus,um weitere Informationen zu erhalten.

Verwenden Sie den Befehl unattend, um die folgenden Installationstypen auszuführen:

  • Neue Einzelserver- oder Multiserverinstallation
  • Aktualisieren
  • Präproduktionsupgrade
  • Konfigurieren einer neuen Anwendungsebene
  • Klonen einer vorhandenen Bereitstellung
  • Konfigurieren eines Proxyservers für die Versionskontrolle

Informationen zur Syntaxverwendung des Befehls tfsconfig unattend finden Sie unter Verwenden von TFSConfig zum Verwalten Azure DevOps lokalen Befehls Unattend.

Voraussetzungen

  1. Bereiten Sie einen einzelnen Computer vor, der die Systemanforderungenerfüllt.

  2. Wenn Sie nicht planen, SQL Server Express zu verwenden, richten Sie eine unterstützte Version von SQL Serverein. Wenn Sie SQL Server für Azure DevOps lokal einrichten, installieren Sie mindestens die Funktionen Datenbank-Engine und Full-Text und semantische Extraktion für Suchfunktionen.

    Es wird empfohlen, SQL Server Express nur für persönliche Bereitstellungen oder Evaluierungsbereitstellungen zu verwenden. Kostenpflichtige Kopien von Azure DevOps lokal enthalten eine SQL Server Standard Lizenz. Weitere Informationen finden Sie unter Azure DevOps Server Preise. Wenn Sie die enthaltene Lizenz verwenden, können Sie sie nur für Datenbanken verwenden, die mit diesen Produkten erstellt wurden.

  3. Das Konto, das Sie zum Konfigurieren der Installation verwenden, muss Mitglied der Sysadmin-Serverrolle in SQL Serversein.

    Hinweis

    Die Installation von Azure DevOps lokal umfasst eine Reihe von Vorgängen, die ein hohes Maß an Berechtigungen erfordern. Zu diesen Vorgängen gehören das Erstellen von Datenbanken, das Bereitstellen von Anmeldungen für Dienstkonten und vieles mehr. Technisch gesehen sind nur die folgenden Anforderungen erforderlich:

    • Mitgliedschaft in der Serveradministratorrolle.
    • ALTER ANY LOGIN-, CREATE ANY DATABASE- und VIEW ANY DEFINITION-Berechtigungen im Bereich des Servers.
    • Berechtigung CONTROL für die Datenbank master.
      Die Mitgliedschaft in der Serverrolle sysadmin überträgt alle diese Mitgliedschaften und Berechtigungen. Dies ist die einfachste Möglichkeit, um sicherzustellen, dass die Konfiguration erfolgreich ist. Bei Bedarf können Sie diese Mitgliedschaften und Berechtigungen nach der Installation widerrufen.
  4. Um die Installation und Konfiguration der Sucherweiterung zu unterstützen, müssen Sie einen Benutzernamen und ein Kennwort angeben. Das Installieren und Konfigurieren der Suche unterstützt Code-, Arbeitselement- und Wiki-Suchfeatures. Weitere Informationen finden Sie unter Konfigurieren der Suche.

    Hinweis

    Für die Suche ist auch Oracle Server JRE 8 (Update 60 oder höher) erforderlich. Sie können die neueste Version herunterladen und installieren oder aktualisieren, indem Sie den Lizenzvertrag für Oracle Binary Code für Server JRE akzeptieren und konfigurieren auswählen. Beachten Sie, dass dadurch die JAVA_HOME Umgebungsvariable so festgelegt wird, dass sie auf das Java-Installationsverzeichnis verweist, und dass Server JRE keine automatischen Updates bereitstellt.

  5. Beim Konfigurieren der Anwendungsebene haben Sie eine Auswahl an Websiteeinstellungen. Überprüfen Sie die Websiteeinstellungen, um die Auswahlmöglichkeiten und Anforderungen zu verstehen.

Unterstützte Installationen

Das Feature für die unbeaufsichtigte Installation unterstützt alle installationstypen, die vom Konfigurations-Assistenten unterstützt werden, und enthält Felder für denselben Satz von Konfigurationsparametern. In den meisten Teilen entspricht der Name jedes Konfigurationstyps für die unbeaufsichtigte Installation dem Namen im Assistenten.

Im Folgenden finden Sie eine Liste der Namen und Beschreibungen der Typen unbeaufsichtigter Konfigurationen:

InstallType Beschreibung
NewServerBasic Konfiguriert die wesentlichen Entwicklungsdienste für Azure DevOps Server. Dies schließt Azure Boards (Arbeitsnachverfolgung) Azure Repos (Quellcodeverwaltung), Azure Pipelines (Build und Release) und optional Search ein.
NewServerErweitert Konfiguriert die wesentlichen Entwicklungsdienste und ermöglicht die optionale Konfiguration der Integration mit Reporting Services.
Aktualisieren Upgrades Azure DevOps Server auf die aktuelle Version von einer unterstützten vorherigen Version.
PreProductionUpgrade Testen Sie das Upgrade für eine vorhandene Azure DevOps Server-Bereitstellung in einer Präproduktionsumgebung. Dies erfolgt in der Regel mithilfe von Datenbanken, die aus Produktionssicherungen wiederhergestellt wurden. Dieses Szenario umfasst zusätzliche Schritte, um sicherzustellen, dass die neue Bereitstellung die Produktionsbereitstellung nicht beeinträchtigt.
ApplicationTierOnlyBasic Konfigurieren Sie eine neue Anwendungsebene mithilfe vorhandener Einstellungen aus der angegebenen Konfigurationsdatenbank. Mit dieser Option können Sie mithilfe vorhandener Einstellungen schnell eine neue Anwendungsebene einrichten und ausführen. Wenn Sie vorhandene Einstellungen ändern möchten, verwenden Sie stattdessen den Erweiterten ApplicationTierOnlyAdvanced-Typ.
ApplicationTierOnlyAdvanced Konfigurieren Sie eine neue Anwendungsebene mit vollständiger Kontrolle über alle Einstellungen. Einstellungen werden standardmäßig vorhandene Werte aus der angegebenen Konfigurationsdatenbank verwendet. Wenn Sie alle vorhandenen Einstellungen beibehalten möchten, verwenden Sie stattdessen den ApplicationTierOnlyBasic-Typ.
Klon Konfigurieren Sie eine neue Azure DevOps Server Bereitstellung, bei der es sich um einen Klon einer vorhandenen Bereitstellung handelt. Dies erfolgt in der Regel mithilfe von Datenbanken, die aus Produktionssicherungen wiederhergestellt wurden, um eine Umgebung zu erstellen, in der Konfigurationsänderungen, Erweiterungen und andere Änderungen getestet werden können. Dieses Szenario umfasst zusätzliche Schritte, um sicherzustellen, dass die neue Bereitstellung die Produktionsbereitstellung nicht beeinträchtigt.
Proxy Konfiguriert einen Proxydienst für die Versionskontrolle.

Wichtig

Bevor Sie die Konfiguration ausführen, müssen Sie sicherstellen, dass Sie über eine aktuelle Sicherung Ihrer Datenbanken verfügen, und dann "ConfirmBackup" überschreiben, sodass "ConfirmBackup=True" angezeigt wird. Andernfalls wird die Konfiguration nicht ausgeführt.

Nicht unterstützte Szenarien

Die unbeaufsichtigte Installation ist nur für die Verwendung in lokalen Szenarien vorgesehen. Die unbeaufsichtigte Installation unterstützt die folgenden Szenarien nicht:

  • Obwohl der Konfigurations-Assistent Build- und Proxyinstanzen installieren kann, die auf Azure-Datenbanken verweisen, wird diese Funktion nicht für die Befehlszeile implementiert (es gibt keinen Ort, um informationen zum Azure Cloud Storage-Konto bereitzustellen).
  • Die unbeaufsichtigte Installation ist für Azure DevOps Server Express verfügbar. allerdings werden nur die Konfigurationstypen "build" und "basic" (wobei "SqlInstance=SqlExpress" verwendet wird) erfolgreich ausgeführt. Bei der unbeaufsichtigten Installation werden Konfigurationstypen blockiert, die nicht in der Express-SKU installiert werden können, z. B. "spinstall", "spextensions" und "proxy", und es werden Fehler für die Konfigurationstypen "atonly" und "Standard" ausgelöst, da Azure DevOps Server Express nur mit SQL Express kompatibel ist.
  • Die computerübergreifende Wiederverwendung unbeaufsichtigter Konfigurationsdateien wird derzeit nicht unterstützt, da Konfigurationsdateien den Computernamen in bestimmten Standardparameterwerten verwenden. Wir planen, diese Funktionalität in Zukunft zu verbessern. In der Zwischenzeit können Benutzer eigene Skripts schreiben, um die Computernamen in ihrer Konfigurationsdatei dynamisch auszuschalten, um sie ihren Anforderungen anzupassen.

Herunterladen und Installieren

  1. Laden Azure DevOps Server über einen der folgenden Kanäle herunter:

  2. Führen Sie eine automatische Installation durch.

    azuredevopsserver2019.1_rc1.exe /Silent
    

    Alternativ können Sie die Expressversion im Hintergrund installieren.

    devopsexpress2019_rc1.exe /Silent
    

    Das Installationsprogramm kopiert Dateien auf Ihren Computer.

  3. Überprüfen Sie die Installation, indem Sie sich den Ordner C:\Programme\Azure DevOps Server 2019 ansehen.

    Installierte Serverdateiordner

  4. Sie können Ihre Installation konfigurieren, indem Sie auf Start-Assistent oder beenden und konfigurieren, indem Sie die unbeaufsichtigte Installation verwenden.

An diesem Punkt sind die Bits auf Ihrem Computer installiert, aber Azure DevOps Server ist nicht konfiguriert. Um eine unbeaufsichtigte Konfiguration auszuführen, müssen Sie eine Ini-Datei erstellen und dann die Computer mit dieser ini-Datei konfigurieren.

Erstellen der Ini-Datei

Die Befehlsoption /create generiert eine Konfigurationsdatei, die Sie dann ändern oder ausführen können, um eine Serverinstanz zu konfigurieren.

Öffnen Sie zum Starten eine Eingabeaufforderung, die als Administrator ausgeführt werden soll, und wechseln Sie in das Verzeichnis /Tools.

Hier führen wir den Befehl /create aus und geben dabei den Installationstyp und den Namen der zu erstellenden Datei an.

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

Öffnen Sie nach Abschluss des .ini datei in einem Text-Editor. Es sieht ähnlich wie das weiter unten aufgeführte aus. Die automatisch generierte, vollständig kommentierte basic.ini gibt an, dass die folgenden Aufgaben auszuführen sind:

  • 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
[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


Ausführen der Konfiguration

Wenn Sie eine unbeaufsichtigte Installation ausführen, führt der Prozess die gleichen Überprüfungen durch wie der Konfigurations-Assistent und konfiguriert dann die angegebene Azure DevOps Server-Instanz auf dem Computer.

Sie können den Befehl /configure auf zwei Arten ausführen. Die erste und empfohlene Option verwendet die ini-Datei, die Sie im vorherigen Schritt erstellt haben. Die zweite Option gibt einen Installationstyp an, der ausgeführt werden soll, und gibt dann Eingaben an, um die intelligenten Standardwerte zu überschreiben. Jede Option schließen sich gegenseitig aus. Sie können nicht sowohl eine Datei als auch einen Typ angeben.

Die beiden grundlegenden Formen des Befehls /configure sind:

Option 1:

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

Option 2:

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

Informationen zur Syntaxverwendung des Befehls tfsconfig unattend finden Sie unter Verwenden von TFSConfig zum Verwalten Azure DevOps lokalen, unattend.

Hinweis

Wenn Sie den Befehl /configure ausführen möchten, ohne zuerst eine ini-Konfigurationsdatei zum Verwalten der Eingaben zu erstellen, wird empfohlen, /verify auszuführen, bevor Sie mit der vollständigen Konfiguration fortfahren.

Nachdem die Installation abgeschlossen ist, können Sie auf die Azure DevOps Server zugreifen:

http://<localhostname>:8080/tfs

Oder für den Express-Server unter:

http://<localhostname>

Nächste Schritte