1
0

pkg_push.ps1 2.2 KB

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