Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
Hands-On Continuous Integration and Delivery

You're reading from   Hands-On Continuous Integration and Delivery Build and release quality software at scale with Jenkins, Travis CI, and CircleCI

Arrow left icon
Product type Paperback
Published in Aug 2018
Publisher Packt
ISBN-13 9781789130485
Length 416 pages
Edition 1st Edition
Arrow right icon
Author (1):
Arrow left icon
 Belmont Belmont
Author Profile Icon Belmont
Belmont
Arrow right icon
View More author details
Toc

Table of Contents (23) Chapters Close

Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
1. CI/CD with Automated Testing FREE CHAPTER 2. Basics of Continuous Integration 3. Basics of Continuous Delivery 4. The Business Value of CI/CD 5. Installation and Basics of Jenkins 6. Writing Freestyle Scripts 7. Developing Plugins 8. Building Pipelines with Jenkins 9. Installation and Basics of Travis CI 10. Travis CI CLI Commands and Automation 11. Travis CI UI Logging and Debugging 12. Installation and Basics of CircleCI 13. CircleCI CLI Commands and Automation 14. CircleCI UI Logging and Debugging 15. Best Practices 1. Assessments 2. Other Books You May Enjoy Index

Index

A

  • acceptance criteria / Acceptance testing
  • acceptance testing
    • about / Acceptance testing
    • example / Acceptance test example
  • Amazon Key Management Service
    • reference / Best practices in password and secrets storage
  • Amazon Web Services (AWS)
    • about / Automated releases
    • CodeCommit / Cloud providers and tooling
    • CodeDeploy / Cloud providers and tooling
  • API call
    • versus REST call with Curl / API V3 REST call with curl
  • API commands
    • about / API commands
    • for logging into Travis CI / Logging in to Travis CI
    • current access token, displaying / Displaying the current access token
    • for logging out of Travis CI / Logging out of Travis CI
    • accounts information, displaying / Displaying accounts information
    • help information, displaying for Travis commands / Displaying help information for Travis commands
    • interactive console session / Interactive console session
    • API endpoint information, printing / Printing API endpoint Information
    • live monitoring, conducting with all CI builds / Conducting live monitoring with all the CI builds that are currently running
    • Travis CI API call, initiating / Initiating a Travis CI API call 
    • important system configuration information, printing / Printing out important system configuration information
    • repositories, listing for user access / Listing all the repositories that the currently logged in user has access to
    • synchronization, initiating with Travis CI for repositories in GitHub / Initiating synchronization with Travis CI for any new or outdated repositories in GitHub
    • lint command / lint - a Travis YML script
    • current build information, obtaining / Obtaining current build information for the organization or user
    • currently logged-in user information, obtaining / Finding the currently logged-in user information
  • API Explorer
    • reference / Initiating a Travis CI API call 
  • Application Programming Interface (API) / Developer productivity
  • AWS CodeDeploy
    • reference / Deployment script example

B

  • Bitbucket
    • reference / Comparing Travis CI and Jenkins
    • CircleCI, setting up / Setting up CircleCI in Bitbucket
    • Java project, setting up with CircleCI build / Setting up a new Java project in Bitbucket with CircleCI build
  • Blue Ocean Jenkins view
    • accessing / Accessing Blue Ocean Jenkins view
  • Blue Ocean plugin
    • installing, on Jenkins 2.0 / Installing the Blue Ocean plugin on an existing instance
    • installing, through Jenkins Docker Image / Installing the Blue Ocean plugin through a Jenkins Docker Image 
    • Docker prerequisites / Docker prerequisites
    • Docker images, installing / Installing Docker images
  • BrowserStack / Introducing automation
  • build life cycle, Travis CI
    • about / Build customization
    • install / The build life cycle
    • script / The build life cycle
    • before_install step / before_install step
    • install step / install step
    • before_script step / before_script step
    • script step / script step
    • after_script step / after_script step
    • list / List of build life cycle
  • Build Triggers tab / Build Triggers
  • business scenario
    • about / Business scenario
    • manual processes / Manual processes – a hypothetical scenario
    • employee frustration / Employee frustration
    • automation / Introducing automation
    • developer productivity / Developer productivity
    • communication barriers, breaking down / Breaking down communication barriers
    • environment of collaboration, creating / Creating an environment of collaboration

C

  • chief executive officer (CEO) / Executive leadership team
  • chief information officer (CIO) / Executive leadership team
  • chief operating officer (COO) / Executive leadership team
  • chief technical officer (CTO) / Executive leadership team
  • Chocolatey Package Manager
    • used, for installing Jenkins on Windows / Installing Jenkins with the Chocolatey Package Manager
  • CI/CD
    • significance, demonstrating / Demonstrating why CI/CD is important
    • metrics / Metrics and reporting
    • reporting / Metrics and reporting
    • leadership, educating on automation / Educating leadership on automation
    • approval, obtaining from stakeholders / Getting approval for CI/CD from your stakeholders, Starting a skunkworks project, Company presentation, Lunch and learn
    • starting, on local machine / Starting CI/CD on your local machine
  • CI/CD testing types
    • best practices / Best practices for different types of testing in CI/CD
    • smoke testing / Smoke testing
    • unit testing / Unit testing
    • integration testing / Integration testing
    • system testing / System testing
    • acceptance testing / Acceptance testing
    • tests executing, in CI/CD pipeline / Best practices for running different tests in a CI/CD pipeline
  • CircleCI
    • about / CircleCI
    • versus Jenkins / Comparing CircleCI and Jenkins
    • prerequisites / CircleCI prerequisites
    • GitHub account, creating / Creating a GitHub account
    • Bitbucket account, creating / Creating a Bitbucket account
    • setting up , in GitHub / Setting up CircleCI in GitHub
    • setting up, in GitHub / Setting up CircleCI in GitHub
    • setting up, in Bitbucket / Setting up CircleCI in Bitbucket
    • source files, adding to repository / Adding source files to the new repository
    • workflows, using / Using Workflows in CircleCI
    • build, debugging / Debugging slow builds in CircleCI
  • circleci-jobs-example
    • reference / Run steps in job with a default build job
  • CircleCI account
    • creating / Creating a CircleCI account
  • CircleCI API
    • reference / Working with the CircleCI API
    • working with / Working with the CircleCI API
    • connection, testing / Test CircleCI API connection
    • used, for building Git repo summary / Using the CircleCI API to get build summary for a single Git repo
    • jq utility, used for computing metrics / Using the jq utility to compute some metrics of our CircleCI builds
    • project, adding / Adding a project to CircleCI via the API
    • used, for finding build URL / Using the CircleCI API to find the most recent build URL
  • CircleCI build
    • used, for setting up Java project in Bitbucket / Setting up a new Java project in Bitbucket with CircleCI build
  • CircleCI build job
    • for repository / CircleCI build job for the new repository
  • CircleCI CLI
    • installation / CircleCI CLI installation
    • installing, on macOS / Installing CircleCI CLI on macOS/Linux
    • installing, on Linux / Installing CircleCI CLI on macOS/Linux
    • nightly build versions, installing through GitHub releases / Installing nightly build versions of CircleCI through GitHub releases
    • commands / CircleCI CLI commands
    • version command / Version command
    • help command / Help command
    • config command / Config command
    • build command / Build command
    • step command / step command
    • configure command / configure command
    • API token, setting up / Setting an API token with CircleCI
    • API endpoint, setting in interactive mode / Setting the API token and API endpoint in interactive mode
    • tests command / Tests command
  • CircleCI configuration
    • overview / CircleCI configuration overview
    • concept overview / Concept overview of CircleCI configuration
  • CircleCI Web UI job log analysis / CircleCI Web UI job log analysis
  • cloud providers
    • Amazon Web Services (AWS) / Cloud providers and tooling
    • Microsoft Azure / Cloud providers and tooling
    • Google App Engine / Cloud providers and tooling
  • code coverage tools
    • about / Code coverage tools
    • istanbul / Code coverage tools
    • goveralls / Code coverage tools
    • dotCover / Code coverage tools
  • comma-separated value (CSV) / Breaking down communication barriers
  • Command Line Interface (CLI) / Breaking down communication barriers
  • common release anti-patterns
    • about / Common release anti-patterns
    • software, deploying / Deploying software manually
    • manual configuration management / Manual configuration management
    • production environment, differing from other environments / How a production environment differs from other environments
  • communication, issues
    • about / Problems with communication
    • miscommunication, requisites / Miscommunication of requirements
    • lack of proper documentation / Lack of proper documentation
    • timezone differences / Timezone differences
    • lack of trust / Lack of trust and mutual respect
    • mutual respect / Lack of trust and mutual respect
    • cultural differences / Cultural differences and language barriers
    • language barriers / Cultural differences and language barriers
    • long feedback loop cycles / Long feedback loop cycles
  • configuration management
    • about / Configuration management, What does configuration management mean anyway?
    • version control / Version control
    • dependency management / Dependency management
    • environment management / Environment management
  • configuration management, version control
    • example properties files / Example properties file
    • management tools / Version control management tools
    • practices / Version control practices
    • software check-ins, conducting / Conducting software check-ins often
    • descriptive commit messages, writing / Writing descriptive and meaningful commit messages
  • configuration management automation / Configuration management automation
  • config YML script
    • workflows section, adding / Adding a workflows section to the config YML script
    • techniques, troubleshooting / Logging and troubleshooting techniques
    • techniques, logging / Logging and troubleshooting techniques
    • used, for executing build to troubleshoot / Running a build using a local config YML script to troubleshoot
  • Console Output / Console Output
  • continuous delivery (CD) / Technical requirements
  • continuous integration (CI)
    • about / What is CI?, CircleCI, Technical requirements
    • software build / What is a software build anyway?
    • process steps, in nutshell / CI process steps in a nutshell
    • value / The value of CI
    • risks, mitigating / Mitigating risks by utilizing CI
    • software build, working / But it works on my machine!
    • database synchronization / Database synchronization
    • deployment automation phase / A missing deployment automation phase
    • software defects / Late discovery of defects
    • test coverage / Test coverage not known
    • project visibility / Lack of project visibility
    • software builds, triggering at source code check-in / Software builds at source code check-in
    • large build breakdown / Small build and large build breakdown
    • small build breakdown / Small build and large build breakdown
    • build practices / CI build practices
  • continuous integration (CI), build practices
    • private build / Private build
    • server, usage / Usage of CI server
    • integration builds / Manual integration builds
    • fast builds, executing / Running fast builds
  • convenience Bash functions
    • travis_run_before_install / Travis debug mode convenience Bash functions
    • travis_run_install / Travis debug mode convenience Bash functions
    • travis_run_before_script / Travis debug mode convenience Bash functions
    • travis_run_script / Travis debug mode convenience Bash functions
    • travis_run_after_success / Travis debug mode convenience Bash functions
    • travis_run_after_failure / Travis debug mode convenience Bash functions
    • travis_run_after_script / Travis debug mode convenience Bash functions
  • curl
    • used, as REST client / Using curl as a REST client
  • customer success team / Manual processes – a hypothetical scenario
  • cypress
    • reference / Smoke test example
  • Cypress
    • reference / Smoke test example
  • cypress.io
    • reference / Sequential workflows example

D

  • debug mode
    • build, executing / Running build in debug mode
    • API token, obtaining from profile page / Getting an API token from the profile page
    • access token, obtaining with Travis CLI / Getting  access to a token using Travis CLI
    • job ID, obtaining from build log / Obtaining a job ID from the build log
    • job ID, obtaining from URL in View config button / Obtaining the job ID from the URL in the View config button 
    • job ID, obtaining via an API call to /builds endpoint / Obtaining the job ID via an API call to the /builds endpoint
    • build job, starting with API call / API call to start a build job in debug mode
    • SSH session, fetching / Fetching an SSH session for the debug mode
    • convenience Bash functions / Travis debug mode convenience Bash functions
  • dependency management
    • about / Dependency management
    • Gopkg.toml dependency file, example / Example Node.js dependency file and Gopkg.toml dependency file
    • Node.js dependency file, example / Example Node.js dependency file and Gopkg.toml dependency file
    • software components, managing / Managing software components
  • deployment
    • best practices / Best practices in deployment
    • checklist, creating / Creating a deployment checklist
    • developers and operations, collaboration / Collaboration among developers and operations
    • automation, releasing / Releasing automation
    • script example / Deployment script example
    • automated GitHub release example / Automated GitHub release example
    • script, best practices / Best practices for a deployment script
  • deployment automation / Deployment automation to the rescue
  • deployment ecosystem
    • about / Deployment ecosystem
    • infrastructure tooling / Infrastructure tooling
    • cloud providers / Cloud providers and tooling
    • tooling / Cloud providers and tooling
  • deployment pipeline
    • about / Deployment pipeline, What is a deployment pipeline?
    • practices / Deployment pipeline practices
    • binaries, building / Building binaries once
    • deploying / Deployment should be done the same way in every environment
    • commit stage / Commit stage – first step of the deployment pipeline
    • test gates / Test gates
    • release preparation / Release preparation
  • deployment scripting
    • about / Deployment scripting
    • build tools, overview / Overview of build tools
    • concepts / Deployment scripting concepts
    • best practices / Deployment scripting best practices
  • deployment scripting, best practices
    • foundations, testing / Testing only known good foundations
    • environment configuration, testing / Testing the environment configuration
    • relative paths, using / Using relative paths
    • manual processes, removing / Removing manual processes
  • deployment scripting, concepts
    • script, writing for stage in deployment pipeline / Writing a script for each stage in the deployment pipeline
    • scripts, using / Every environment should use the same scripts
    • deployment process change, avoiding / The deployment process should not change on each run
  • Docker
    • in Travis CI / Docker in Travis CI
    • build, debugging locally / Debugging build locally with Docker
    • reference / Debugging build locally with Docker, CircleCI CLI installation
  • Domain Specific Language (DSL) / Jenkins 2.0
  • dotCover
    • reference / Code coverage tools

E

  • end user / End users
  • EnvInject Plugin
    • using / EnvInject Plugin
  • environment management
    • about / Environment management
    • manual environment setup / Manual environment setup
    • configuration information / Important configuration information for environments
    • containerized environment / Containerized environments
  • environment variable
    • adding, in Jenkins / Adding environment variables
    • EnvInject Plugin, using / EnvInject Plugin
    • reference / Adding environment variables in Travis CI
    • safe usage, best practices / Best practices for environment variable safe usage
  • executive leadership teams / Executive leadership team

F

  • File Transmission Protocol (FTP) / Deploying software manually
  • freestyle job
    • configuring / Configuring a freestyle job
    • General tab / General
    • Source Code Management tab / Source Code Management
    • Build Triggers tab / Build Triggers
    • Build environment / Build environment
    • Build / Build
    • Post-build actions / Post-build actions
    • used, for debugging issues / Debugging issues with a freestyle job, Debugging issues with freestyle script
    • Project View, building / Build Project View
  • functional summer
    • reference / Adding a simple Travis CI YAML configuration script

G

  • general API commands
    • about / Travis CLI commands
    • reference / Travis CLI commands
  • General tab / General
  • Gherkin
    • reference / Acceptance testing
  • GitHub
    • reference / Comparing Travis CI and Jenkins, Travis CI prerequisites
    • CircleCI, setting up / Setting up CircleCI in GitHub
  • GitHub account
    • creating / Creating a GitHub account
    • SSH Key, adding / Adding an SSH Key to your new GitHub Account
  • Global environment variable
    • configuring / Global environment variable configuration
  • Golang Project / Configuring a job to poll the GitHub version control repository
  • Golang script example / Golang script example
  • GoReleaser
    • reference / Best practices for a deployment script
    • reference link / Best practices for a deployment script
  • goveralls
    • reference / Code coverage tools

H

  • Heroku
    • setting up, in Travis CI / Heroku setup in Travis CI
    • reference / Heroku setup in Travis CI, Run steps in job with workflows, Deployment script example
  • Homebrew
    • used, for installing, Jenkins on macOS / Installing Jenkins via Homebrew

I

  • idempotent / The deployment process should not change on each run
  • Identification (ID) / Manual configuration management
  • infrastructure, Travis CI script
    • selecting / Selecting infrastructure
    • virtual image with Ubuntu Precise (12.04) infrastructure, using / Virtual image with Ubuntu Precise (12.04) infrastructure
    • default infrastructure / Default infrastructure
    • virtual Image with Ubuntu Trusty (14.04) infrastructure, using / Virtual Image with Ubuntu Trusty (14.04) infrastructure
    • container based infrastructure / Container based infrastructure
    • Mac OS X infrastructure / macOS infrastructure
  • Integrated Development Environment (IDE) / Separating build scripts from your IDE
  • integration testing
    • about / Integration testing
    • example / Integration test example
    • API testing, example supertest Node.js library used / API testing example using the supertest Node.js library
    • API testing, example with baloo Golang library / API testing example with the baloo Golang library
    • API testing, example with curl / API testing example with curl, bash, and jq
    • API testing, example with bash / API testing example with curl, bash, and jq
    • API testing, example with JQ / API testing example with curl, bash, and jq
  • istanbul
    • reference / Code coverage tools

J

  • Java
    • reference, for installation / Java installation
  • Java project
    • setting up, in Bitbucket with CircleCI build / Setting up a new Java project in Bitbucket with CircleCI build
  • Jenkins
    • installing, on Windows / Windows installation
    • installing, in Windows / Installing Jenkins in Windows
    • installing, on Windows with Chocolatey Package Manager / Installing Jenkins with the Chocolatey Package Manager
    • starting, in Windows in Command Prompt / Starting and stopping Jenkins in Windows in Command Prompt
    • stopping, in Windows in Command Prompt / Starting and stopping Jenkins in Windows in Command Prompt
    • installing, in Linux / Linux installation
    • installing, on Ubuntu / Installing Jenkins on Ubuntu
    • installing, on macOS / macOS installation
    • installing, on macOS via Homebrew / Installing Jenkins via Homebrew
    • executing / Running Jenkins locally
    • item, creating / Creating a new item
    • Console Output / Console Output
    • managing / Managing Jenkins
    • environment variables, configuring / Configuring environment variables and tools
    • environment tools, configuring / Configuring environment variables and tools
    • job, configuring to pull GitHub version control repository / Configuring a job to poll the GitHub version control repository
    • used, for creating simple freestyle script / Creating a simple freestyle script
    • environment variables, adding / Adding environment variables
    • and Travis CI, comparing / Comparing Travis CI and Jenkins
    • versus CircleCI / Comparing CircleCI and Jenkins
  • Jenkins 2.0
    • about / Jenkins 2.0
    • need for / Why move to Jenkins 2.0?
    • Blue Ocean plugin, installing / Installing the Blue Ocean plugin on an existing instance
  • Jenkins Blue Ocean
    • navigating / Navigating in Jenkins Blue Ocean
    • pipelines view / Pipelines view, Other views in Jenkins pipelines
    • pipeline detail view / Pipeline detail view
    • pipeline build view / Pipeline build view
    • pipeline stage view / Pipeline stage view
  • Jenkins dashboard / Jenkins dashboard
  • Jenkins dashboard navigation
    • about / Jenkins dashboard navigation
    • login screen / Jenkins login screen
  • Jenkins Docker Image
    • Blue Ocean plugin through, installing / Installing the Blue Ocean plugin through a Jenkins Docker Image 
  • Jenkinsfile
    • about / Jenkinsfile
    • pipeline keyword / Pipeline keyword
    • agent keyword / Agent keyword
    • stages keyword / Stages keyword
  • Jenkins installation, on macOS
    • downloads package / Jenkins downloads package
    • Jenkins, unlocking for first login / Unlocking Jenkins for the first login
  • Jenkins installation, on Ubuntu
    • network traffic firewalls, opening / Opening network traffic firewalls
    • Jenkins, unlocking for first login / Unlocking Jenkins for the first login
  • Jenkins installation, on Windows
    • prerequisites / Prerequisites to installing Jenkins
    • Windows version, searching / Finding your version of Windows
    • Java, installing / Installing Java
    • Windows installer / Windows installer
  • Jenkins Installer
    • executing, in windows / Running the Jenkins Installer in Windows
  • Jenkins pipeline
    • about / The Jenkins pipeline
    • creating / Creating a Jenkins pipeline
    • personal access token, providing for GitHub / Providing a personal access token for GitHub
    • GitHub organization, selecting / Picking your GitHub organization
    • GitHub repository, selecting / Picking the GitHub repository
    • creating, with pipeline editor / Creating a pipeline with the pipeline editor
  • Jenkins plugin
    • about / Jenkins plugins explained
    • usage / Why are plugins useful?
    • documentation / Jenkins plugin documentation
    • installing / Installing plugins in Jenkins, Installing a Jenkins plugin
    • building / Building a simple Jenkins plugin, Building a Jenkins plugin
    • Java, installing / Java installation
    • Maven, installing / Maven installation instructions
    • development / Jenkins plugin development
    • Maven, settings file / Maven settings file
    • HelloWorld command / HelloWorld Jenkins plugin
    • folder layout explanation / Folder layout explanation
    • source code explanation / Jenkins plugin source code explanation
    • ecosystem / Jenkins plugin ecosystem
    • list / List of available plugins
  • Jenkins service
    • starting, in Ubuntu / Starting the Jenkins service in Ubuntu
  • job log
    • overview / Job log overview
    • executing, with build job / Run steps in job with a default build job
    • workflows / Run steps in job with workflows
  • jq
    • reference / Using the CircleCI API to get build summary for a single Git repo, Using the jq utility to compute some metrics of our CircleCI builds
  • jq command line
    • reference / Obtaining the job ID via an API call to the /builds endpoint

L

  • Linux
    • Jenkins, installing / Linux installation
    • Travis CLI, installation / Linux installation

M

  • macOS
    • Jenkins, installing / macOS installation
    • Travis CLI, installation / macOS installation
  • Maven
    • installing / Maven installation instructions
    • reference, for installing / Maven installation instructions
    • installing, on Windows / Windows installation
    • installing, through Chocolatey package manager / Maven installation through the Chocolatey package manager
    • installing, through source code / Maven installation through the Maven source code
    • environment variables, setting up for Windows operating system / Environment variables setup for the Windows operating system
    • installing, on macOS X / macOS installation
    • installing, through Homebrew package manager / Maven installation through the Homebrew package manager
    • installing, on Unix / Unix installation
    • installing, through apt-get package manager / Maven installation through the apt-get package manager
  • Maven binary
    • reference, for downloading / Maven installation through the Chocolatey package manager
  • minification / What is a software build anyway?
  • multiple-languages repository
    • reference / Example Travis CI YML script with multiple languages

N

  • node version manager (nvm) / Debugging build locally with Docker
  • Non-API commands
    • about / Travis CLI commands, Non-API commands
    • reference / Travis CLI commands
    • help information, printing / Printing help information
    • version information, printing / Printing version information
  • npm package manager / Travis CI YML script contents

O

  • Open System Interconnection (OSI) / Rotating team members

P

  • pain points
    • communicating, to team members / Communicating pain points to team members, Waiting for requirements information, Undocumented steps in a deployment pipeline, Keys to the kingdom to select few, Too many communication channels, Pain-Driven Development (PDD)
  • parse build_url attribute
    • from JSON response / Parse build_url attribute from the JSON response
  • password
    • best practices / Best practices in password and secrets storage
    • Vault, installing / Vault installation
  • Pipeline
    • Syntax / Pipeline Syntax
  • Pipeline Editor
    • used, for creating Jenkins pipeline / Creating a pipeline with the pipeline editor
    • about / Pipeline Editor
    • Jenkinsfile / Jenkinsfile
  • Pipeline Syntax documentation / Pipeline Syntax documentation
  • Post-build actions / Post-build actions
  • PostgreSQL
    • reference / before_script step
  • project managers / Project managers
  • Project Object Model (POM) / Folder layout explanation
  • providers, Travis CI
    • about / Supported Providers in Travis CI
    • reference / Supported Providers in Travis CI
  • public Travis endpoint
    • reference / API call to start a build job in debug mode
  • Puppeteer
    • reference / GUI and headless browsers in Travis CI

Q

  • quality assurance (QA) / What do we mean by delivering software?

R

  • release preparation, deployment pipeline
    • release processes, automating / Automating release processes
    • rollbacks, conducting / Conducting rollbacks
  • repository commands
    • reference / Travis CLI commands
    • about / Travis CLI commands, Repository commands
    • branches command / Displaying the most recent build information for each branch in Git version control
    • cache information, listing for all repositories / Listing cache information for all the repositories
    • cache information, deleting for given repository / Deleting cache information for a given repository
    • repository, enabling in Travis CI / Enabling a repository in Travis CI
    • repository, disabling / Disabling a repository in Travis CI
    • latest build, cancelling / Cancelling the latest build in Travis CI
    • environment variable, encrypting / Encrypting environment variables or deployment keys
    • deployment keys, encrypting / Encrypting environment variables or deployment keys
    • environment variable, adding in Travis CI / Adding environment variables in Travis CI
    • file, encrypting / Encrypting a file
    • environment information, listing / Listing environment information
    • environment variable, setting / Setting an environment variable
    • environment variable, deleting / Deleting an environment variable
    • environment variable, clearing out / Clearing out all environment variables
    • history information, listing for recent builds / List history information for recent builds
    • Travis CLI, initializing on project / Initializing Travis CLI on a project
    • CI build log information, printing out / Printing out CI build log information
    • Travis web interface, opening for project / Opening the Travis web interface for the project
    • public key information, printing out for repository / Printing out public key information for the repository
    • CI build, restarting / Restarting the latest CI build in Travis CI
    • current build requests, printing out / Printing out current build requests in Travis CI
    • particular repository settings, printing out / Printing out particular repository settings
    • Travis CI add-ons, configuring / Configuring Travis CI add-ons
    • general information, displaying for current CI build / Displaying general information for the current CI build
    • SSH key, listing / Listing SSH key in Travis CI
    • status information, displaying for current build / Displaying status information for the current build
  • responsibilities
    • sharing, among teams / Sharing responsibilities among different teams, Rotating team members, Asking for feedback on development practices, Creating cross-functional teams
  • REST call, with Curl
    • versus API call / API V3 REST call with curl
  • Ruby
    • reference / Travis CLI installation
  • RubyInstaller
    • reference / Windows installation
  • Ruby Library
    • reference / Travis CLI commands
  • Rust / Starting a skunkworks project

S

  • secrets storage
    • best practices / Best practices in password and secrets storage
    • management / Overall best practices for secrets management
  • Selenium WebDriver / Introducing automation
  • SendGrid service / Introducing automation
  • simple freestyle script
    • creating, with Jenkins / Creating a simple freestyle script
    • Jenkins dashboard navigation / Jenkins dashboard navigation
    • build job item, adding / Adding a new build job item
    • configuration options, building / Build configuration options
  • single sign-on (SSO) / Version control
  • Sketch / Introducing automation
  • smoke testing
    • about / Smoke testing
    • example / Smoke test example
  • software build
    • triggering, at source code check-in / Software builds at source code check-in
    • software build / What is a software build again?
    • scripting tool / Scripting tool
    • single command builds, performing / Performing single command builds
    • software, building in nutshell / Building your software in a nutshell
    • build scripts, separating from IDE / Separating build scripts from your IDE
    • software assets, centralizing / Software assets should be centralized
    • consistent directory structure, creating / Creating a consistent directory structure
    • failing / Software builds should fail fast
    • building, for environment / Building for any environment
  • software configuration management
    • about / Software configuration management
    • configurability concepts / Configurability and flexibility concepts
    • flexibility concepts / Configurability and flexibility concepts
    • types / Specific types of configuration
    • across applications / Configuration management across applications
  • software configuration management, types
    • build time / Specific types of configuration
    • package time / Specific types of configuration
    • deployment time / Specific types of configuration
    • startup time / Specific types of configuration
    • runtime / Specific types of configuration
  • software delivering
    • issues / Problems delivering software
    • about / What do we mean by delivering software?
    • common release anti-patterns / Common release anti-patterns
    • releases / How to conduct a software release
    • frequent releases / Frequent releases
    • automated releases / Automated releases
  • software delivering, automation benefits
    • about / The benefits of automation in delivering software
    • team empowerment / Team empowerment
    • error reduction / Error reduction
    • stress reduction / Stress reduction
  • Software Development Kit (SDK) / Breaking down communication barriers, Windows installation
  • Source Code Management tab / Source Code Management
  • SSH Key
    • adding, to GitHub account / Adding an SSH Key to your new GitHub Account
  • sshkey command
    • reference / Listing SSH key in Travis CI
  • staging environment / The production environment should be the same as the staging environment
  • stakeholders
    • knowing / Knowing your stakeholders
  • system testing
    • about / System testing
    • example / System test example
    • usability testing / System test example
    • load testing / System test example
    • regression testing / System test example

T

  • test gates, deployment pipeline
    • acceptance tests build stage / Acceptance tests build stage
    • manual testing / Manual testing
    • nonfunctional testing / Nonfunctional testing
  • tmate
    • reference / tmate shell session actions
  • tmux
    • reference / tmate shell session actions
  • Travis add-ons
    • reference / Configuring Travis CI add-ons
  • Travis API
    • reference / Travis CLI commands, Printing API endpoint Information
  • Travis CI
    • about / Travis CI introduction
    • and Jenkins, comparing / Comparing Travis CI and Jenkins
    • prerequisites / Travis CI prerequisites
    • GitHub account, creating / Creating a GitHub account
    • account, creating / Creating a Travis CI account
    • SSH Key, adding to GitHub account / Adding an SSH Key to your new GitHub Account
    • reference / Adding a Github repository into your Travis CI account, Select a programming language, Example Travis yml script with headless Chrome, Puppeteer, and the Jest Testing Library
    • job log / Travis CI job log
    • GUI / GUI and headless browsers in Travis CI
    • headless browsers / GUI and headless browsers in Travis CI
    • with headless Chrome, example / Example Travis yml script with headless Chrome, Puppeteer, and the Jest Testing Library
    • with headless Puppeteer, example / Example Travis yml script with headless Chrome, Puppeteer, and the Jest Testing Library
    • with headless Jest Testing Library, example / Example Travis yml script with headless Chrome, Puppeteer, and the Jest Testing Library
    • Web UI, logging / Travis Web UI logging
    • environment-specific variables, protecting / Steps that Travis CI takes to protect your environment-specific variables
    • deployment, overview / Travis CI deployment overview and debugging
    • debugging / Travis CI deployment overview and debugging
    • supported providers / Supported Providers in Travis CI
    • Heroku, setting up / Heroku setup in Travis CI
    • debug failure / Debug failure in Travis YML script
  • Travis CI build stages
    • reference / Conducting live monitoring with all the CI builds that are currently running
  • Travis CI script
    • parts / Travis CI script breakdown
    • programming language, selecting / Select a programming language
    • infrastructure, selecting / Selecting infrastructure
    • build customization / Build customization
    • build failure / Build failure behavior
    • secondary programming language, installing / Installing a secondary programming language for a CI build
    • example / Example Travis CI YML script with multiple languages
    • Docker / Docker in Travis CI
    • with Dockerfile, example / Example Travis CI YML script with a Dockerfile
  • Travis CI web client
    • overview / Travis web client overview
    • main dashboard, overview / Main dashboard overview
    • job log, overview / Job log overview
  • Travis CI YAML configuration script
    • adding / Adding a simple Travis CI YAML configuration script
    • contents, copying / Travis CI YML script contents
    • Github repository, adding into Travis CI account / Adding a Github repository into your Travis CI account
  • Travis CLI
    • installation / Travis CLI installation
    • reference / Windows installation
    • installation, on Windows / Windows installation
    • installation, on Linux / Linux installation
    • installation, on macOS / macOS installation
  • Travis CLI commands
    • Non-API commands / Travis CLI commands
    • general API commands / Travis CLI commands
    • repository commands / Travis CLI commands
  • Travis Enterprise version
    • options / Travis CI options for Pro version and Enterprise version
    • reference / Travis CI options for Pro version and Enterprise version
    • information, displaying with option / Option to display information for Enterprise version
  • Travis Pro version
    • options / Travis CI options for Pro version and Enterprise version
    • reference / Travis CI options for Pro version and Enterprise version
    • information, displaying with option / Option to display the information for Pro version
  • Trusty / Example Travis yml script with headless Chrome, Puppeteer, and the Jest Testing Library

U

  • Ubuntu
    • Jenkins, installing / Installing Jenkins on Ubuntu
    • Jenkins service, starting / Starting the Jenkins service in Ubuntu
  • uglification / What is a software build anyway?
  • unit testing
    • about / Unit testing
    • example / Unit test example
  • user acceptance testing (UAT) / Breaking down communication barriers
  • user interface (UI) / Employee frustration

V

  • Vault
    • reference / Best practices in password and secrets storage
    • installing / Vault installation
    • dev server, initiating / Starting the dev server for Vault
    • server status, checking / Checking the status of the Vault server
    • API secret, setting / Setting  an API secret in Vault
    • RESTful API, using / Using the Vault RESTful API
    • RESTful API endpoint / Vault RESTful API endpoint GET /v1/sys/raw/logical
  • version control projects (vcp) / CI process steps in a nutshell
  • version control system (vcs) / Developer productivity

W

  • Windows
    • Jenkins, installing / Windows installation, Installing Jenkins in Windows
    • Jenkins Installer, executing / Running the Jenkins Installer in Windows
    • Travis CLI, installation / Windows installation
  • workflows
    • using, in CircleCI / Using Workflows in CircleCI
    • implementing, in CircleCI Web UI / Workflows in action in CircleCI Web UI
    • sequential example / Sequential workflows example
    • environment variables, adding to project / Adding environment variables to a project
    • updated section / Updated workflows section and config YML script
    • config YML script / Updated workflows section and config YML script
    • reference / Run steps in job with workflows

X

  • XVFB docs
    • reference / GUI and headless browsers in Travis CI
lock icon The rest of the chapter is locked
arrow left Previous Section
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at £13.99/month. Cancel anytime
Visually different images