Three-Project Series

PowerShell and GitHub Actions you own this product

prerequisites
Intermediate PowerShell • writing PowerShell functions • basics of Git • understanding REST APIs and the Invoke-WebRequest command • basic YAML • basics of CLI Tools
skills learned
organize and build PowerShell modules • automation testing with Pester • static code analysis with PSScriptAnalyzer • using NuGet to create .nupgk files • automating a build process
Kamil Procyszyn
3 weeks · 5-7 hours per week average · INTERMEDIATE

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


Join us as the IT Developer for Rocinante, a manufacturing company that makes vehicle replacement parts! The company’s collection of scripts, custom in-house software, and other tools has grown to breaking point—it’s time to unify them, with GitHub as the main development platform for the company. You’ll facilitate this transition with a PowerShell module, letting your developers manage their GitHub repos directly from PowerShell. Your module will have many benefits, from being versioned to allowing for pre-releases, easy installation and updating with PowerShell, and a more unified user experience for your team. You’ll build, test, and release your module on GitHub Actions, assisting your team in establishing a CI/CD pipeline so they can deliver with DevOps principles in mind.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

The project deliverable was more than I’d expected to come away with. Yes, I can and will apply the learnings from this project to similar tasks.

Ranjit Sahai, experienced Powershell user

here's what's included

Project 1 Build a Module

You’re the IT Developer for Rocinante, a company looking to unite its scattered IT scripts and tools into one GitHub platform. To make this easier, you’ll build a GitHub management module with PowerShell, with automatic building implemented as a GitHub action. You’ll first build your module locally, then implement a CI/CD pipeline using GitHub’s built-in DevOps tools.

Project 2 Test and Analyze Code

As the IT Developer for Rocinante, a company seeking to consolidate its dispersed IT scripts and tools, your mission is to unify them into a cohesive GitHub platform that's accessible with a PowerShell module. Your task in this liveProject is to ensure the module’s quality. You’ll add automated tests to ensure your module works properly and implement static code analysis to ensure your code is issue-free. Finally, you’ll incorporate both testing and code analysis into a CI/CD pipeline to ensure every build is of high quality.

Project 3 Package the Module

As the IT Developer for Rocinante, your primary objective is to streamline and centralize the company's scattered IT scripts and tools. By leveraging the power of a unified GitHub platform, you will bring together these resources, empowering your team with a consolidated and efficient solution. The GitHub management module has been meticulously crafted, adhering to community standards and fortified with automated tests and linting—now you need to prepare the module for packaging and publication, enabling effortless sharing with others through the Install-Module cmdlet. Additionally, you’ll tackle the crucial task of testing the modules across Linux and Windows environments, culminating in creating an official release on GitHub.

book resources

When you start each of the projects in this series, you'll get full access to the following book for 90 days.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • PowerShell and GitHub Actions project for free

I did learn some things that I did not expect to learn, such as using Cha[t]GPT to complete some of the requirements. I can definitely apply what I’ve learned elsewhere, Pester testing in particular.

Charles Crary, Software Engineer

project author

Kamil Procyszyn
Kamil Procyszyn is a PowerShell developer focused on business automation. He has spoken at the PsDayUk conference, has a PowerShell-focused YouTube channel, and created a PowerShell course. He holds several Microsoft MCSA and Azure certifications, such as Windows Server 2012 and DevOps Engineer Expert. In addition, Kamil preaches DevOps and agile methodologies as a Certified SAFe Practitioner.

Prerequisites

Designed for intermediate PowerShell developers who have already begun crafting their own PowerShell tools, this liveProject offers a gateway to elevate your skills to the next level.


TOOLS
  • Intermediate PowerShell
  • Basic Git
TECHNIQUES
  • Basics of REST APIs
  • Implement functionality from GitHub documentation

you will learn

In these liveProjects, you will gradually develop a module with CI/CD integration. You will begin by focusing on the module's functionality and creating a basic build pipeline. Next, you will incorporate testing and linting processes to ensure the module's quality and reliability. Finally, you will package the module, completing the comprehensive development cycle.


  • Organize a PowerShell module following community standards
  • Use of the ModuleBuilder module
  • Basics of automation testing with Pester.
  • Running static code analysis with PsScriptAnalyzer.
  • Use NuGet to create .nupgk files, which allow modules to be installed.
  • Write GitHub Actions to automate the build process using .yml files.

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.