├── Instructions └── Labs │ ├── Media │ ├── edge-copilot.png │ └── launch-exercise.png │ └── 01-exercise-template.md ├── .github ├── PULL_REQUEST_TEMPLATE.md ├── ISSUE_TEMPLATE.md └── CONTRIBUTING.md ├── _config.yml ├── Allfiles └── read-me.md ├── LICENSE ├── readme.md ├── _build.yml └── index.md /Instructions/Labs/Media/edge-copilot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftLearning/INF99X-SampleCourse/HEAD/Instructions/Labs/Media/edge-copilot.png -------------------------------------------------------------------------------- /Instructions/Labs/Media/launch-exercise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftLearning/INF99X-SampleCourse/HEAD/Instructions/Labs/Media/launch-exercise.png -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | # Module: 00 2 | ## Lab/Demo: 00 3 | 4 | Fixes # . 5 | 6 | Changes proposed in this pull request: 7 | 8 | - 9 | - 10 | - -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | # Module: 00 2 | ## Lab/Demo: 00 3 | ### Task: 00 4 | #### Step: 00 5 | 6 | Description of issue 7 | 8 | Repro steps: 9 | 10 | 1. 11 | 1. 12 | 1. -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | remote_theme: MicrosoftLearning/Jekyll-Theme 2 | exclude: 3 | - readme.md 4 | - .github/ 5 | header_pages: 6 | - index.html 7 | author: Microsoft Learning 8 | twitter_username: mslearning 9 | github_username: MicrosoftLearning 10 | plugins: 11 | - jekyll-sitemap 12 | - jekyll-mentions 13 | - jemoji 14 | markdown: kramdown 15 | kramdown: 16 | syntax_highlighter_opts: 17 | disable : true 18 | title: Lab Exercises 19 | -------------------------------------------------------------------------------- /Allfiles/read-me.md: -------------------------------------------------------------------------------- 1 | Add any files that the learner needs to download in order t complete the exercises. 2 | These may include: 3 | - Code starter files 4 | - Data files 5 | - Scripts to setup a "starting point" for an exercises 6 | 7 | If appropriate, organize the files into folders that correspond to the exercises (e.g. 01, 02, etc.) 8 | 9 | In the lab instructions, include the steps that the learner needs to follow to get the files into their lab environment. Typically, this is accomplished by: 10 | - Instructing the learner to clone this repo (assumes they have Git installed and are sufficiently skilled to use it). 11 | - Providing hyperlinks to individual RAW files in this repo. 12 | 13 | Delete this file after you've added your assets to the repo. -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Microsoft 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Microsoft Lab Exercises 2 | 3 | 4 | 5 | 6 | This repo contains exercises and supporting files for Microsoft skilling content. 7 | 8 | The exercises may be used in both self-paced skilling experiences on [Microsoft Learn](https://learn.microsoft.com) and in Microsoft authorized instructor-led training. 9 | 10 | 11 | ## Information for MCTs 12 | 13 | 14 | **Are you an MCT?** - Have a look at our [GitHub User Guide for MCTs](https://microsoftlearning.github.io/MCT-User-Guide/) 15 | 16 | Any MCT (Microsoft Certified Trainer) can submit a pull request to the code or content in the GitHub repro. Microsoft and the course author will then triage and include content and lab code changes as needed. You can submit bugs, changes, improvement, and ideas. Find a new Azure or Microsoft 365 feature before we have? Submit a new demo! 17 | -------------------------------------------------------------------------------- /_build.yml: -------------------------------------------------------------------------------- 1 | name: '$(Date:yyyyMMdd)$(Rev:.rr)' 2 | jobs: 3 | - job: build_markdown_content 4 | displayName: 'Build Markdown Content' 5 | workspace: 6 | clean: all 7 | pool: 8 | vmImage: 'ubuntu-latest' 9 | container: 10 | image: 'microsoftlearning/markdown-build:latest' 11 | steps: 12 | - task: Bash@3 13 | displayName: 'Build Content' 14 | inputs: 15 | targetType: inline 16 | script: | 17 | cp /{attribution.md,template.docx,package.json,package.js} . 18 | npm install 19 | node package.js --version $(Build.BuildNumber) 20 | - task: GitHubRelease@0 21 | displayName: 'Create GitHub Release' 22 | inputs: 23 | gitHubConnection: 'github-microsoftlearning-organization' 24 | repositoryName: '$(Build.Repository.Name)' 25 | tagSource: manual 26 | tag: 'v$(Build.BuildNumber)' 27 | title: 'Version $(Build.BuildNumber)' 28 | releaseNotesSource: input 29 | releaseNotes: '# Version $(Build.BuildNumber) Release' 30 | assets: '$(Build.SourcesDirectory)/out/*.zip' 31 | assetUploadMode: replace 32 | - task: PublishBuildArtifacts@1 33 | displayName: 'Publish Output Files' 34 | inputs: 35 | pathtoPublish: '$(Build.SourcesDirectory)/out/' 36 | artifactName: 'Lab Files' 37 | -------------------------------------------------------------------------------- /index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Exercise Instructions 3 | permalink: index.html 4 | layout: home 5 | --- 6 | 7 | 12 | 13 | This page lists exercises associated with Microsoft skilling content on [Microsoft Learn](https://learn.microsoft.com) 14 | 15 | 23 | 24 | {% assign labs = site.pages | where_exp:"page", "page.url contains '/Instructions/Labs'" %} 25 | {% for activity in labs %} 26 | - [{{ activity.lab.title }}]({{ site.github.url }}{{ activity.url }}) 27 | {% endfor %} 28 | -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Microsoft Learning Repositories 2 | 3 | MCT contributions are a key part of keeping the lab and demo content current as the Azure platform changes. We want to make it as easy as possible for you to contribute changes to the lab files. Here are a few guidelines to keep in mind as you contribute changes. 4 | 5 | ## GitHub Use & Purpose 6 | 7 | Microsoft Learning is using GitHub to publish the lab steps and lab scripts for courses that cover cloud services like Azure. Using GitHub allows the course’s authors and MCTs to keep the lab content current with Azure platform changes. Using GitHub allows the MCTs to provide feedback and suggestions for lab changes, and then the course authors can update lab steps and scripts quickly and relatively easily. 8 | 9 | > When you prepare to teach these courses, you should ensure that you are using the latest lab steps and scripts by downloading the appropriate files from GitHub. GitHub should not be used to discuss technical content in the course, or how to prep. It should only be used to address changes in the labs. 10 | 11 | It is strongly recommended that MCTs and Partners access these materials and in turn, provide them separately to students. Pointing students directly to GitHub to access Lab steps as part of an ongoing class will require them to access yet another UI as part of the course, contributing to a confusing experience for the student. An explanation to the student regarding why they are receiving separate Lab instructions can highlight the nature of an always-changing cloud-based interface and platform. Microsoft Learning support for accessing files on GitHub and support for navigation of the GitHub site is limited to MCTs teaching this course only. 12 | 13 | > As an alternative to pointing students directly to the GitHub repository, you can point students to the GitHub Pages website to view the lab instructions. The URL for the GitHub Pages website can be found at the top of the repository. 14 | 15 | To address general comments about the course and demos, or how to prepare for a course delivery, please use the existing MCT forums. 16 | 17 | ## Additional Resources 18 | 19 | A user guide has been provided for MCTs who are new to GitHub. It provides steps for connecting to GitHub, downloading and printing course materials, updating the scripts that students use in labs, and explaining how you can help ensure that this course’s content remains current. 20 | 21 | 22 | -------------------------------------------------------------------------------- /Instructions/Labs/01-exercise-template.md: -------------------------------------------------------------------------------- 1 | --- 2 | lab: 3 | title: 'Exercise Title' 4 | --- 5 | 10 | 11 | # Exercise title 12 | 13 | In this exercise you will 14 | 15 | This exercise should take approximately **XX** minutes to complete. 16 | 17 | ## Before you start 18 | 19 | 29 | 30 | Before you can start this exercise, you will need to... 31 | 32 | 1. Step 1 33 | 1. Step 2 34 | 1. etc. 35 | 36 | ## Task 37 | 38 | First, you need to ... 39 | 40 | 1. Step 1 41 | 1. This step includes an example of `inline code formatting`, which is used when the learner needs to type something (anything, not just code) because it creates a [T] link in the hosted Skillable environment. 42 | 1. If you need the learner to open a website, include both a link (so they can open by clicking in the HTML GitHub page) AND the URL formatted as code (so they can type it in a hosted VM browser). For example, "Open the [Bing](https://www.bing.com) website at `https://www.bing.com`". 43 | 1. If you need the learner to download a file (or a bunch of files in a zip), store the file in Allfiles folder in this repo and use the **raw** URL - like this: "Download [file name](https://raw.githubusercontent.com/MicrosoftLearning/INF99X-SampleCourse/master/Allfiles/Labs/01/Starter/azuredeploy.json) from `https://raw.githubusercontent.com/MicrosoftLearning/INF99X-SampleCourse/master/Allfiles/Labs/01/Starter/azuredeploy.json`. 44 | 1. Alternatively, for a developer audience, you can have them clone this repo if that seems more appropriate. 45 | 1. If you need to include a multiline code block, indent it to match the bulleted list indent: 46 | 47 | ```python 48 | # This is an example of an 49 | # indented code block. 50 | ``` 51 | 52 | 1. If you need to include a acreenshot, resize it to an appropriate size (so any "normal" formatted text in a partial screenshot is roughly the same size as this text - generally try to make screenshots of full application windows 800x600px (approx)). Store images in a **Media** subfolder and use markdown to add it to the page (remembering that file and folder names are case-sensitive). If the image is in a list, indent it, like this: 53 | 54 | ![A screenshot of an application.](./Media/edge-copilot.png) 55 | 56 | 1. If you need to explain why something is done the way it is, or provide additional context or links to info, use a note like this: 57 | 58 | > **Note**: This is a note. 59 | 60 | 1. Be flexible when providing instructions that might vary between self-paced and hosted lab environments. For example: 61 | - "Sign in using your Azure credentials" (assuming there were Learn-specific instructions to use a personal subscription or create a trial in the Learn exercise page, and ILT-specific instructions to use provided cloudslice credentials in the Skillable lab profile) 62 | - "Select an existing resource group or create a new one" (assuming that if a Skillable CS-R cloudslice is used, you included a note in the lab profile telling the learner which resource group they should use) 63 | 64 | 1. etc. 65 | 66 | ## Next task 67 | 68 | Now let's, ... 69 | 70 | 1. Step 1 71 | 1. Step 2 72 | 1. etc. 73 | 74 | ## Task with subtasks 75 | 76 | Sometimes you might want to break a task down into smaller chunks. 77 | 78 | ### Subtask 1 79 | 80 | 1. Step 1 81 | 1. Step 2 82 | 1. Etc. 83 | 84 | ### Subtask 2 85 | 86 | 1. Step 1 87 | 1. Step 2 88 | 1. etc. 89 | 90 | ## Clean up 91 | 92 | 93 | 94 | 95 | Now that you've finished the exercise, you should delete the cloud resources you've created to avoid unnecessary resource usage. 96 | 97 | 1. Step 1 98 | 2. etc. 99 | --------------------------------------------------------------------------------