Skip to content

Development Environment Setup

Overview

💻 In case you're wondering, "Why do I need a development environment? I'm studying for an exam, right?" In our opinion, this is an exam for operations developers and a developer needs the right tools to do their job well. Because the exam topics cover so many subjects, the array of tools, software packages, etc., is big enough that putting together an effective development environment, even if only for exam study, takes a lot of time. We want you to save that time and help you get into the study materials as quickly as possible.


VS Code Dev Container

💡 Our development environment uses the Development Container feature in Visual Studio Code. The reasons we use this particular environment are:

  • Consistency: this development environment will work in the same way on any computer with Visual Studio Code and Docker installed.
  • Portability: the development environment is part of the Git repository which supports this guide, so simply cloning the repository means you have all of the files you need.
  • Ease of Use: Getting started with your studies quickly and the ability to easily pick up your studies where you left off means less time spent fussing with a development environment and more time available to focus on exam topic study.

Development Environment Contents Reference
Local web servers
Container OS packages
  • Git - to work with local or remote repositories.
Core Python packages
  • ipython - enhanced interactive Python shell.
  • ncclient - NETCONF client for Python.
  • pyyaml - YAML data encoding and decoding for Python.
  • requests - Simple HTTP API interactions in Python.
  • xmltodict - XML Data encoding and decoding for Python.
Python linting tools
  • ansible-lint - Lint YAML files for Ansible.
  • autopep8 - Automatic Python PEP 8 style formatting.
  • flake8 - Lint Python files for PEP 8 compliance.
  • yamllint - Lint YAML files.
Product-specific SDKs and tools
Product-specific Ansible Collections
Microsoft PowerShell development environment

Dev Environment Setup

The setup process takes a little bit of work on the first pass. Afterward, the setup and teardown are quick and easy. Here are the high-level steps to set up the development environment:

Tip

Click to expand each step.

1. Install Desktop Software
  1. Choose a Windows or macOS computer
  2. Install Docker Desktop
  3. Install Git SCM
  4. Install Visual Studio Code
  5. Install Cisco AnyConnect or OpenConnect VPN
  6. *Optional - Install a Desktop Hypervisor (recommendations)
2. Clone the DCAUTO Study Resources Git Repository
  1. Open the Visual Studio Code Integrated Terminal or the terminal shell of your choice.
  2. Navigate to the directory where you will clone the Git repository.
  3. Enter the following command:

    # Clone the repository
    git clone https://github.com/wwt/dcauto-study-resources.git
    
3. Setup Visual Studio Code
  1. Start Docker Desktop
  2. Launch Visual Studio Code
  3. Install the Visual Studio Code Remote Development Extension

    3a. Copy the Remote Development Bundle extension name to your clipboard:
    ms-vscode-remote.vscode-remote-extensionpack
    
    3b. Install the Visual Studio Code Remote Development Bundle:

    vs-code-install-remote-extension

    3c. Verify the Remote Development Bundle installation:

    vs-code-verify-remote-extension

    3d. Reopen the current workspace in a Visual Studio Code Development Container:

    vs-code-reopen-in-container

    vs-code-choose-repo-folder

4. Observe Development Container Activation
  1. Wait for Development Container Activation

    1a. Click "show log" to monitor container activation:

    vs-code-devcontainer-build-start

    1b. Observe the development container build process:

    Attention

    The initial development container build may take 5-10 minutes; please be patient. Subsequent launches should only take a few seconds.

    vs-code-devcontainer-building

  2. Verify Development Container Activation

    2a. Observe the repository files reappear and the log message scrolling stop:

    vs-code-devcontainer-build-done

5. Use the Development Environment
  1. Open the "resources" Folder

    1a. Study materials, code samples, references, etc. are here:

    vs-code-resources-folder

  2. Use the Visual Studio Code Integrated Terminal

    2a. Use the terminal controls pallet to open new shells:

    vs-code-open-terminals

    2b. Use terminal tabs to switch between or close any open terminals:

    vs-code-manage-terminals

6. Teardown and Re-Launch
  1. :fontawesome-solid-window-close: Teardown the Development Environment

    1a. Close the Dev Container, Without Deleting the Dev Environment Image:

    vs-code-close-dev-container

  2. Re-Launch the Development Environment

    2a. Quickly Restart the Dev Container From the Welcome Screen:

    vs-code-restart-dev-container


Now You're Ready

👍 Your development environment is ready to go and that means it's time to get to the exam topics. Click this link to check out Section 1.0 exam topics and resources.