651-905-3729 Microsoft Silver Learning Partner EC Counsel Reseller compTIA Authorized Partner

DevOps Foundations for JavaScript with GIT, Jenkins, and NPM

3 Days

Description

In this DevOps Foundations training, attendees will learn What DevOps is, Version Control with Git, Continuous Integration with Jenkins, Using NPM as a build tool, specifically with React, Integrate Git with Jenkins, and how to Implement Continuous Code Quality with SonarQube.

Target Audience

  • Software Developers
  • Team Leads
  • Enterprise Architects
  • Solution Architects
  • Information Technology Architects

Skills Gained

  • Version Control using Git
  • Branching, Merging and Working with Remotes
  • Working with GitFlow Workflow
  • Explore NPM
  • Create a React Application with NPM
  • Create a Jenkins Job
  • Create a Pipeline

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a DevOps Foundations for JavaScript with GIT, Jenkins, and NPM class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date

Course Overview

  • Course Outline

  • DevOps Fundamentals
    • Why DevOps
    • What is DevOps?
    • Collaborative, Matrixed and Cross-Functional Teams
    • Key Components of Successful DevOps Teams
    • DevOps-ification
    • DevOps Vocabulary
    • DevOps Goals
    • Not DevOps - Crush Buzzwords
    • Driving Business Outcomes with DevOps
    • Technology-Enabled Business
    • DevOps Key Enabler for Digital Transformation
    • Core Values and Mission
    • Core Values - Culture
    • Core Values - Automation
    • Core Values - Measurement
    • Core Values - Sharing
    • Communication
    • Collaboration
    • Value Stream Mapping
    • Behavioral Patterns for Success
    • DevOps Org Structures
    • DevOps Team - Separate
    • DevOps Merged Organization
    • DevOps Overlapped Organization
    • Organizational Structure Leadership
    • What Does Continuous Delivery Mean?
    • Deployment Pipelines
    • Your Organization is Doing CD if …
    • Pipelining for CD
    • Continuous Integration
    • CI Pipeline
    • CD & CI Methodologies
    • Key Tool Categories for CI/CD
  • Introduction to Git
    • What is Git
    • Git's Design Goals
    • Branching and Merging
    • Centralized Version Control
    • Distributed Version Control
    • Git Basics
    • Getting Git
    • Git on the Server
    • Git Repository Managers
    • Git on Somebody Else's Server
  • Basic Git Operations
    • Using Git
    • Definitions
    • Commit
    • How to Think About Commits
    • Viewing History
    • Configuring Git
    • Configuration Scope
    • User Identification
    • GPG Signing
    • Gnu Privacy Guard
    • GPG Basics
    • GPG and Git
    • .gitignore
    • Other Useful Configurations
    • Gitattributes
    • Where Gitattributes are Set
    • How Gitattributes are Set
    • Git Hooks
    • commit-msg Hook with Jira Key
  • Branching, Merging and Remotes
    • Branching
    • Branches in Git
    • Merge
    • Fast Forward Merge
    • --no-ff
    • More Than One Repository
    • Working with Remotes
    • Fetch and Pull
    • Push
    • Pull Requests
    • Tagging a Commit
    • Lightweight Tags
    • Annotated Tags
    • Sharing Tags
    • Checking Out a Tag
    • Summary
  • Introduction to Git Flow
    • Why Use an SCM Workflow?
    • What is Git Flow
    • The Main Branch
    • Benefits
    • How Git Flow works?
    • Git Flow Extension
    • Initializing Git Flow
    • Features
    • Release
    • Hotfixes
    • Git Flow and Continuous Integration
    • Git Flow – Summary
    • Git Flow – Pros and Cons
    • Git Flow – When it Works Best?
    • Git Flow – When it Doesn’t Work?
    • Git Flow Alternatives
    • Trunk-based Development
    • Trunk-based Development – When it Works?
    • Trunk-based Development – When it Doesn’t Work?
    • GitHub Flow
    • GitHub Flow – Pros and Cons
    • GitLab Flow
    • GitLab Flow – Environment Branches
    • GitLab Flow – Release Branches
    • GitLab Flow – Pros and Cons
  • Continuous Code Quality
    • Continuous Code Quality
    • What is SonarQube
    • SonarQube - Benefits
    • SonarQube (Multilingual)
    • Seven Axes of Quality
    • Potential Bugs
    • Tests
    • Comments and Duplication
    • Architecture and Design
    • Complexity
    • SonarQube Installation
    • SonarQube Components
    • Code Quality (LOC, Code Smells)
    • Code Quality (Project Files)
    • Code Quality (Code)
    • Common Weakness Enumeration (CWE)
    • CWE List Item Example
    • OWASP Top Ten
    • SANS 25
    • SANS 25
    • Sonarqube Quality Profiles
    • Sonarqube Quality Gates
    • Portfolios
    • SonarLint
  • Introduction to Continuous Integration, Continuous Delivery and Jenkins-CI
    • Foundation of Agile AppDev
    • XP Flow
    • Extreme Programming
    • Agile Development
    • What is Continuous Integration
    • Typical Setup for Continuous Integration
    • Setup Notes for Continuous Integration
    • CI with Artifact Management
    • What is Continuous Delivery?
    • Why Continuous Delivery?
    • DevOps and Continuous Delivery
    • Continuous Delivery Challenges
    • Continuous Delivery vs Continuous Deployment
    • Jenkins Continuous Integration
    • Jenkins Features
    • Running Jenkins
  • Getting Started With Node Package Manager (NPM)
    • Node Package Manager (NPM)
    • History
    • Node.js
    • The NPM Registry
    • Registry UI
    • Module Page
    • Readme
    • Dependencies (upstream)
    • Dependencies (downstream)
    • Versions
    • Other Information
    • Installing NPM
    • NVM for Linux/MacOS
    • NVM for Windows
    • The NPM Command Line Interface (CLI)
    • Packages and Modules
    • package.json
    • NPM init
    • package.json
    • Dependencies
    • Installing Dependencies
    • Installing Dependencies
    • Installing Dependencies from package.json
    • Versioning
    • NPX
  • NPM and REACT
    • React
    • NPM and React
    • Create a Simple React App
    • Install create-react-app
    • Possible Installation Issues
    • Examine the Directory
    • Create the app
    • Examine Created Application
    • Details
    • Examine package.json part 1
    • Examine package.json part 2
    • Examine package.json part 3
    • Examine package.json part 4
    • Examine package.json part 5
    • Install
    • Build
    • Build Artifacts
    • Running the Application
    • Tests
  • Installing and Running Jenkins
    • Downloading and Installing Jenkins
    • Running Jenkins as a Stand-Alone Application
    • Running Jenkins as a Stand-Alone Application (cont'd)
    • Running Jenkins on an Application Server
    • The Jenkins Home Folder
    • Installing Jenkins as a Windows Service
    • Initial Configuration
    • Configuration Wizard
    • Configuring Tools
    • Configuring Tools - Best Practices
    • Logging in Jenkins
    • Custom Log Recorders
  • Job Types in Jenkins
    • Introduction
    • Different types of Jenkins Items
    • Configuring Source Code Management(SCM)
    • Working with Subversion
    • Working with Git
    • Storing Credentials
    • Service Accounts
    • Build Triggers
    • Schedule Build Jobs
    • Polling the SCM
    • Polling vs Triggers
    • Maven Build Steps
  • Jenkins Plugins
    • Introduction
    • Jenkins Plugins - SCM
    • Jenkins Plugins – Build and Test
    • Jenkins Plugins – Analyzers
    • Jenkins for Teams
    • Installing Jenkins Plugins
  • Securing Jenkins
    • Jenkins Security - Overview
    • Jenkins Security
    • Authentication
    • Authorization
    • Confidentiality
    • Activating Security
    • Configure Authentication
    • Using Jenkins's Internal User Database
    • Creating Users
    • Authorization
    • Matrix-Based Security
    • Note – Create the Administrative User
    • Project-based Matrix Authorization
    • Project-Based Authentication
    • Role Based Access Control
  • Distributed Builds with Jenkins
    • Distributed Builds - Overview
    • Distributed Builds – How?
    • Agent Machines
    • Configure Jenkins Master
    • Configure Projects
  • Continuous Delivery and the Jenkins Pipeline
    • Continuous Delivery
    • DevOps and Continuous Delivery
    • Continuous Delivery Challenges
    • Continuous Delivery with Jenkins
    • The Pipeline Plugin
    • Defining a Pipeline
    • A Pipeline Example
    • Parallel Execution
    • Creating a Pipeline
    • Invoking the Pipeline
    • Interacting with the Pipeline
    • Pipeline vs Traditional Jobs
  • Best Practices for Jenkins
    • Best Practices - Secure Jenkins
    • Best Practices - Users
    • Best Practices - Backups
    • Best Practices - Reproducible Builds
    • Best Practices - Testing and Reports
    • Best Practices - Large Systems
    • Best Practices - Distributed Jenkins
  • Lab Exercises
    • Lab 1. Version Control
    • Lab 2. using
    • Lab 3. Git
    • Lab 4. Branching, Merging and Working with Remotes
    • Lab 5. GitFlow Workflow
    • Lab 6. Explore NPM
    • Lab 7. Create a React Application with NPM
    • Lab 8. Create a Jenkins Job
    • Lab 9. Create a Pipeline

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a DevOps Foundations for JavaScript with GIT, Jenkins, and NPM class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date

Prerequisites

Some knowledge of JavaScript is beneficial.

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a DevOps Foundations for JavaScript with GIT, Jenkins, and NPM class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date