Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Title Page
Copyright
Continuous Integration, Delivery, and Deployment
Credits
About the Author
About the Reviewers
www.PacktPub.com
Why subscribe?
Customer Feedback
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
Continuous Integration, Delivery, and Deployment Foundations
Continuous Integration
Source control
CI server
Software quality
Unit tests
Integration tests
Big bang testing
Incremental testing
Acceptance tests
Smoke tests
Other quality gates
Automation
Teamwork
Continuous Delivery
Continuous Deployment
Summary
Setting Up a CI Environment
Installing a Virtual Machine
Installing Ubuntu
Installing Git
Installing GitLab
Configuring GitLab
Using Git
Installing Jenkins
Installing Jenkins on Ubuntu
Installing Jenkins on Windows
Configuring Jenkins
Installing PostgreSQL
Installing PostgreSQL on Ubuntu
Installing PostgreSQL on Windows
Installing pgAdmin
Installing SonarQube
Configuring PostgreSQL
Installing SonarQube on Ubuntu
Installing SonarQube on Windows
Trigger SonarQube from Jenkins
Summary
Version Control with Git
The basics
Centralized Source Control Management
Distributed Source Control Management
The working directory
The staging area
Committing and pushing
Reviewing commits
Pulling and stashing
Branching
Merging
Cherry picking
Rebasing
Reverting changes
The branching model
Tagging
Summary
Creating a Simple JavaScript App
The web shop specs
Installing Node.js and npm
Creating the project
Creating the Home page
Creating the Product page
Creating the Search page
Creating the Shopping cart page
Summary
Testing Your JavaScript
Unit testing with Jasmine
The Yeoman shortcut
Why Jasmine?
Testing the web shop
Running tests with Karma
Installation
Karma plugins
Browser launchers
Code coverage
JUnit reporter
Running Mocha and Chai with Karma
End-To-End testing with Selenium
Running Selenium tests with Protractor
Testing our website
Customizing reporters
Testing with Mocha
Headless browser testing
PhantomJS
Summary
Automation with Gulp
Gulp basics
The Gulp API
Gulp plugins
Minification
Cleaning your build
Checking file sizes
Linting with JSHint
Running your Karma tests
Getting our site production ready
Minifying HTML
Minifying CSS
Bundling JavaScript with Browserify
Karma and Browserify
Concatenating CSS
Replacing HTML references
Putting it all together
Summary
Automation with Jenkins
Installing Node.js and npm
Creating a Jenkins project
Executing Gulp in Jenkins
Publishing test results
JUnit report
Cobertura report
HTML report
Build triggers
Build periodically
Poll SCM
On commit
Setting up email notifications
Setting up SonarQube
Setting up email
HTML and CSS analysis
Including code coverage
Leak periods
Artifacts
Running on Windows with Jenkins Slaves
Running our tests
Triggering a project pipeline
Summary
A NodeJS and MongoDB Web App
Installing MongoDB
Installing MongoDB on Ubuntu
Installing MongoDB on Windows
Creating the Node.js Back-end
Express
EJS
The Login Page
Connecting with AJAX
Saving to MongoDB
Moving our Products to MongoDB
Putting the Shopping Cart in MongoDB
Moving the Shopping Cart Module
Gulp
Jenkins
PM2
Summary
A C# .NET Core and PostgreSQL Web App
Installing .NET Core and Visual Studio Code
Creating the views
Running tasks
Adding the database
Entity Framework Core
Selecting the data
Fixing the login
Adding to the cart
Testing the database
Installing pgTap
Testing our C# code
Reporting
Adding Selenium tests
Jenkins
Building the project
Testing the project
Testing the database
Summary
Additional Jenkins Plugins
Views
Cleanup workspaces
Conditional build steps
Pipelines
Promoted builds
Parameterized builds
Triggering builds remotely
Blue ocean
Security
Jenkins on HTTPS
HTTPS on Linux
HTTPS on Windows
Jenkins security
Role-based authorization strategy
Summary
Jenkins Pipelines
Groovy
Pipeline projects
Declarative pipeline syntax
Scripted pipeline syntax
Pipeline stages
The snippet generator
Building the web shop
The Jenkinsfile
Multibranch pipeline
Branch scripts
Completing the script
Node.js tests
SonarQube
Selenium tests
Archiving artifacts
Build failure
Summary
Testing a Web API
Building a REST service
Postman
Writing tests
Testing XML
Collections
Environments
Newman
Summary
Continuous Delivery
Branching
Manual deployment
Installing NGINX
Node.js web shop
PM2
MongoDB
Run
E2E testing
C# .NET Core web shop
Run
PostgreSQL
Summary
Continuous Deployment
JavaScript Deployment using SSH
E2E testing
C# .NET Core Deployment using SSH
E2E testing
Database
Summary
← Prev
Back
Next →
← Prev
Back
Next →