Shipping Go: Develop, deliver, discuss, design, and go again

Оглавление⌄
inside front cover....2 Shipping Go....3 Copyright....4 dedication....6 contents....7 front matter....12 preface....12 acknowledgments....14 about this book....16 Who should read this book?....16 How this book is organized: A roadmap....17 About the code....18 liveBook discussion forum....19 about the author....19 about the cover illustration....20 Part 1. Startup....22 1 Delivering value....23 1.1 Simple concepts....24 1.2 Small pieces....29 1.2.1 Continuous....32 1.2.2 Process....33 1.2.3 Quality....34 1.2.4 Delivery....35 1.3 Building your product....37 1.3.1 Initial setup....38 1.3.2 Basic validation....38 1.3.3 Zero-cost deployment....39 1.3.4 Code confidence....39 1.3.5 Integrations....40 1.3.6 Portability....40 1.3.7 Adaptability....41 1.3.8 User acceptance....41 1.3.9 Scaled product....42 1.3.10 End to end....42 1.4 Feedback loop....43 Summary....43 2 Introducing continuous integration....44 2.1 Where to start?....46 2.2 A greenfield project....48 2.3 The assembly line....51 2.4 Warehouses....57 2.5 Material....63 Summary....67 3 Introducing continuous testing....68 3.1 What to test....69 3.2 Writing unit tests....73 3.3 Refactor, refactor, refactor....77 3.4 Testing pyramid....87 3.5 System testing....90 3.6 Adding it to the pipeline....98 3.7 Code coverage....101 Summary....107 4 Introducing continuous deployment....109 4.1 Delivery....110 4.2 Developers as operators....114 4.3 Setting up a deployment account....117 4.4 As you like it....122 4.5 Function as a Service (FaaS)....126 4.6 Platform as a Service....131 Summary....135 Part 2. Scaling....137 5 Code quality enforcement....138 5.1 Reviewing code....139 5.1.1 Keep it small....142 5.1.2 Keep an open mind....143 5.1.3 Keep it moving....144 5.1.4 Keep it interesting....145 5.1.5 Keep it the same....146 5.2 Constraints on development....147 5.3 Standardizing our code through format and lint checks....149 5.4 Static code analysis....154 5.5 Code documentation....160 5.6 Git hooks....163 5.7 Flow....165 Summary....167 6 Testing frameworks, mocking, and dependencies....169 6.1 Dependency inversion principle....170 6.2 Defining an interface....171 6.3 Dependency injection....176 6.4 Testing stubs....181 6.5 Mocking....186 6.5.1 Setting up our test suite....188 6.5.2 Using our mocks in test....190 6.6 Fake....196 6.7 Just the base of the pyramid....203 Summary....205 7 Containerized deployment....206 7.1 What is a container?....208 7.2 What is a Buildpack?....211 7.3 Let’s build a container....213 7.4 Adding a container build to your pipeline....214 7.5 Deploying to a container runtime....217 7.6 Writing your own image....220 7.7 Local environment organization....224 7.8 Containers, containers everywhere....227 Summary....228 Part 3. Going public....229 8 Configuration management and stable releases....230 8.1 Configuration....232 8.2 Advanced configuration....234 8.2.1 Environmental variables....236 8.2.2 File....237 8.2.3 Flag....239 8.3 Hiding features....241 8.3.1 Updating the port....243 8.3.2 External client....244 8.4 Semantic versioning....246 8.5 Change log....251 8.6 Accountability and handling failure....254 Summary....258 9 Integration testing....259 9.1 Phasing out the old....260 9.2 Behavior-driven design....262 9.3 Writing BDD tests in Go....264 9.4 Adding a database....271 9.5 Releasing....278 Summary....283 10 Advanced deployment....284 10.1 Not quite IaaS....286 10.2 Your first cluster....288 10.3 Building blocks....289 10.4 Scaling and health status....292 10.5 Automatically deploying....295 10.6 Deploying Redis using Helm....297 10.7 Updating deployment configuration....298 Summary....301 11 The loop....303 11.1 Startup....304 11.2 Acceleration....306 11.3 Cruising....307 11.4 Elements of development....310 11.4.1 Process....311 11.4.2 Testing....314 11.4.3 Delivering....317 11.5 The OODA loop....320 11.6 Conclusion....322 Summary....323 Appendix A. Using Kotlin....324 A.1 Frameworks....324 A.2 Coding....325 A.3 Maven....329 A.4 Testing....329 A.5 Linting and the initial pipeline....332 A.6 Containerizing....334 Appendix B. Using Python....337 B.1 Poetry....337 B.2 Coding....338 B.3 Testing....341 B.4 Nox....342 B.5 Defining the container....344 B.6 Creating the pipeline....345 Appendix C. Using JavaScript....348 C.1 Node Package Manager....348 C.2 Coding....349 C.3 Testing....353 C.4 Linting....354 C.5 Defining the container....356 C.6 Building the pipeline....357 Appendix D. Using Terraform....360 D.1 Building the image....360 D.2 Deploying the image....362 D.3 Creating the pipeline....364 index....366 inside back cover....379
Описание
Коротко и по делу о том, что важно знать про your.
Author Joel Holmes shows you the easy way to set up development pipelines, fully illustrated with practical examples in the powerful Go language. Shipping Go is a hands-on guide to shipping Go-based software. You’ll put continuous delivery and continuous integration into action, and discover instantly useful guidance on automating your team’s build and reacting with agility to customer demands. Your new pipelines will ferry your projects through production and deployment, and also improve your testing, code quality, and production applications.
About the TechnologyAn effective software delivery pipeline automates all stages, from initial design, through development, deployment, and ultimately the usage experience that feeds back into new features and releases. Go embraces the best practices of Continuous Delivery, and adds a few language-specific tools and twists of its own.
You’ll have a basic CI/CD process up and running by the time you finish Chapter 3, along with an iterative process for designing, releasing, and revising your applications. About the BookShipping Go shows you how to build Go-specific software development pipelines. Then, you’ll systematically upgrade your pipeline to support containerization, integration testing, semantic versioning, and automated deployment. A set of handy appendices help you translate these valuable practices to Kotlin, Python, and JavaScript applications.
What’s InsideCreate a development pipeline that turns feedback into featuresAutomatically validate code before it is deployedServerless, container-based, and server-based deploymentsScale your deployment in a cost-effective wayAbout the ReaderFor Go developers.
Если материал оказался полезен — сохраните страницу.
Поделиться
Частые вопросы
Можно ли скачать «Shipping Go: Develop, deliver, discuss, design, and go again» бесплатно?
Да, «Shipping Go: Develop, deliver, discuss, design, and go again» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.
В каком формате и какого размера файл?
Книга предоставляется в формате PDF, размер файла 1,4 МБ.
Кто автор и когда вышла книга?
автор — Holmes Joel, издательство Manning Publications Co., год выпуска 2023, 379 страниц.
О чём книга «Shipping Go: Develop, deliver, discuss, design, and go again»?
Shipping Go is a hands-on guide to shipping Go-based software.