Integrazione continua di soli pacchetti aziendali di nuget

1

Sto provando a fare un'integrazione notturna del pacchetto con uno dei nostri progetti che consuma 6 pacchetti interni -PreRelease di altri team.

Informazioni di background

  • Abbiamo il nostro Server ProGet interno che ospita solo i pacchetti della nostra azienda.
  • Gli ID pacchetto sono nel formato di: MyCompany.Project.Component
  • Abbiamo VS2015 Enterprise ($$), quindi il nostro sistema di build ha solo Strumenti di build di VS 2015 installati.
  • Usiamo CruiseControl.NET ( andrà a TFS entro la fine dell'anno )

Il mio script di integrazione (PowerShell) è qualcosa del tipo:

#Restores all the packages 1st
nuget restore ( Get-ChildItem $Dir -filter *.sln –Recurse ).FullName 

#Gets all the packages.configs
foreach ( $PackageFile in (Get-ChildItem $RepoDir -filter packages.config -Recurse).FullName )) 
{ 
    #Gets all the packages
    nuget list $PackageFile  

    #Filters my companies packages
    | Select-String -Pattern 'MyCompany.*' –AllMatches 

    #Removes package version and only gets the package ID
    | % { [regex]::Split($_, " ")[0] } 

    #Updates the packages
    | Start-Process nuget -ArgumentList "update $PackageFile -ID $_ -Source MyCompnySrc’s –Prerelease –verbosity detailed" -Wait –NoNewWindow
}

Quindi costruisci la soluzione, esegui i test di unità / integrazione, poi controlla i nuovi pacchetti.configs o segnala che ci sono alcune modifiche irrisolte.

Ho pensato di suddividere i pacchetti di MyCompany in una configurazione di pacchetto separata, ma ho pensato che sarebbe stato più saggio avere consigli prima di ristrutturare tutti i repository dei team e implementarli su altri progetti.

Sono nuovo di Release Engineering e ho la sensazione che lo sto rendendo troppo complicato

    
posta Flightdeck73 29.01.2016 - 15:50
fonte

0 risposte

Leggi altre domande sui tag