Mastering GitLab 12

Mastering GitLab 12 PDF Author: Joost Evertse
Publisher: Packt Publishing Ltd
ISBN: 1789534062
Category : Computers
Languages : en
Pages : 608

Book Description
An expert guide to helping you use DevOps techniques with the latest GitLab version to optimize and manage your software workflow Key Features Delve into GitLab's architecture, and install and configure it to fit your environment Learn about the underlying principles of Agile software development and DevOps Explore Gitlab's features to manage enterprise cloud-native applications and services Book Description GitLab is an open source repository management and version control toolkit with functions for enterprises and personal software projects. It offers configurability options, extensions, and APIs that make it an ideal tool for enterprises to manage the software development life cycle. This book begins by explaining GitLab options and the components of the GitLab architecture. You will learn how to install and set up GitLab on-premises and in the cloud, along with understanding how to migrate code bases from different systems, such as GitHub, Concurrent Versions System, Team Foundation Version Control, and Subversion. Later chapters will help you implement DevOps culture by introducing the workflow management tools in GitLab and continuous integration/continuous deployment (CI/CD). In addition to this, the book will guide you through installing GitLab on a range of cloud platforms, monitoring with Prometheus, and deploying an environment with GitLab. You'll also focus on the GitLab CI component to assist you with creating development pipelines and jobs, along with helping you set up GitLab runners for your own project. Finally, you will be able to choose a high availability setup that fits your needs and helps you monitor and act on results obtained after testing. By the end of this book, you will have gained the expertise you need to use GitLab features effectively, and be able to integrate all phases in the development process. What you will learn Install GitLab on premises and in the cloud using a variety of configurations Conduct data migration from the SVN, TFS, CVS, and GitHub platforms to GitLab Use GitLab runners to develop different types of configurations in software development Plan and perform CI/CD by using GitLab features Monitor and secure your software architecture using Prometheus and Grafana Implement DevOps culture by introducing workflow management tools in GitLab Who this book is for If you are a software developer, DevOps professional, or any developer who wants to master GitLab for productive repository management in your day-to-day tasks, this book is for you. Basic understanding of the software development workflow is assumed.

Learning DevOps

Learning DevOps PDF Author: Mikael Krief
Publisher: Packt Publishing Ltd
ISBN: 1838648534
Category : Computers
Languages : en
Pages : 504

Book Description
Simplify your DevOps roles with DevOps tools and techniques Key Features Learn to utilize business resources effectively to increase productivity and collaboration Leverage the ultimate open source DevOps tools to achieve continuous integration and continuous delivery (CI/CD) Ensure faster time-to-market by reducing overall lead time and deployment downtime Book Description The implementation of DevOps processes requires the efficient use of various tools, and the choice of these tools is crucial for the sustainability of projects and collaboration between development (Dev) and operations (Ops). This book presents the different patterns and tools that you can use to provision and configure an infrastructure in the cloud. You'll begin by understanding DevOps culture, the application of DevOps in cloud infrastructure, provisioning with Terraform, configuration with Ansible, and image building with Packer. You'll then be taken through source code versioning with Git and the construction of a DevOps CI/CD pipeline using Jenkins, GitLab CI, and Azure Pipelines. This DevOps handbook will also guide you in containerizing and deploying your applications with Docker and Kubernetes. You'll learn how to reduce deployment downtime with blue-green deployment and the feature flags technique, and study DevOps practices for open source projects. Finally, you'll grasp some best practices for reducing the overall application lead time to ensure faster time to market. By the end of this book, you'll have built a solid foundation in DevOps, and developed the skills necessary to enhance a traditional software delivery process using modern software delivery tools and techniques What you will learn Become well versed with DevOps culture and its practices Use Terraform and Packer for cloud infrastructure provisioning Implement Ansible for infrastructure configuration Use basic Git commands and understand the Git flow process Build a DevOps pipeline with Jenkins, Azure Pipelines, and GitLab CI Containerize your applications with Docker and Kubernetes Check application quality with SonarQube and Postman Protect DevOps processes and applications using DevSecOps tools Who this book is for If you are a developer or a system administrator interested in understanding continuous integration, continuous delivery, and containerization with DevOps tools and techniques, this book is for you.

Mastering Docker Enterprise

Mastering Docker Enterprise PDF Author: Mark Panthofer
Publisher: Packt Publishing Ltd
ISBN: 1789617243
Category : Computers
Languages : en
Pages : 488

Book Description
A journey toward containerized applications in production with a cloud-portable, secure, robust and highly available Docker Enterprise platform. Key Features Get an insider’s view into the container movement and Docker Enterprise Manage the transformation associated with enterprise container adoption Walk through the enterprise container adoption journey Book Description While known mostly as the open source engine behind tens of millions of server nodes, Docker also offers commercially supported enterprise tooling known as the Docker Enterprise. This platform leverages the deep roots from Docker Engine - Community (formerly Docker CE) and Kubernetes, but adds support and tooling to efficiently operate a secure container platform at scale. With hundreds of enterprises on board, best practices and adoption patterns are emerging rapidly. These learning points can be used to inform adopters and help manage the enterprise transformation associated with enterprise container adoption. This book starts by explaining the case for Docker Enterprise, as well as its structure and reference architecture. From there, we progress through the PoC,pilot and production stages as a working model for adoption, evolving the platform’s design and configuration for each stage and using detailed application examples along the way to clarify and demonstrate important concepts.The book concludes with Docker’s impact on other emerging software technologies, such as Blockchain and Serverless computing. By the end of this book, you’ll have a better understanding of what it takes to get your enterprise up and running with Docker Enterprise and beyond. What you will learn Understand why containers are important to an enterprise Understand the features and components of Docker Enterprise 2 Find out about the PoC, pilot, and production adoption phases Get to know the best practices for installing and operating Docker Enterprise Understand what is important for a Docker Enterprise in production Run Kubernetes on Docker Enterprise Who this book is for This book is for Software Architects, DevOps Engineers, Tech Ops, Docker professionals, or any IT professional working with Docker and containers who wants to move containerized workloads to production. This book discusses the enterprise adoption of Docker and Kubernetes,therefore a basic understanding of Docker concepts will be helpful.

Mastering Salesforce DevOps

Mastering Salesforce DevOps PDF Author: Andrew Davis
Publisher: Apress
ISBN: 1484254732
Category : Computers
Languages : en
Pages : 453

Book Description
This practical guide brings DevOps principles to Salesforce development. It fits together two major movements within the IT world: the movement to Software/Platform as a Service (SaaS/PaaS), and the DevOps movement. While SaaS and PaaS allow companies to invest in their core competencies rather than maintain their own infrastructure, the goal of DevOps is to optimize the process of delivering software innovation and value. The release of Salesforce DX in late 2017 unlocks the possibility of a true DevOps workflow on Salesforce. But DevOps is new to the Salesforce world and there is not a widespread understanding of its goals and methods, and so adoption of Salesforce DX is still in the early stages. Mastering Salesforce DevOps explains how to build a powerful and comprehensive DevOps workflow for Salesforce—allowing you to finally deploy the world's most innovative platform using the world's most effective and efficient techniques. It addresses the need for a comprehensive guide to DevOps for Salesforce, allowing teams to bring proven practices from the IT world to resolve the hardest problems facing Salesforce developers today. What You Will Learn Improve company performance and software delivery performance using Salesforce DX Translate DevOps concepts into the unique language and practices of Salesforce Understand why and how you can implement Salesforce DX to achieve greater productivity and innovation Enable continuous delivery on Salesforce Build packages and architect code so it can be deployed easilyAllow admins to participate in what has traditionally been a developer workflow Know the techniques for reducing the stress and risk of deploymentApply the full range of automated tests that can be used on Salesforce Who This Book Is for Salesforce developers, release managers, and those managing Salesforce development teams who need a guide to DevOps, and DevOps specialists who need to apply familiar concepts to Salesforce

Mastering Software Testing with JUnit 5

Mastering Software Testing with JUnit 5 PDF Author: Boni Garcia
Publisher: Packt Publishing Ltd
ISBN: 1787124398
Category : Computers
Languages : en
Pages : 350

Book Description
A comprehensive, hands-on guide on unit testing framework for Java programming language About This Book In-depth coverage of Jupiter, the new programming and extension model provided by JUnit 5 Integration of JUnit 5 with other frameworks such as Mockito, Spring, Selenium, Cucumber, and Docker Best practices for writing meaningful Jupiter test cases Who This Book Is For This book is for Java software engineers and testers. If you are a Java developer who is keen on improving the quality of your code and building world class applications then this book is for you. Prior experience of the concepts of automated testing will be helpful. What You Will Learn The importance of software testing and its impact on software quality The options available for testing Java applications The architecture, features and extension model of JUnit 5 Writing test cases using the Jupiter programming model How to use the latest and advanced features of JUnit 5 Integrating JUnit 5 with existing third-party frameworks Best practices for writing meaningful JUnit 5 test cases Managing software testing activities in a living software project In Detail When building an application it is of utmost importance to have clean code, a productive environment and efficient systems in place. Having automated unit testing in place helps developers to achieve these goals. The JUnit testing framework is a popular choice among Java developers and has recently released a major version update with JUnit 5. This book shows you how to make use of the power of JUnit 5 to write better software. The book begins with an introduction to software quality and software testing. After that, you will see an in-depth analysis of all the features of Jupiter, the new programming and extension model provided by JUnit 5. You will learn how to integrate JUnit 5 with other frameworks such as Mockito, Spring, Selenium, Cucumber, and Docker. After the technical features of JUnit 5, the final part of this book will train you for the daily work of a software tester. You will learn best practices for writing meaningful tests. Finally, you will learn how software testing fits into the overall software development process, and sits alongside continuous integration, defect tracking, and test reporting. Style and approach The book offers definitive and comprehensive coverage of all the Unit testing concepts with JUnit and its features using several real world examples so that readers can put their learning to practice almost immediately. This book is structured in three parts: Software testing foundations (software quality and Java testing) JUnit 5 in depth (programming and extension model of JUnit 5) Software testing in practice (how to write and manage JUnit 5 tests)

Mastering Go

Mastering Go PDF Author: Mihalis Tsoukalos
Publisher: Packt Publishing Ltd
ISBN: 1838555323
Category : Computers
Languages : en
Pages : 798

Book Description
Dive deep into the Go language and become an expert Go developer Key Features Second edition of the bestselling guide to advanced Go programming, expanded to cover machine learning, more Go packages and a range of modern development techniques Completes the Go developer’s education with real-world guides to building high-performance production systems Packed with practical examples and patterns to apply to your own development work Clearly explains Go nuances and features to remove the frustration from Go development Book Description Often referred to (incorrectly) as Golang, Go is the high-performance systems language of the future. Mastering Go, Second Edition helps you become a productive expert Go programmer, building and improving on the groundbreaking first edition. Mastering Go, Second Edition shows how to put Go to work on real production systems. For programmers who already know the Go language basics, this book provides examples, patterns, and clear explanations to help you deeply understand Go’s capabilities and apply them in your programming work. The book covers the nuances of Go, with in-depth guides on types and structures, packages, concurrency, network programming, compiler design, optimization, and more. Each chapter ends with exercises and resources to fully embed your new knowledge. This second edition includes a completely new chapter on machine learning in Go, guiding you from the foundation statistics techniques through simple regression and clustering to classification, neural networks, and anomaly detection. Other chapters are expanded to cover using Go with Docker and Kubernetes, Git, WebAssembly, JSON, and more. If you take the Go programming language seriously, the second edition of this book is an essential guide on expert techniques. What you will learn Clear guidance on using Go for production systems Detailed explanations of how Go internals work, the design choices behind the language, and how to optimize your Go code A full guide to all Go data types, composite types, and data structures Master packages, reflection, and interfaces for effective Go programming Build high-performance systems networking code, including server and client-side applications Interface with other systems using WebAssembly, JSON, and gRPC Write reliable, high-performance concurrent code Build machine learning systems in Go, from simple statistical regression to complex neural networks Who this book is for Mastering Go, Second Edition is for Go programmers who already know the language basics, and want to become expert Go practitioners.

Mastering Ceph

Mastering Ceph PDF Author: Nick Fisk
Publisher: Packt Publishing Ltd
ISBN: 1789615100
Category : Computers
Languages : en
Pages : 356

Book Description
Ceph has enjoyed rapid adoption both from developers and end users alike, with several well-known corporations being involved in the project. With every new release the scale of its performance and feature set continue to grow, further enhancing Ceph’s status. In this book we will cover a wide variety of topics from installing and managing a ...

Mastering Git

Mastering Git PDF Author: Sufyan bin Uzayr
Publisher: CRC Press
ISBN: 1000552896
Category : Computers
Languages : en
Pages : 254

Book Description
Mastering Git: A Beginner’s Guide introduces developers of all ages to the wonderful and useful world of Git. As far as software development is considered, the advent of Git has truly proven to be a milestone. If you are a software developer, you have probably already heard of Git. Its importance and functionality in the world of coding merits very high praise for a variety of reasons. Computers now have become very amenable machines. You can remove a significant section of the text from your work accidentally, but there is no need to panic. Simply use the Undo option and you’re good. This, however, was not the case in the early days of development. Back then, developers did not have access to any such technology, and it was only one person who used to own the master copy of a work. This person would divide the code into specific parts, which would subsequently be divided between developers, who would work on their part and make their completed submissions independent of each other. This was followed by a standard check, after which the old version was completely replaced by the new version. This was a very tedious process—unless someone had beenvery proactive with making copies of the code, the previous versions of a file were often effectively lost. Thankfully, a significant breakthrough came in 1972 when developer Marc Rochkind invented the Source Code Control System (SCCS), which was the very first form of Version Control System (VCS). It was limited in terms of its functionality, and could allow only one person to work on it at a time, while concurrent management had to be handled using locks. But we have come a long way since then. Today, Git is the single most-used VCS out there. Its influence on coding and development, in particular, the innovative use of "branches" in order to facilitate collaboration for projects, cannot be over-emphasized. Version Control has become an indispensable part of our lives, and being familiar with the functioning of Git is something employers deem highly important. Mastering Git will prove to be of tremendous help to developers of all spheres in learning Git and Version Control. This book offers information on a wide array of subjects pertaining to Git, and even briefly touches upon its history, advantages, and disadvantages. Mastering Git also offers tips on installation and different elements involved in its functioning, such as Repositories, Remotes, Aliases, Tagging, and Branches. Popular services and hosts for such Git projects as GitHub, GitLab, and Bitbucket are also discussed in detail. This book will prove to be a handy guide for both newbie learners and trained professionals. Learn more about our other Mastering titles at: https://www.routledge.com/Mastering-Computer-Science/book-series/MCS

Mastering Kubernetes

Mastering Kubernetes PDF Author: Gigi Sayfan
Publisher: Packt Publishing Ltd
ISBN: 1839213086
Category : Computers
Languages : en
Pages : 642

Book Description
Go beyond simply learning Kubernetes fundamentals and its deployment, and explore more advanced concepts, including serverless computing and service meshes with the latest updates Key Features Master Kubernetes architecture and design to build and deploy secure distributed applications Learn advanced concepts like autoscaling, cluster federation, serverless computing, and service mesh integration for observability Explore Kubernetes 1.18 features and its rich ecosystem of tools like Kubectl, Knative, and Helm Book Description The third edition of Mastering Kubernetes is updated with the latest tools and code enabling you to learn Kubernetes 1.18’s latest features. This book primarily concentrates on diving deeply into complex concepts and Kubernetes best practices to help you master the skills of designing and deploying large clusters on various cloud platforms. The book trains you to run complex stateful microservices on Kubernetes including advanced features such as horizontal pod autoscaling, rolling updates, resource quotas, and persistent storage backend. With the two new chapters, you will gain expertise in serverless computing and utilizing service meshes. As you proceed through the chapters, you will explore different options for network configuration and learn to set up, operate, and troubleshoot Kubernetes networking plugins through real-world use cases. Furthermore, you will understand the mechanisms of custom resource development and its utilization in automation and maintenance workflows. By the end of this Kubernetes book, you will graduate from an intermediate to advanced Kubernetes professional. What you will learn Master the fundamentals of Kubernetes architecture and design Build and run stateful applications and complex microservices on Kubernetes Use tools like Kubectl, secrets, and Helm to manage resources and storage Master Kubernetes Networking with load balancing options like Ingress Achieve high-availability Kubernetes clusters Improve Kubernetes observability with tools like Prometheus, Grafana, and Jaeger Extend Kubernetes working with Kubernetes API, plugins, and webhooks Who this book is for If you are a system administrator or a cloud developer with working knowledge of Kubernetes and are keen to master its advanced features, along with learning everything from building microservices to utilizing service meshes, Mastering Kubernetes is for you. Basic familiarity with networking concepts will be helpful.

Mastering Git

Mastering Git PDF Author: Jakub Narebski
Publisher: Packt Publishing Ltd
ISBN: 1783553766
Category : Computers
Languages : en
Pages : 418

Book Description
Attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features About This Book Set up Git for solo and collaborative development Harness the full power of Git version control system to customize Git behavior, manipulate history, integrate external tools and explore platform shortcuts A detailed guide, which explains how to apply advanced Git techniques and workflows and ways to handle submodules Who This Book Is For If you are a Git user with reasonable knowledge of Git and familiarity with basic concepts such as branching, merging, staging, and workflows, this is the book for you. Basic knowledge of installing Git and software configuration management concepts is essential. What You Will Learn Explore project history, find revisions using different criteria, and filter and format how history looks Manage your working directory and staging area for commits and interactively create new revisions and amend them Set up repositories and branches for collaboration Submit your own contributions and integrate contributions from other developers via merging or rebasing Customize Git behavior system-wide, on a per-user, per-repository, and per-file basis Take up the administration and set up of Git repositories, configure access, find and recover from repository errors, and perform repository maintenance Chose a workflow and configure and set up support for the chosen workflow In Detail Git is one of the most popular types of Source Code Management (SCM) and Distributed Version Control System (DVCS). Despite the powerful and versatile nature of the tool enveloping strong support for nonlinear development and the ability to handle large projects efficiently, it is a complex tool and often regarded as “user-unfriendly”. Getting to know the ideas and concepts behind the architecture of Git will help you make full use of its power and understand its behavior. Learning the best practices and recommended workflows should help you to avoid problems and ensure trouble-free development. The book scope is meticulously designed to help you gain deeper insights into Git's architecture, its underlying concepts, behavior, and best practices. Mastering Git starts with a quick implementation example of using Git for a collaborative development of a sample project to establish the foundation knowledge of Git operational tasks and concepts. Furthermore, as you progress through the book, the tutorials provide detailed descriptions of various areas of usage: from archaeology, through managing your own work, to working with other developers. This book also helps augment your understanding to examine and explore project history, create and manage your contributions, set up repositories and branches for collaboration in centralized and distributed version control, integrate work from other developers, customize and extend Git, and recover from repository errors. By exploring advanced Git practices, you will attain a deeper understanding of Git's behavior, allowing you to customize and extend existing recipes and write your own. Style and approach Step-by-step instructions and useful information make this book the ultimate guide to understanding and mastering Git. This book will show road to mastery example by example, while explaining mental model of Git. The Introduction section covers the 'Essentials' just for refreshing the basics. The main highlight is that the concepts are based on HOW the technology/framework works and not just practical 'WHAT to do'.