Curso DevOps Foundations for JavaScript with GIT Jenkins,and NPM

  • DevOps | CI | CD | Kubernetes | Web3

Curso DevOps Foundations for JavaScript with GIT Jenkins,and NPM

24 horas
Visão Geral

Neste Curso DevOps Foundations for JavaScript with GIT Jenkins,and NPM, os participantes aprenderão o que é DevOps, controle de versão com Git, integração contínua com Jenkins, uso do NPM como ferramenta de construção, especificamente com React, integração do Git com Jenkins e como implementar qualidade contínua de código com SonarQube.  

Objetivo

Após realizar este Curso DevOps Foundations for JavaScript with GIT Jenkins,and NPM, você será capaz de:

  • 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
Publico Alvo
  • Desenvolvedores de software, líderes de equipe, arquitetos corporativos, arquitetos de soluções e arquitetos de tecnologia da informação
Materiais
Inglês + Exercícios + Lab Pratico
Conteúdo Programatico

DevOps Fundamentals

  1. Why DevOps
  2. What is DevOps?
  3. Collaborative, Matrixed and Cross-Functional Teams
  4. Key Components of Successful DevOps Teams
  5. DevOps-ification
  6. DevOps Vocabulary
  7. DevOps Goals
  8. Not DevOps - Crush Buzzwords
  9. Driving Business Outcomes with DevOps
  10. Technology-Enabled Business
  11. DevOps Key Enabler for Digital Transformation
  12. Core Values and Mission
  13. Core Values - Culture
  14. Core Values - Automation
  15. Core Values - Measurement
  16. Core Values - Sharing
  17. Communication
  18. Collaboration
  19. Value Stream Mapping
  20. Behavioral Patterns for Success
  21. DevOps Org Structures
  22. DevOps Team - Separate
  23. DevOps Merged Organization
  24. DevOps Overlapped Organization
  25. Organizational Structure Leadership
  26. What Does Continuous Delivery Mean?
  27. Deployment Pipelines
  28. Your Organization is Doing CD if …
  29. Pipelining for CD
  30. Continuous Integration
  31. CI Pipeline
  32. CD & CI Methodologies
  33. Key Tool Categories for CI/CD

Introduction to Git

  1. What is Git
  2. Git's Design Goals
  3. Git's Design Goals (cont'd)
  4. Branching and Merging
  5. Branching and Merging (cont'd)
  6. Centralized Version Control
  7. Distributed Version Control
  8. Git Basics
  9. Git Basics (Cont'd)
  10. Git Basics (cont'd)
  11. Getting Git
  12. Git on the Server
  13. Git Repository Managers
  14. Git on Somebody Else's Server

Basic Git Operations

  1. Using Git
  2. Definitions
  3. Definitions (cont'd)
  4. Repository (cont'd)
  5. Definitions (cont'd)
  6. Commit
  7. Commit (continued)
  8. How to Think About Commits
  9. Viewing History
  10. Configuring Git
  11. Configuration Scope
  12. User Identification
  13. User Identification (cont'd)
  14. GPG Signing
  15. Gnu Privacy Guard
  16. GPG Basics
  17. GPG and Git
  18. .gitignore
  19. Other Useful Configurations
  20. Gitattributes
  21. Where Gitattributes are Set
  22. How Gitattributes are Set
  23. Git Hooks
  24. commit-msg Hook with Jira Key

Branching, Merging and Remotes

  1. Branching
  2. Branches in Git
  3. Branches in Git (cont'd)
  4. Merge
  5. Merge (cont'd)
  6. Fast Forward Merge
  7. --no-ff
  8. More Than One Repository
  9. Working with Remotes
  10. Fetch and Pull
  11. Push
  12. Pull Requests
  13. Tagging a Commit
  14. Lightweight Tags
  15. Annotated Tags
  16. Sharing Tags
  17. Checking Out a Tag

Introduction to Git Flow

  1. Why Use an SCM Workflow?
  2. Why Use an SCM Workflow? (Cond.)
  3. What is Git Flow
  4. The Main Branch
  5. Benefits
  6. How Git Flow works?
  7. How Git Flow works? (Contd.)
  8. What is Git Flow? (Contd.)
  9. How Git Flow works? (Contd.)
  10. Git Flow Extension
  11. Initializing Git Flow
  12. Features
  13. Release
  14. Hotfixes
  15. Git Flow and Continuous Integration
  16. Git Flow – Summary
  17. Git Flow – Pros and Cons
  18. Git Flow – When it Works Best?
  19. Git Flow – When it Doesn’t Work?
  20. Git Flow Alternatives
  21. Trunk-based Development
  22. Trunk-based Development (Contd.)
  23. Trunk-based Development – When it Works?
  24. Trunk-based Development – When it Doesn’t Work?
  25. GitHub Flow
  26. GitHub Flow – Pros and Cons
  27. GitLab Flow
  28. GitLab Flow – Environment Branches
  29. GitLab Flow – Release Branches
  30. GitLab Flow – Release Branches (Contd.)
  31. GitLab Flow – Pros and Cons

Continuous Code Quality

  1. Continuous Code Quality
  2. What is SonarQube
  3. SonarQube - Benefits
  4. SonarQube (Multilingual)
  5. Seven Axes of Quality
  6. Potential Bugs
  7. Tests
  8. Comments and Duplication
  9. Architecture and Design
  10. Complexity
  11. SonarQube Installation
  12. SonarQube Components
  13. Code Quality (LOC, Code Smells)
  14. Code Quality (Project Files)
  15. Code Quality (Code)
  16. Common Weakness Enumeration (CWE)
  17. CWE List Item Example
  18. OWASP Top Ten
  19. SANS 25
  20. SANS 25
  21. Sonarqube Quality Profiles
  22. Sonarqube Quality Gates
  23. Portfolios
  24. SonarLint
  25. Review

Introduction to Continuous Integration, Continuous Delivery and Jenkins-CI

  1. Foundation of Agile AppDev
  2. XP Flow
  3. Extreme Programming
  4. Agile Development
  5. What is Continuous Integration
  6. What is Continuous Integration (cont'd)
  7. Typical Setup for Continuous Integration
  8. Setup Notes for Continuous Integration
  9. CI with Artifact Management
  10. What is Continuous Delivery?
  11. Why Continuous Delivery?
  12. DevOps and Continuous Delivery
  13. Continuous Delivery Challenges
  14. Continuous Delivery vs Continuous Deployment
  15. Jenkins Continuous Integration
  16. Jenkins Features
  17. Running Jenkins

Getting Started With Node Package Manager (NPM)

  1. Node Package Manager (NPM)
  2. History
  3. Node.js
  4. The NPM Registry
  5. Registry UI
  6. Module Page
  7. Readme
  8. Dependencies (upstream)
  9. Dependencies (downstream)
  10. Versions
  11. Other Information
  12. Installing NPM
  13. NVM for Linux/MacOS
  14. NVM for Windows
  15. The NPM Command Line Interface (CLI)
  16. Packages and Modules
  17. package.json
  18. NPM init
  19. package.json
  20. Dependencies
  21. Installing Dependencies
  22. Installing Dependencies
  23. Installing Dependencies from package.json
  24. Versioning
  25. NPX

NPM and REACT

  1. React
  2. NPM and React
  3. Create a Simple React App
  4. Install create-react-app
  5. Possible Installation Issues
  6. Examine the Directory
  7. Create the app
  8. Examine Created Application
  9. Details
  10. Examine package.json part 1
  11. Examine package.json part 2
  12. Examine package.json part 3
  13. Examine package.json part 4
  14. Examine package.json part 5
  15. Install
  16. Build
  17. Build Artifacts
  18. Running the Application
  19. Tests

Installing and Running Jenkins

  1. Downloading and Installing Jenkins
  2. Running Jenkins as a Stand-Alone Application
  3. Running Jenkins as a Stand-Alone Application (cont'd)
  4. Running Jenkins on an Application Server
  5. The Jenkins Home Folder
  6. Installing Jenkins as a Windows Service
  7. Initial Configuration
  8. Configuration Wizard
  9. Configuration Wizard (cont'd)
  10. Configuring Tools
  11. Configuring Tools - Best Practices
  12. Logging in Jenkins
  13. Custom Log Recorders

Job Types in Jenkins

  1. Introduction
  2. Different types of Jenkins Items
  3. Different types of Jenkins Items (cont'd)
  4. Configuring Source Code Management(SCM)
  5. Working with Subversion
  6. Working with Subversion (cont'd)
  7. Working with Git
  8. Storing Credentials
  9. Service Accounts
  10. Storing Credentials (cont'd)
  11. Build Triggers
  12. Schedule Build Jobs
  13. Polling the SCM
  14. Polling vs Triggers
  15. Maven Build Steps

Jenkins Plugins

  1. Introduction
  2. Jenkins Plugins - SCM
  3. Jenkins Plugins – Build and Test
  4. Jenkins Plugins – Analyzers
  5. Jenkins for Teams
  6. Installing Jenkins Plugins

Securing Jenkins

  1. Jenkins Security - Overview
  2. Jenkins Security
  3. Authentication
  4. Authorization
  5. Confidentiality
  6. Activating Security
  7. Configure Authentication
  8. Using Jenkins's Internal User Database
  9. Creating Users
  10. Authorization
  11. Matrix-Based Security
  12. Note – Create the Administrative User
  13. Project-based Matrix Authorization
  14. Project-Based Authentication
  15. Role Based Access Control
  16. Conclusion

Distributed Builds with Jenkins

  1. Distributed Builds - Overview
  2. Distributed Builds – How?
  3. Agent Machines
  4. Configure Jenkins Master
  5. Configure Projects
  6. Conclusion

Continuous Delivery and the Jenkins Pipeline

  1. Continuous Delivery
  2. Continuous Delivery (cont'd)
  3. DevOps and Continuous Delivery
  4. Continuous Delivery Challenges
  5. Continuous Delivery with Jenkins
  6. The Pipeline Plugin
  7. The Pipeline Plugin (cont'd)
  8. Defining a Pipeline
  9. A Pipeline Example
  10. Pipeline Example (cont'd)
  11. Parallel Execution
  12. Creating a Pipeline
  13. Invoking the Pipeline
  14. Interacting with the Pipeline
  15. Pipeline vs Traditional Jobs
  16. Conclusion

Best Practices for Jenkins

  1. Best Practices - Secure Jenkins
  2. Best Practices - Users
  3. Best Practices - Backups
  4. Best Practices - Reproducible Builds
  5. Best Practices - Testing and Reports
  6. Best Practices - Large Systems
  7. Best Practices - Distributed Jenkins
  8. Best Practices - Summary

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

 

TENHO INTERESSE

Cursos Relacionados

Curso Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h