001. Part 1. Startup
002. Chapter 1. Delivering value
003. Chapter 1. Small pieces
004. Chapter 1. Building your product
005. Chapter 1. Feedback loop
006. Chapter 1. Summary
007. Chapter 2. Introducing continuous integration
008. Chapter 2. A greenfield project
009. Chapter 2. The assembly line
010. Chapter 2. Warehouses
011. Chapter 2. Material
012. Chapter 2. Summary
013. Chapter 3. Introducing continuous testing
014. Chapter 3. Writing unit tests
015. Chapter 3. Refactor, refactor, refactor
017. Chapter 3. System testing
018. Chapter 3. Adding it to the pipeline
019. Chapter 3. Code coverage
020. Chapter 3. Summary
021. Chapter 4. Introducing continuous deployment
022. Chapter 4. Developers as operators
023. Chapter 4. Setting up a deployment account
024. Chapter 4. As you like it
025. Chapter 4. Function as a Service (FaaS)
026. Chapter 4. Platform as a Service
027. Chapter 4. Summary
028. Part 2. Scaling
029. Chapter 5. Code quality enforcement
030. Chapter 5. Constraints on development
031. Chapter 5. Standardizing our code through format and lint checks
032. Chapter 5. Static code analysis
033. Chapter 5. Code documentation
034. Chapter 5. Git hooks
035. Chapter 5. Flow
036. Chapter 5. Summary
037. Chapter 6. Testing frameworks, mocking, and dependencies
038. Chapter 6. Defining an interface
039. Chapter 6. Dependency injection
040. Chapter 6. Testing stubs
041. Chapter 6. Mocking
042. Chapter 6. Fake
043. Chapter 6. Just the base of the pyramid
044. Chapter 6. Summary
045. Chapter 7. Containerized deployment
047. Chapter 7. Lets build a container
048. Chapter 7. Adding a container build to your pipeline
049. Chapter 7. Deploying to a container runtime
050. Chapter 7. Writing your own image
051. Chapter 7. Local environment organization
052. Chapter 7. Containers, containers everywhere
053. Chapter 7. Summary
054. Part 3. Going public
055. Chapter 8. Configuration management and stable releases
056. Chapter 8. Advanced configuration
057. Chapter 8. Hiding features
058. Chapter 8. Semantic versioning
059. Chapter 8. Change log
060. Chapter 8. Accountability and handling failure
061. Chapter 8. Summary
062. Chapter 9. Integration testing
063. Chapter 9. Behavior-driven design
064. Chapter 9. Writing BDD tests in Go
065. Chapter 9. Adding a database
066. Chapter 9. Releasing
067. Chapter 9. Summary
068. Chapter 10. Advanced deployment
069. Chapter 10. Your first cluster
070. Chapter 10. Building blocks
071. Chapter 10. Scaling and health status
072. Chapter 10. Automatically deploying
073. Chapter 10. Deploying Redis using Helm
074. Chapter 10. Updating deployment configuration
075. Chapter 10. Summary
076. Chapter 11. The loop
077. Chapter 11. Acceleration
078. Chapter 11. Cruising
079. Chapter 11. Elements of development
080. Chapter 11. The OODA loop
081. Chapter 11. Conclusion
082. Chapter 11. Summary
083. Appendix A. Using Kotlin
084. Appendix A. Coding
085. Appendix A. Maven
086. Appendix A. Testing
087. Appendix A. Linting and the initial pipeline
088. Appendix A. Containerizing
089. Appendix B. Using Python
090. Appendix B. Coding
091. Appendix B. Testing
092. Appendix B. Nox
093. Appendix B. Defining the container
094. Appendix B. Creating the pipeline
095. Appendix C. Using JavaScript
096. Appendix C. Coding
097. Appendix C. Testing
098. Appendix C. Linting
099. Appendix C. Defining the container
100. Appendix C. Building the pipeline
101. Appendix D. Using Terraform
102. Appendix D. Deploying the image
103. Appendix D. Creating the pipeline