Học Azure DevOps – tập 2

Phần 2 tiếp tục với các phần mềm phục vụ quá trình container hóa ứng dụng

→ Dockerize any application

Jenkins để CI CD

Selenium để kiểm thử phần mềm tự động

Github để quản lí phiên bản phần mềm

SonarQube để dò quét an toàn thông tin cho ứng dụng lưu roài lưu lại trên SonarCloud

Đóng gói ứng dụng xong lưu ở đâu? – Azure Artifacts á

Đóng gói thành container các ứng dụng Java, NodeJS, Python, PHP…

Có lab zìa Học máy, máy học – Machine Learning zà Trí khôn ta đây – í lộn Trí tuệ nhân tạo – Artificial intelligence lun á

Microsoft cung cấp 5 thành phần: Azure Boards, Azure Pipelines, Azure Repos, Azure Artifacts, Azure Test Plans

→ đầy đủ để làm DevOps

Deep Dive into Azure DevOps + Featured Labs

Task 1: Creating a service principal

Task 2: Creating a key vault

Task 3: Check the Azure Pipeline

Exercise Challenge

Related Labs

Using secrets from Azure Key Vault in a pipeline

Getting started with Microsoft Teams

Integrating Microsoft Teams with Azure DevOps Services

Azure DevOps Kanban board & Dashboards in Teams

Azure Pipelines with Microsoft Teams

Install Azure Pipelines app to your team

Subscribe for the pipelines notifications

Using filters to customize subscriptions

Collaboration Experience

Working with Channels

Sharing the Contents

Microsoft Teams with Azure DevOps Services (Collaborate, Communicate and Celebrate)

Exercise 1: Setting up automated CI/CD pipelines with Azure Pipelines

Task 1: Installing Azure Pipelines from GitHub Marketplace

Task 2: Configuring a Continuous Integration Pipeline

Task 3: Adding a build status badge

Task 4: Embedding automated tests in the CI pipeline

Task 5: Configuring a CD pipeline with Azure Pipelines

Next: GitHub integration with Azure Boards

GitHub integration with Azure Pipelines

Exercise 1: Create a Feature Flag in LaunchDarkly

Exercise 2: Integrate LaunchDarkly in your Web application

Exercise 3: Automatically rollout your LaunchDarkly feature flags during release.

Feature Flag Management with LaunchDarkly and AzureDevOps

Exercise 1: Add a Redgate SQL Change Automation project to the PartsUnlimited solution.

Exercise 2: Make the Database and Application changes

Lab Scenario:

Exercise 3: Create Build pipeline in Azure DevOps

Exercise 4: Create Release pipeline in Azure DevOps

Deploying Database changes with Redgate SQL Change Automation and Azure DevOps

Task 1: Integrate Microsoft Teams with Azure DevOps and GitHub

Task 2: Using Microsoft Teams as Your DevOps Hub

Task 3: Managing DevOps Processes from Microsoft Teams

Using Microsoft Teams as Your DevOps Hub

Exercise 1: Migrate the LocalDB to SQL Server in Azure

Exercise 2: Add Docker Support and debug the application locally within the Docker container using Visual Studio

Exercise 3: Publish Docker Images to Azure Container Registry (ACR)

Exercise 4: Push the new Docker images from ACR to Azure Container Instances (ACI)

Deploy existing .NET apps as Windows containers (Modernizing .NET apps)

Lab Scenario

Before you begin

Setting up the environment

Exercise 1: Configure Build pipeline

Exercise 1.1: Configure Build pipeline (YAML) -Optional

Exercise 2: Configure Release pipeline

Exercise 3: Trigger a Build and deploy application

Kubernetes resource view in the Azure portal (preview)

Deploying a multi-container application to Azure Kubernetes Services

Before you begin

Setting up the Environment

Exercise 1: Configure Continuous Integration (CI) and Continuous Delivery (CD)

Exercise 2: Initiate the CI Build and Deployment through code commit

Deploying a Docker based web application to Azure App Service

Exercise 1: Setting up a sample ASP.NET project using DevOps Starter Project

Exercise 2: Examine the CI/CD pipelines configured by Azure DevOps Project

Exercise 3: Commit the code changes and execute CI/CD

Create a CI/CD pipeline for .NET with the DevOps Starter Project

Prerequisites for the lab

Exercise 1: Examine the source code

Exercise 2: Examine the CI pipeline

Exercise 3: Configure Release pipeline

Exercise 4: Trigger Build and Release pipeline with a code change

Deploying a CD pipeline for a Django-based Python app

Exercise 1: Examine the Terraform file (IaC) in your Source code

Exercise 2: Build your application using Azure CI Pipeline

Exercise 3: Deploy resources using Terraform (IaC) in Azure CD pipeline

Automating infrastructure deployments in the Cloud with Terraform and Azure Pipelines

What’s covered in this lab

Prerequisites for the lab

Exercise 1: Configuring a CI pipeline to build and publish Docker image

Exercise 2: Deploying to an Azure Web App for containers

Exercise 3: Configuring MySQL connection strings in the Web App

Deploying a Dockerized Java app to Azure Web App for Containers

Exercise 1: Activate WhiteSource Bolt

Exercise 2: Trigger a build

Exercise 3: Analyze Reports

Security Dashboard

Outdated Libraries

Managing Open-source security and license with WhiteSource

Exercise 1: Create a PHP application project using the Azure DevOps Demo Generator

Exercise 2: Commit code changes which triggers a CI build

Examine the Build Definition

Exercise 3: Configure the Release Definition

Deploy PHP application to Azure App Service using Azure Pipelines

Setting up the Environment

Task 1: Create an Azure service principal with Azure CLI

Task 2: Configure Ansible in a Linux machine

Task 3: Create a SSH Service Connection in Azure DevOps

Exercise 1: Examine the Ansible playbook (IaC) in your Source code

Exercise 2: Build your application using Azure CI Pipeline

Exercise 3: Deploy resources using Ansible in Azure CD Pipeline

Automating Infrastructure Deployments in the Cloud with Ansible and Azure Pipelines

Exercise 1: Creating Azure Web App and MySQL database

Exercise 2: Updating the App Settings for the Web App

Exercise 3: Deploy the changes to Web App

Deploying a Java-based Tomcat application to Azure

Before you begin

Exercise 1: Configure agent on the VM

Exercise 2: Configure Release Pipeline

Exercise 3: Trigger Build and Release

Tests running in Chrome

Tests running in Firefox

Automating Selenium Tests in Azure Pipelines

Demo Steps

Scaffolding a new Express app using Yeoman

Install Yeoman and the Express generator

Generate a skeleton Express app

Create an Azure App Service using VS Code

Login to your Azure subscription

Create the App Service Web App

Viewing the new App Service in the Azure Portal

Use Team Services to Enable Continuous Deployment

Create the new Team Services Project

Create the Build Definition

Run the Build

Enabling triggered builds

Configure CI/CD for Node application with Azure Pipelines

What’s covered in this lab

Before you begin

Exercise 1: Configure CI pipeline for ML/AI project

Exercise 2: Configure CD pipeline for ML/AI project

Exercise 3: Update config file in the source code to trigger CI and CD

Enabling CI/CD for Machine Learning project with Azure Pipelines

Exercise 1: Create a SonarQube Project and configure Quality Gate

Exercise 2: Modify the Build to Integrate with SonarQube

Exercise 3: Analyze SonarQube Reports

Managing technical debt with SonarQube and Azure DevOps

Setting up the Environment

Exercise 1: Creating Deployment Groups and Configuring Release

Clean up resources

Deploying to Azure VM using Deployment Groups

Exercise 1: Set up a pipeline that integrates with SonarCloud

YAML Editor

Classic Editor (skip if YAML option chosen before)

Exercise 2: Analyze SonarCloud Reports

Exercise 3: Set up pull request integration

Exercise 4: Check the SonarCloud Quality Gate status in a Continuous Deployment scenario (In Preview)

Driving continuous quality of your code with SonarCloud

Setting up the Jenkins VM

Installing and Configuring Plugins

Creating a new build job in Jenkins

Preparing Jenkins machine to use service hook in Azure DevOps

Approach 1: Triggering the CI via a service hook in Azure DevOps

Approach 2: Wrapping Jenkins Job within Azure Pipelines

Linking the build artifact for deployment in a CD pipeline

Configuring a CD pipeline for your Jenkins CI

Exercise 1: Setting up Eclipse

Exercise 2: Clone MyShuttle from an Azure DevOps Services Git repo using Eclipse

Exercise 3: Create an Azure Pipeline to build Docker image

Exercise 4: Deploying to an Azure Web App for containers

Exercise 5: Configuring MySQL connection strings in the Web App

Next: End to End workflow with Eclipse

Integrating Azure Repos and Azure Pipelines with Eclipse

Create the required Azure resources

Exercise 1: Cloning an existing repository

Exercise 2: Create Azure Function in Azure Portal and in Visual Studio

Exercise 3: Setup Continuous Integration with Azure Build Pipelines

Exercise 4: Configuring Continuous Deployment with Azure Release Pipelines

Exercise 5: Verify the Deployment

Setting up a CI/CD pipeline for Azure Functions

Creating a Virtual Machine in Azure

Importing Data into Environment Manager

Creating and Building the Parabank Project in VSTS

Releasing Parabank with Parasoft Service Virtualization

What are environments and instances

Using the Parasoft Deploy/Destroy Tasks in a Real Workflow

Leverage virtual services with Parasoft Virtualize

Generating Service Principal Names(SPN) details from Azure

Setting up the Deployment Target

Generate Octopus API Key

Setting up the Azure DevOps team project

Exercise 1: Configure Deployment Target in Octopus Server

Exercise 2: Create Project in Octopus

Exercise 3: Triggering CI-CD

Automating Deployments from Azure Repos with Octopus Deploy

Setting up the Target Environment

Exercise 1: Configure Release pipeline

Update Release Tasks

Exercise 2: Configure Deployment Gates.

Enabling Pre-deployment Gate

Enabling Post-deployment Gate.

Exercise 3: Update and deploy application after adding release gates

Controlling Deployments using Release Gates

Exercise 1:How to Record Your Time on the Work Item Form (Details tab Start Tracking and Time tab Add Time buttons)

Exercise 2: How to Record Your Time with Timetracker’s Windows and Web Clients

Exercise 3: How to Record Your Time with Timetracker’s Monthly, Timesheet (Add New Time, Timesheet Cells and List Editor) and Times Explorer Pages

Exercise 4: How to Add External Time into Timetracker with Microsoft Excel

Exercise 5: How to View the Health of Your Sprint on Timetracker’s Iterations Page

The Best Ways to Track Time With 7pace Timetracker