/ServiceFabricSuaveStateful

Sample of stateful and stateless Service Fabric services with Suave

Primary LanguageF#

Minimal Suave Host for Azure Service Fabric

Build status

Based ok https://github.com/isaacabraham/ServiceFabricFsDemo.

Project shows how to host Suave application inside of Azure Service Fabric stateless service. It also demonstrates build, testing and releasing process which can be used for similar applications.

Build process

The automated build process contains:

  1. Restore dependencies using Paket
  2. Clean artifacts from previous build
  3. Update assembly infos and manifest files with version from RELEASE_NOTES.md file (this probably should be done differently - in Service Fabric you can have separate versioning for applications and services being part of it)
  4. Build application and tests projects
  5. Run unit tests (plain business logic tests - not testing anything Suave or Service Fabric releated)
  6. Package application
  7. Start local development Service Fabric Cluster (and remove previously deployed versions of application)
  8. Deploy application to local cluster.
  9. Run integration tests (testing Suave and Service Fabric hosting - making normal HTTP requests to locally deployed application)
  10. Push changes to GitHub, upload packaged application, create tag and release
  11. Deploy application to remote (Azure) Service Fabric cluster (only unsecured clusters) (no good upgrade story yet)

Build server

Project is configured to use appveyor build server for testing any changes to master branch and any PRs. Unfortunately right now it's only running unit tests - I haven't managed to start local development cluster on appveyor build server so Integration tests can't be run.