Showing posts with label Build. Show all posts
Showing posts with label Build. Show all posts

Friday, November 29, 2013

NuGet 2.8 in Jan 2014: Disallow pushing same version

Die stattfindende zunehmende Hinwendung zur Praxis der Buildautomatisierung ist sehr zu bergüßen. Ein diesbzgl. Kernaspekt ist dass bei Änderungen am produktiven Code-Repository sehr schnelles Feedback über den Zustand des Gesamtsystems möglicht ist; angefangen bei der grundlegenden Frage: "lässt sich der Code noch kompilieren?".

Friday, September 27, 2013

NuGet: Dont you mess with the Cache!

Caching ist prinzipiell cool. Allerdings kann ein Cache auch Probleme "kaschieren". Benötigt ein Projekt-Build ein Package schaut NuGet erst in seinen lokalen Package Cache und lädt es erst vom Server herunter wenn es dort nicht zu finden ist. Super Sache. Für Entwicklungs-Builds will man die Version nicht immer hochdrehen sondern verwendet stattdessen gemäß Semantic Versioning die sog. pre-release Syntax. Lokal ist das kein Problem, man weiss ja dass der lokale Package Cache nutzerspezifisch unter %LocalAppData%\NuGet\Cache zu finden ist. Also einfach Package-Datei aus dem Cache-Verzeichnis löschen und weiter geht's! Aber wo ist der Package Cache auf einem Build-Server?

Thursday, September 26, 2013

Der "Von Neumannsche" Jenkins

Ein Teilaspekt des neuen Build Server ist dass er sich im Von Neumannschen Sinne selbst reproduzieren kann. Nun ja, nicht ganz alleine - Man muss noch den Knopf "Jetzt bauen" auf dem entsprechenden Job: Neuer Jenkins oder einen Post-Commit-Hook auf dem scripts-Repository aufsetzen.

Wednesday, July 17, 2013

Jenkins Slave als Dienst einrichten

Jenkins unterstützt den Master/Slave-Betrieb sodass die Arbeitslast auf verschiedene Rechner (Slaves) verteilt werden kann.
Für einen Windows-basierten Slave ist es am komfortabelsten den Jenkins Slave vom Master als Dienst starten zu lassen. Technisch verwendet Jenkins da WMI + DCOM (sic!) was auf Anhieb meist nicht direkt klappt.

Beim Start ist Jenkins aber schon freundlich einen Link auf eine Dokumentationsseite mit Lösungen für typische Probleme anzubieten. Was es für mich gebraucht hat:
  1. Für Jenkins einen lokalen administrativen Nutzer anlegen
  2. den Remote Registry Dienst aktivieren. Dieser ist standardmäßig deaktiviert.
  3. dem Jenkins-Nutzer (bzw. Administratoren) vollen Zugriff auf Registry Key für WBEM Scripting Locator geben