Continuous Delivery 2.0


Book Description

The agile transformation is an act of transforming an organization’s form or nature gradually to one that can embrace and thrive in a flexible, collaborative, self-organizing, and fast-changing environment. It seems like most of the companies starting an agile transformation never reach the goal of agility, but there are those few that truly become agile and reap incredible benefits by utilizing DevOps as well. This book introduces the theory and practice of the "double-flywheels model" of Continuous Delivery 2.0: Discovery Loop, which allows information technology (IT) organizations to help businesses figure out the most efficacious ways to develop. Additionally, it explores applications of the Verification Loop that allows IT organizations to deliver value quickly and safely with high quality. Along the way, the book provides an array of insights and case studies that dive into all the aspects of software delivery, and how to implement Continuous Delivery in the most economical way for long-run business development. Features Organization culture and software architecture Business requirement management Pipeline and tooling Branching and releasing strategy Automation strategy Configuration and artefacts management Deployment and production healthy The case studies at the end of the book—scenarios in which the author was personally involved—are explored in depth and meticulously detailed in order to represent typical agile transition scenarios that will benefit all readers.




The DevOps 2. 0 Toolkit


Book Description

Automating the Continuous Deployment Pipeline with Containerized MicroservicesAbout This Book* First principles of devops, Ansible, Docker, Kubernetes, microservices* Architect your software in a better and more efficient way with microservices packed as immutable containers* Practical guide describing an extremely modern and advanced devops toolchain that can be improved continuouslyWho This Book Is ForIf you are an intermediate-level developer who wants to master the whole microservices development and deployment lifecycle using some of the latest and greatest practices and tools, this is the book for you. Familiarity with the basics of Devops and Continuous Deployment will be useful.What You Will Learn * Get to grips with the fundamentals of Devops* Architect efficient software in a better and more efficient way with the help of microservices* Use Docker, Kubernetes, Ansible, Ubuntu, Docker Swarm and more* Implement fast, reliable and continuous deployments with zero-downtime and ability to roll-back* Learn about centralized logging and monitoring of your cluster* Design self-healing systems capable of recovery from both hardware and software failuresIn DetailBuilding a complete modern devops toolchain requires not only the whole microservices development and a complete deployment lifecycle, but also the latest and greatest practices and tools. Victor Farcic argues from first principles how to build a devops toolchain. This book shows you how to chain together Docker, Kubernetes, Ansible, Ubuntu, and other tools to build the complete devops toolkit.Style and approach This book follows a unique, hands-on approach familiarizing you to the Devops 2.0 toolkit in a very practical manner. Although there will be a lot of theory, you won't be able to complete this book by reading it in a metro on a way to work. You'll need to be in front of your computer and get your hands dirty.




Continuous Integration


Book Description

For any software developer who has spent days in “integration hell,” cobbling together myriad software components, Continuous Integration: Improving Software Quality and Reducing Risk illustrates how to transform integration from a necessary evil into an everyday part of the development process. The key, as the authors show, is to integrate regularly and often using continuous integration (CI) practices and techniques. The authors first examine the concept of CI and its practices from the ground up and then move on to explore other effective processes performed by CI systems, such as database integration, testing, inspection, deployment, and feedback. Through more than forty CI-related practices using application examples in different languages, readers learn that CI leads to more rapid software development, produces deployable software at every step in the development lifecycle, and reduces the time between defect introduction and detection, saving time and lowering costs. With successful implementation of CI, developers reduce risks and repetitive manual processes, and teams receive better project visibility. The book covers How to make integration a “non-event” on your software development projects How to reduce the amount of repetitive processes you perform when building your software Practices and techniques for using CI effectively with your teams Reducing the risks of late defect discovery, low-quality software, lack of visibility, and lack of deployable software Assessments of different CI servers and related tools on the market The book’s companion Web site, www.integratebutton.com, provides updates and code examples.




Pro Continuous Delivery


Book Description

Follow this step-by-step guide for creating a continuous delivery pipeline using all of the new features in Jenkins 2.0 such as Pipeline as a Code, multi-branch pipeline, and more. You will learn three crucial elements for achieving a faster software delivery pipeline: a fungible build/test environment, manageable and reproducible pipelines, and a scalable build/test infrastructure. Pro Continuous Delivery demonstrates how to create a highly available, active/passive Jenkins server using some niche technologies. What You'll Learn Create a highly available, active/passive Jenkins server using CoreOS and Docker, and using Pacemaker and Corosync Use a Jenkins multi-branch pipeline to automatically perform continuous integration whenever there is a new branch in your source control system Describe your continuous delivery pipeline with Jenkinsfile Host Jenkins server on a cloud solution Run Jenkins inside a container using Docker Discover how the distributed nature of Git and the “merge before build” feature of Jenkins can be used to implement gated check-in Implement a scalable build farm using Docker and Kubernetes Who This Book Is For You have experience implementing continuous integration and continuous delivery using Jenkins freestyle Jobs and wish to use the new Pipeline as a Code feature introduced in Jenkins 2.0 Your source code is on a Git-like version control system (Git, GitHub, GitLab, etc.) and you wish to leverage the advantages of a multi-branch pipeline in Jenkins Your infrastructure is on a Unix-like platform and you wish to create a scalable, distributed build/test farm using Docker or Kubernetes You are in need of a highly available system for your Jenkins Server using open source tools and technologies




A Practical Guide to Continuous Delivery


Book Description

Using Continuous Delivery, you can bring software into production more rapidly, with greater reliability. A Practical Guide to Continuous Delivery is a 100% practical guide to building Continuous Delivery pipelines that automate rollouts, improve reproducibility, and dramatically reduce risk. Eberhard Wolff introduces a proven Continuous Delivery technology stack, including Docker, Chef, Vagrant, Jenkins, Graphite, the ELK stack, JBehave, and Gatling. He guides you through applying these technologies throughout build, continuous integration, load testing, acceptance testing, and monitoring. Wolff’s start-to-finish example projects offer the basis for your own experimentation, pilot programs, and full-fledged deployments. A Practical Guide to Continuous Delivery is for everyone who wants to introduce Continuous Delivery, with or without DevOps. For managers, it introduces core processes, requirements, benefits, and technical consequences. Developers, administrators, and architects will gain essential skills for implementing and managing pipelines, and for integrating Continuous Delivery smoothly into software architectures and IT organizations. Understand the problems that Continuous Delivery solves, and how it solves them Establish an infrastructure for maximum software automation Leverage virtualization and Platform as a Service (PAAS) cloud solutions Implement build automation and continuous integration with Gradle, Maven, and Jenkins Perform static code reviews with SonarQube and repositories to store build artifacts Establish automated GUI and textual acceptance testing with behavior-driven design Ensure appropriate performance via capacity testing Check new features and problems with exploratory testing Minimize risk throughout automated production software rollouts Gather and analyze metrics and logs with Elasticsearch, Logstash, Kibana (ELK), and Graphite Manage the introduction of Continuous Delivery into your enterprise Architect software to facilitate Continuous Delivery of new capabilities




Devops in Practice


Book Description

DevOps is a cultural and professional movement that's trying to break these walls. Focused on automation, collaboration, tool sharing and knowledge sharing, DevOps has been revealing that developers and system engineers have a lot to learn from one another. In this book, Danilo Sato will show you how to implement DevOps and Continuous Delivery practices so as to raise your system's deployment frequency at the same time as increasing the production application's stability and robustness. You will learn how to automate a web application's build and deploy phases and the infrastructure management, how to monitor the system deployed to production, how to evolve and migrate an architecture to the cloud and still get to know several other tools that you can use on your company




Continuous Delivery for Mobile with fastlane


Book Description

Learn continuous deployment and automation with code-signing, continuous testing, building, deploying, and releasing of your app. Key Features A practical guide on automating your mobile development pipeline with Fastlane, Jenkins, and Slack. Build, test, run and deploy your mobile application release with this end to end guide. Implement Continuous Integration, delivery, and deployment practices to optimize your application development workflow for faster and efficient release builds. Book Description Competitive mobile apps depend strongly on the development team’s ability to deliver successful releases, consistently and often. Although continuous integration took a more mainstream priority among the development industry, companies are starting to realize the importance of continuity beyond integration and testing. This book starts off with a brief introduction to fastlane—a robust command-line tool that enables iOS and Android developers to automate their releasing workflow. The book then explores and guides you through all of its features and utilities; it provides the reader a comprehensive understanding of the tool and how to implement them. Themes include setting up and managing your certificates and provisioning and push notification profiles; automating the creation of apps and managing the app metadata on iTunes Connect and the Apple Developer Portal; and building, distributing and publishing your apps to the App Store. You will also learn how to automate the generation of localized screenshots and mesh your continuous delivery workflow into a continuous integration workflow for a more robust setup. By the end of the book, you will gain substantial knowledge on delivering bug free, developer-independent, and stable application release cycle. What you will learn Harness the fastlane tools for the Continuous Deployment strategy Integrate Continuous Deployment with existing Continuous Integration. Automate upload of screenshots across all device screen-sizes Manage push notifications, provisioning profiles, and code-signing certificates Orchestrate automated build and deployments of new versions of your app Regulate your TestFlight users and on-board new testers Who this book is for This book is intended for mobile developers who are keen on incorporating Continuous integration and deployment practices in their workflow.




Continuous Delivery


Book Description

Winner of the 2011 Jolt Excellence Award! Getting software released to users is often a painful, risky, and time-consuming process. This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours— sometimes even minutes–no matter what the size of a project or the complexity of its code base. Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk delivery process. Next, they introduce the “deployment pipeline,” an automated process for managing all changes, from check-in to release. Finally, they discuss the “ecosystem” needed to support continuous delivery, from infrastructure, data and configuration management to governance. The authors introduce state-of-the-art techniques, including automated infrastructure management and data migration, and the use of virtualization. For each, they review key issues, identify best practices, and demonstrate how to mitigate risks. Coverage includes • Automating all facets of building, integrating, testing, and deploying software • Implementing deployment pipelines at team and organizational levels • Improving collaboration between developers, testers, and operations • Developing features incrementally on large and distributed teams • Implementing an effective configuration management strategy • Automating acceptance testing, from analysis to implementation • Testing capacity and other non-functional requirements • Implementing continuous deployment and zero-downtime releases • Managing infrastructure, data, components and dependencies • Navigating risk management, compliance, and auditing Whether you’re a developer, systems administrator, tester, or manager, this book will help your organization move from idea to release faster than ever—so you can deliver value to your business rapidly and reliably.




Reports and Memoranda


Book Description