We should start by recommending Declarative Pipeline for all Jenkinsfiles and Scripted Pipeline for Shared Libraries. Declarative wasn't part of Sam's blog but needs to be there.
Other sections we should cover:
- Using the 'replay' function for testing both in the UI and the CLI
- Using the CLI Linter for Jenkinsfiles (could have a shell script that Lints the Jenkinsfile and then runs replay with Jenkinsfile for more rapid iteration)
- Using Docker Pipeline correctly
- Appendix list Groovy idioms that do not work and links to the JIRA for this.