Monday, November 8, 2010

Continuous delivery through the automated build, test, deploy, reliable software pipeline ...

 In AgileChina2010 Assembly, Old refers to GO (formerly known as Cruise) and David Farley, product manager with, after three years to complete the ; 2010, one of the most important book. release of its software management excellence.
We are pleased to convey the idea of the product is described by the writing and the first time to see this book, but also linked to the Beijing Turing Yang Hailing, the introduction of the book in the country. This book is translated in the hope that the Chinese translation to meet with you next year. Some of the following translation has not been amended. For reproduced or quoted, please indicate the original and the original source. The book's website address is continuousdelivery@googlegroups.com, to discuss ongoing delivery of software related topics.
The following is a translation of the first part of chapter, not revision. please consciously maintain the copyright to buy genuine books.
Introduction As software people, our most important question is: If people want a good idea, how do we the fastest speed it delivered to the user? book will give the answer.
we will focus on build, deploy, test and release process, as opposed to the whole process of software production for other sectors, This part of the contents of the relatively small. We do not believe that software development method is not important, on the contrary, if no other aspects of the software life cycle [H1] concern, but only to these factors as a cursory treatment of minor problems , [H2] is impossible to achieve reliable, rapid and low-risk software releases, in an efficient manner into our labor of labor, and handed the hands of our users.
today there are many software development methods, But they mainly focus on demand management impact on development. there are many excellent books, discussed in detail in the software design, development, and testing a variety of ways, but they cover only of the software delivered to client or organization as part of the complete value stream.
Once the requirements definition, design, development and testing, what we do next? How do we coordinate these activities to make our delivery process more reliable and effective? We how to make developers, testers, build and operation and maintenance personnel [H3] together to work efficiently? This book describes the process from development to release of this effective model. book about technology and best practices will help We implemented this model and show it with other activities in the software delivery interactive and cooperative way.
book center model is to deploy pipeline (deployment pipeline [H4]). In essence, the deployment of an application pipeline means program from the build, deploy, test, this entire process to release automation implementation. pipelined implementation of the deployment will be for each organization is different, depending on the value of their software release stream (value stream) of the definition, but everyone realization principle is the same.
instance of a deployment of the pipeline shown in Figure 1.1.
Figure 1-1 [H5] deployment pipeline
deployment pipeline works as follows. For the configuration of an application , source code, the environment or data, any change will trigger a new instance of the creation of pipeline. pipeline first step is to create a binary file and install package. and the rest are made based on the product of a series of step test, the first step to prove the quality of the product to the release. Every step of the test through, will give us All the test session, then it can be released.
despite the continuous integration process, the deployment line has its own foundation, but essentially, it is also after the adoption of the principle of continuous integration result of a natural [H6 ]. There are three objectives of the deployment pipeline. First, it allows the software to build,UGG shoes, deploy, test and release process becomes visible to all, promoting collaboration. Second, it accelerated the feedback, so that the whole process, we can more identify problems early and solve it. Finally, it is through a fully automated process, so the team can be deployed in any environment and any published version of the software.
the release of some common anti-patterns
software release is the day The most stressful day. Why is it so? For most projects, the whole process of the risk of release is relatively large.
in many software projects need a lot of software distribution is a manual process. First from the team solely responsible for the operation and maintenance of the installed operating system software environment required, and then rely on third-party applications software installed. Second, the application of the software product [H7] copied to the production host environment, and then configuration information through the Web server, application server, or other third party systems management console copied to the environment, then the relevant data replication [H8] a to the environment, and finally start the application. If this is a distributed or service-oriented applications, it may need to be completed in parts.
As mentioned above, released the same day should more clearly the reasons for tension: in this process, many steps can go wrong. If a step which is not perfect If implemented, the application will not run correctly. Once that happens, we are clearly in the end it's hard to say which step went wrong. This book will discuss how to avoid these risks, reduce the pressure on the day of release, and how to ensure the reliability of each release is predictable. Here, let us first clarify what we in the end to avoid the type of failure. The following lists and reliable process that corresponds to the release of several anti-patterns, although these cases We are not uncommon in this industry. Anti-mode: Manual deployment of software for existing applications, regardless of size, the deployment process are more complicated and contains many very flexible part. Many organizations use manual methods to distribute software. also that is required to deploy the application of these steps are independent of the atomic operation, and by an individual or a group to perform, respectively. Each step in there that need people to judge things, so it is prone to human error. if not Thus, the implementation of these steps in different order and timing differences can lead to results. and this difference is likely to bring us poor results.
this anti-pattern characteristics are:
b have a very detailed document that describes the steps and each step in the implementation of error-prone places.

No comments:

Post a Comment