pack&push.ps1 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #定义全局变量
  2. $buildFolder = (Get-Item -Path "./" -Verbose).FullName
  3. $rootFolder = Join-Path $buildFolder "../"
  4. $apiKey = ""
  5. $sourceUrl = "http://localhost:5000/v3/index.json"
  6. Write-Host "buildFolder:" $buildFolder
  7. Write-Host "rootFolder:" $rootFolder
  8. $nuGetOutputFolder = Join-Path $buildFolder "/packages"
  9. Write-Host "NuGetOutputFolder:" $nuGetOutputFolder
  10. #编译解决方案
  11. $solutionPath = "../ZhonTai.sln";
  12. # Write-Host $solutionPath
  13. # pause
  14. Write-Host "dotnet build -- start"
  15. dotnet build $solutionPath -c Release
  16. Write-Host "dotnet build -- end"
  17. if($LASTEXITCODE -eq 0){
  18. #success
  19. }
  20. else{
  21. throw "Build Error!";
  22. }
  23. # pause
  24. #打包之前先删除nuget包
  25. Remove-Item "$nuGetOutputFolder/*" -recurse
  26. # 指定项目打包
  27. $projects = (
  28. "src\plates\ZhonTai.Plate.Admin\ZhonTai.Plate.Admin.Domain",
  29. "src\plates\ZhonTai.Plate.Admin\ZhonTai.Plate.Admin.HttpApi",
  30. "src\plates\ZhonTai.Plate.Admin\ZhonTai.Plate.Admin.Repository",
  31. "src\plates\ZhonTai.Plate.Admin\ZhonTai.Plate.Admin.Service",
  32. "src\plates\ZhonTai.Plate.Personal\ZhonTai.Plate.Personnel.Domain",
  33. "src\plates\ZhonTai.Plate.Personal\ZhonTai.Plate.Personnel.HttpApi",
  34. "src\plates\ZhonTai.Plate.Personal\ZhonTai.Plate.Personnel.Repository",
  35. "src\plates\ZhonTai.Plate.Personal\ZhonTai.Plate.Personnel.Service"
  36. )
  37. Write-Host "dotnet pack -- start"
  38. foreach($project in $projects) {
  39. $projectFolder = Join-Path $rootFolder $project
  40. Write-Host "projectFolder:" $projectFolder
  41. dotnet pack $projectFolder --no-build -c Release /p:SourceLinkCreate=true /p:SolutionDir=$rootFolder -o $nuGetOutputFolder;
  42. }
  43. Write-Host "dotnet pack -- end"
  44. # pause
  45. Write-Host "dotnet nuget push -- start"
  46. $allNuget = Join-Path $nuGetOutputFolder "/*.nupkg"
  47. dotnet nuget push $allNuget -s $sourceUrl -k $apiKey --skip-duplicate
  48. Write-Host "dotnet nuget push -- end"
  49. pause