Continuous Integration, Delivery, and Deployment

Sander Rossel

  • 出版商: Packt Publishing
  • 出版日期: 2017-10-31
  • 售價: $1,930
  • 貴賓價: 9.5$1,834
  • 語言: 英文
  • 頁數: 458
  • 裝訂: Paperback
  • ISBN: 1787286614
  • ISBN-13: 9781787286610
  • 相關分類: CI/CD
  • 海外代購書籍(需單獨結帳)

商品描述

Key Features

  • Incorporate popular development practices to prevent messy code
  • Automate your build, integration, release, and deployment processes with Jenkins, Git, and Gulp?and learn how continuous integration (CI) can save you time and money
  • Gain an end-to-end overview of Continuous Integration using different languages (JavaScript and C#) and tools (Gulp and Jenkins)

Book Description

The challenge faced by many teams while implementing Continuous Deployment is that it requires the use of many tools and processes that all work together. Learning and implementing all these tools (correctly) takes a lot of time and effort, leading people to wonder whether it's really worth it. This book sets up a project to show you the different steps, processes, and tools in Continuous Deployment and the actual problems they solve.

We start by introducing Continuous Integration (CI), deployment, and delivery as well as providing an overview of the tools used in CI. You'll then create a web app and see how Git can be used in a CI environment. Moving on, you'll explore unit testing using Jasmine and browser testing using Karma and Selenium for your app. You'll also find out how to automate tasks using Gulp and Jenkins. Next, you'll get acquainted with database integration for different platforms, such as MongoDB and PostgreSQL. Finally, you'll set up different Jenkins jobs to integrate with Node.js and C# projects, and Jenkins pipelines to make branching easier.

By the end of the book, you'll have implemented Continuous Delivery and deployment from scratch.

What you will learn

  • Get to know all the aspects of Continuous Integration, Deployment, and Delivery
  • Find out how Git can be used in a CI environment
  • Set up browser tests using Karma and Selenium and unit tests using Jasmine
  • Use Node.js, npm, and Gulp to automate tasks such as linting, testing, and minification
  • Explore different Jenkins jobs to integrate with Node.js and C# projects
  • Perform Continuous Delivery and Deployment using Jenkins
  • Test and deliver a web API

About the Author

Sander Rossel is a professional developer with working experience in .NET (VB and C#, WinForms, MVC, Web API, and Entity Framework), JavaScript, Git, Jenkins, Oracle, and SQL Server. He has an interest in various technologies including, but not limited to, functional programming, NoSQL, Continuous Integration (and more generally, software quality), and software design.

He has written two e-books so far: Object-Oriented Programming in C# Succinctly and SQL Server for C# Developers Succinctly, which you can download from Syncfusion for free.

He seeks to educate others through his articles on his CodeProject profile, and through his book writing.

Table of Contents

  1. Continuous Integration, Delivery and Deployment Foundations
  2. Setting Up a CI Environment
  3. Version Control with Git
  4. Creating A Simple JavaScript App
  5. Testing Your JavaScript
  6. Automation with Gulp
  7. Automation with Jenkins
  8. A NodeJS And MongoDB Web App
  9. A C# .NET Core And PostgreSQL Web App
  10. Additional Jenkins Plugins
  11. Jenkins Pipelines
  12. Testing A Web API
  13. Continuous Delivery
  14. Continuous Deployment

商品描述(中文翻譯)

主要特點



  • 採用流行的開發實踐,避免混亂的程式碼

  • 使用Jenkins、Git和Gulp自動化建置、整合、發布和部署流程,並學習連續整合(CI)如何節省時間和金錢

  • 使用不同語言(JavaScript和C#)和工具(Gulp和Jenkins)獲得連續整合的全面概述

書籍描述


許多團隊在實施連續部署時面臨的挑戰是需要使用許多工具和流程,這些工具和流程需要相互配合。學習和實施所有這些工具(正確地)需要很多時間和努力,這讓人們懷疑是否真的值得。本書通過建立一個項目來展示連續部署中的不同步驟、流程和工具以及它們解決的實際問題。


我們首先介紹連續整合(CI)、部署和交付,並概述CI中使用的工具。然後,您將創建一個Web應用程序,並了解Git在CI環境中的使用方式。接下來,您將探索使用Jasmine進行單元測試以及使用Karma和Selenium進行瀏覽器測試的方法。您還將了解如何使用Gulp和Jenkins自動化任務。接著,您將瞭解不同平台(如MongoDB和PostgreSQL)的數據庫集成。最後,您將設置不同的Jenkins作業,以與Node.js和C#項目進行集成,並使用Jenkins流程使分支更容易。


通過本書,您將從頭開始實施連續交付和部署。

您將學到什麼



  • 瞭解連續整合、部署和交付的各個方面

  • 瞭解Git在CI環境中的使用方式

  • 使用Karma和Selenium設置瀏覽器測試,並使用Jasmine進行單元測試

  • 使用Node.js、npm和Gulp自動化任務,如linting、測試和壓縮

  • 探索不同的Jenkins作業,以與Node.js和C#項目進行集成

  • 使用Jenkins進行連續交付和部署

  • 測試並交付Web API

關於作者


Sander Rossel是一位專業開發人員,具有.NET(VB和C#,WinForms,MVC,Web API和Entity Framework)、JavaScript、Git、Jenkins、Oracle和SQL Server的工作經驗。他對各種技術都有興趣,包括但不限於函數式編程、NoSQL、連續整合(以及更廣泛的軟體品質)和軟體設計。


他迄今為止已經撰寫了兩本電子書:《Object-Oriented Programming in C# Succinctly》和《SQL Server for C# Developers Succinctly》,您可以從Syncfusion免費下載。


他通過他在CodeProject個人資料上的文章和他的書籍撰寫來教育他人。

目錄



  1. 連續整合、交付和部署基礎

  2. 設置CI環境

  3. 使用Git進行版本控制

  4. 創建簡單的JavaScript應用程序

  5. 測試您的JavaScript

  6. 使用Gulp進行自動化

  7. 使用Jenkins進行自動化

  8. 一個NodeJS和MongoDB Web應用程序

  9. 一個C#.NET Core和PostgreSQL Web應用程序

  10. 其他Jenkins插件

  11. Jenkins流程

  12. 測試Web API

  13. 連續交付

  14. 連續部署