-
Notifications
You must be signed in to change notification settings - Fork 71
Preface

The authors have long experience in the software industry, and have worked with many companies from startups to huge industry leaders. We want to share our experience with you.
A common theme with projects is getting a solid local build running, getting that solidness into shared tooling, showing the results to executives so they have confidence in our work, and tackling how to implement "best practices" that varies from each project. Everyones needs for "best practices" means often bespoke means.
This book and its writing and example code focuses on JVM projects: what you might use in your build for Java or Kotlin or Scala or related. However, the principles are independent of the code base: all code solutions are interested in concerns such as security or quality.
What this book does not focus on are specific code solutions: we are here to help you with your local and CI build, something that matters to you and your stakeholders, and helps you deploy solutions.
Essentially we as authors want to make you awesome. For software developers that means you have condidence in solutions you deploy.
So this project suggests Principles:
- Confidence that what you build locally will be the same in shared builds such as devops platforms like ADO, GitHub, GitLabs, etc.
- You can safely move work to production.
- Work is automated so you do not repeat yourself or frequently reedit.
- You consider work to be reliable: avoid problems of "it works on my machine".
- Your local code is nice and sensible, and you are proud to share with your team or others following mutual agreements.
- The "developer experience" is good for you and teammates: builds are quick, and give you helpful information.
To summarize practice techiques:
- The pipeline is your whole build from local development to remote devops systems, that is, CI (ADO, GitHub, GitLab, etc).
- Good builds should be identical between local builds and CI to give you confidence, and help you find problems early. This is containerized builds.
- Keep code fluent and clean: focus builds on developer experience and confidence. The local and CI builds should help you. Clean builds help you work on true problems and avoid rabbit holes.
See the code repo for working examples.
This work is dedicated/deeded to the public following laws in jurisdictions
for such purpose.
The principal authors are:
You can always use the "Pages" UI control above this sidebar ☝ to navigate around all pages alphabetically (even pages not in this sidebar), to navigate the outline for each page, or for a search box.
Here is the suggested reading order: