Skip to content

Instantly share code, notes, and snippets.

@wholroyd
Last active January 19, 2023 17:00
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save wholroyd/f759bb8a569f64c797c99150ddea538a to your computer and use it in GitHub Desktop.
Save wholroyd/f759bb8a569f64c797c99150ddea538a to your computer and use it in GitHub Desktop.
.NET project structure, using Jenkinsfile
$/
  artifacts/
  build/
  docs/
  lib/
  packages/
  samples/
  reports/
  src/
  tests/  
  .editorconfig
  .gitignore
  .gitattributes
  Jenkinsfile
  Jenkinsfile.ps1
  Jenkinsfile.json
  README.md
  {solution}.sln

Description of contents...

  • src - Main projects (the product code)
  • tests - Test projects
  • docs - Documentation stuff, markdown files, help files etc.
  • samples (optional) - Sample projects
  • reports - Build outputs go here (nunit, xunit, code coverage, etc.)
  • lib - Things that can NEVER exist in a nuget package
  • artifacts - Build outputs go here (nupkgs, dlls, pdbs, etc.)
  • packages - NuGet packages (unless configured to use global machine repository)
  • build - Build customizations (custom msbuild files/psake/fake/albacore/etc) scripts
  • Jenkinsfile.ps1 - Entrypoint for all build, test, and packaging logic
  • Jenkinsfile.json - Settings to change behavior of Jenkinsfile.ps1 logic - version string, configuration, runtime, and framework
  • Jenkinsfile - The entrypoint for Jenkins to map declarative pipeline steps to Jenkinsfile.ps1 calls
  • global.json - Specifies project directories and SDK for ASP.NET Core projects
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment