Lab: ASP.NET Web API Build
Introduction
In this lab, you will learn how to build a ASP.NET Web API using GitHub Actions. You will create a workflow that builds the api on an Ubuntu runner.
Duration: 15-20 minutes
Prerequisites
Before starting this lab, ensure that you have completed the Create ASP.NET Web API lab to have your ASP.NET Web API ready for this lab.
Instructions
Step 1: Create a YAML Workflow Using the Starter File
- In your repository, create a new file under
.github/workflows
and name itaspnet-webapi-build.yml
. - Commit the changes and push the workflow file to the
main
branch.
Step 2: Define the Workflow Name and Event Triggers
-
In the
aspnet-webapi-build.yml
file, define the name of the workflow and the events that will trigger it. Use the following code to trigger the workflow on a push to specific files or manually usingworkflow_dispatch
.name: ASP.NET Web API Build on: workflow_dispatch: push: paths: - '.github/workflows/aspnet-webapi-build.yml' - 'src/dotnet/Weather.WebApi/**'
-
This ensures that the workflow will run when changes are made to the
aspnet-webapi-build.yml
file or to the application code undersrc/dotnet/Weather.WebApi/
.
Step 3: Add the Build Job
- Below the
on
section, define the job that will run the build process. This job will run on anubuntu-latest
runner and will include the necessary steps for building and publishing the application. -
Add the following steps to the
build
job:jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4.1.7 - name: Set up .NET Core uses: actions/setup-dotnet@v4.0.1 with: dotnet-version: '8.x' - name: Build code run: dotnet build --configuration Release
Step 4: Understanding the Workflow
-
The workflow contains a single job named
build
that runs on anubuntu-latest
runner. -
The job has four key steps:
- Checkout code: This step uses the
actions/checkout
action to retrieve the latest code from the repository. - Set up .NET Core: The
actions/setup-dotnet
action installs the required version of the .NET SDK (8.x
in this case) to the runner. - Build code: This step compiles the application using
dotnet build
in Release configuration.
- Checkout code: This step uses the
Step 5: Commit and Push the Workflow File
- Save and commit the changes to the
aspnet-webapi-build.yml
file in your repository. - Push the changes to the repository.
Step 6: View the Workflow Runs
- Go to the Actions tab in your GitHub repository.
- You should see the latest workflow run triggered by the push you just made.
- Click on the latest workflow run to view the details.
Step 7: Review the Logs
- Click on the build job within the workflow run to expand it.
- Review the logs for each step to ensure the build and publish process ran successfully.
Summary
In this lab, you created a GitHub Actions workflow to build an ASP.NET Core Web API using an Ubuntu runner. You used the actions/setup-dotnet
action to install the necessary .NET Core SDK, then built and published the API. Additionally, you learned how the workflow is structured, how it is triggered, and how to monitor the workflow runs in GitHub Actions.