CruiseControl.NET: Verwendung von $ (CCNetLabel) in der ccnet.config Datei
Beim Aufruf externer Prozesse wie MSBuild-Tempomat-sets environment-Variablen. Einer der Werte ist CCNetLabel. es behält den Wert der Laufenden Projekte-label. Ich wollen, verwenden Sie die gleichen Werte in ccnet-config selbst, aber wenn ich versuche ccnet-config hat ein problem. Ich bekomme die folgende Fehlermeldung:
[CCNet Server:ERROR] INTERNAL ERROR: Reference to unknown symbol CCNetLabel
----------
ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException: Reference to unknown symbol CCNetLabel
at ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ConfigPreprocessorEnvironment._GetConstantDef(String name)
at ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ConfigPreprocessorEnvironment.eval_text_constant(String name)
.....
----------
Eigentlich möchte ich anfügen, die CCNetLabel zu anderen Variablen, so muss ich auf die Eigenschaft in der ccnet.config.
gibt es eine andere Möglichkeit zum verweisen auf diese Variablen?
InformationsquelleAutor der Frage minty | 2009-10-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hatten wir müssen dies auch tun, und gefunden, die wir nutzen könnten Ersatz-Dynamische Werteeingeführt CruiseControl.NET 1.5 Zugriff auf den CCNetLabel innerhalb ccnet.config.
Beispielsweise die dynamicValues block in diesem snippet:
Produziert eine publishDir - Pfad mit der CCNetLabel Wert on-the-fly:
(Beachten Sie, dass für dieses Beispiel, useLabelSubDirectory ist auf false gesetzt, um zu vermeiden, indem der CCNetLabel der publishDir Pfad).
InformationsquelleAutor der Antwort Darryl
Den folgenden verwendet werden kann in der config-Datei ccnet-version 1.5
< cb:definieren buildversion="$[$CCNetLabel]" />
InformationsquelleAutor der Antwort Thinker
Ich denke, Darryl s Antwort ist die beste Ansatz, um dieses problem zu lösen in CCNET-1.5.
Nur zwei Kommentare zur Antwort:
$[$Integration_Property]
. In deinem Fall, mit$[$CCNetLabel]
funktionieren würde.InformationsquelleAutor der Antwort moreira
Gibt es keine Möglichkeit, den Zugriff auf diese environment-Variablen innerhalb von CCNET Konfiguration. Ich denke, fast jeder, der konfiguriert CCNET (einschließlich mir selbst) hat versucht, dies zu tun. Dieses feature wurde oft angefordert, aber es wurde nicht umgesetzt noch.
Wenn Sie möchten, den Zugang zu
CCNetWorkingDirectory
oderCCNetArtifactDirectory
es gibt einen workaround:Aber ich bin mir nicht bewusst, eine Lösung für den Zugriff auf
CCNetLabel
. Sorry, ich habe keine bessere Nachricht.InformationsquelleAutor der Antwort The Chairman
Die folgenden Artikel sollten in der Lage sein, um Ihnen zu helfen. Sie können in der Lage sein zu verwenden
cb:scope
oder ob Sie das gesamte Projekt in einemcb:define
und übergeben Sie den Namen des Projekts in.-Glück-
http://confluence.public.thoughtworks.org/display/CCNET/Configuration+Präprozessor
http://ferventcoder.com/archive/2009/05/21/uppercut---automated-builds---cruisecontrol.net-integration.aspx
InformationsquelleAutor der Antwort Adam Wenger
wenn die mit der version 1.5, dann können Sie direkt angeben $(CCNetLabel) in der msbuild-Aufgabe
InformationsquelleAutor der Antwort kazim
Habe ich dies Problem gelöst, indem ein msbuild-task in der publisher-Abschnitt (einschließlich der
CCNetLabel
im Pfad)InformationsquelleAutor der Antwort Woy
Ich versucht, dies zu tun als gut, und nur am Ende mit einem NANT-Skript, wo kann ich die
CCNetLabel
als eine Umgebung, variabl etwa so:InformationsquelleAutor der Antwort Igor Zevaka