Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv
 

In einem vorliegenden Szenario war es nötig ein Deploymentprojekt im Teamcity zu erstellen,
welches aber nicht unbeabsichtigt gestartet werden darf.

Was kann man da machen ?
Einen Dialog oder eine Eingabe vorschalten.

Im einfachsten Fall eine einfache Checkbox,
hier das Vorgehen dafür:

1) in dem jeweiligen Deployment Projekt eine Environment Variable anlegen
Beispielsweise env.deployToTest

Wichtig Value auf false setzen !

und bei Spec folgendes eintragen:

checkbox uncheckedValue='false' display='normal' checkedValue='true' label='Deployment wirklich durchf|0x00fchren ?'

Danach erscheint auf dem Dialog zum Durchführen ein neuer Tab, in dem die
Checkbox jetzt sichtbar sein sollte.

Das einzige was jetzt noch gemacht werden muss, ist ein Buildstep hinzufügen,
der die Variable prüft.

Daher, neuen Powershell-Buildstep an Position 1 anlegen
und als Code folgendes eintragen:

if("%env.deployToTest%" -eq "false") {
    throw "Abbruch, keine Bestätigung"
}

abspeichern und danach ist kein Build mehr möglich ohne dass die Checkbox angehackt ist.
Somit ist der Entwickler aufgefordert wissentlich dort die Checkbox anzuhaken.

Sicherer kann das ganze natürlich mit einer Passwortabfrage gemacht werden,
dazu ist die If abfrage anzupassen und die Variable als Textfeld zu deklarieren.