azure-pipelines-main.yml 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. parameters:
  2. LinuxImage: 'ubuntu-latest'
  3. RestoreBuildProjects: 'Jellyfin.Server/Jellyfin.Server.csproj'
  4. DotNetSdkVersion: 7.0.x
  5. jobs:
  6. - job: Build
  7. displayName: Build
  8. strategy:
  9. matrix:
  10. Release:
  11. BuildConfiguration: Release
  12. Debug:
  13. BuildConfiguration: Debug
  14. pool:
  15. vmImage: '${{ parameters.LinuxImage }}'
  16. steps:
  17. - checkout: self
  18. clean: true
  19. submodules: true
  20. persistCredentials: true
  21. - task: UseDotNet@2
  22. displayName: 'Update DotNet'
  23. inputs:
  24. packageType: sdk
  25. version: ${{ parameters.DotNetSdkVersion }}
  26. - task: DotNetCoreCLI@2
  27. displayName: 'Publish Server'
  28. inputs:
  29. command: publish
  30. publishWebProjects: false
  31. projects: '${{ parameters.RestoreBuildProjects }}'
  32. arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
  33. zipAfterPublish: false
  34. - task: PublishPipelineArtifact@1
  35. displayName: 'Publish Artifact Naming'
  36. condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
  37. inputs:
  38. targetPath: '$(build.ArtifactStagingDirectory)/Jellyfin.Server/Emby.Naming.dll'
  39. artifactName: 'Jellyfin.Naming'
  40. - task: PublishPipelineArtifact@1
  41. displayName: 'Publish Artifact Controller'
  42. condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
  43. inputs:
  44. targetPath: '$(build.ArtifactStagingDirectory)/Jellyfin.Server/MediaBrowser.Controller.dll'
  45. artifactName: 'Jellyfin.Controller'
  46. - task: PublishPipelineArtifact@1
  47. displayName: 'Publish Artifact Model'
  48. condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
  49. inputs:
  50. targetPath: '$(build.ArtifactStagingDirectory)/Jellyfin.Server/MediaBrowser.Model.dll'
  51. artifactName: 'Jellyfin.Model'
  52. - task: PublishPipelineArtifact@1
  53. displayName: 'Publish Artifact Common'
  54. condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
  55. inputs:
  56. targetPath: '$(build.ArtifactStagingDirectory)/Jellyfin.Server/MediaBrowser.Common.dll'
  57. artifactName: 'Jellyfin.Common'
  58. - task: PublishPipelineArtifact@1
  59. displayName: 'Publish Artifact Extensions'
  60. condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
  61. inputs:
  62. targetPath: '$(build.ArtifactStagingDirectory)/Jellyfin.Server/Jellyfin.Extensions.dll'
  63. artifactName: 'Jellyfin.Extensions'