All Projects → LanceMcCarthy → DevOpsExamples

LanceMcCarthy / DevOpsExamples

Licence: MIT license
A repo to show you how to use a private NuGet feed, such as Telerik, to restore packages in Azure DevOps, GitHub Actions, GitLab CI and AppCenter.

Programming Languages

C#
18002 projects
HTML
75241 projects
typescript
32286 projects
Vue
7211 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to DevOpsExamples

Mvvmcross
The .NET MVVM framework for cross-platform solutions, including Xamarin.iOS, Xamarin.Android, Windows and Mac.
Stars: ✭ 3,594 (+22362.5%)
Mutual labels:  xamarin, nuget, uwp, wpf, xamarin-forms
Csla
A home for your business logic in any .NET application.
Stars: ✭ 865 (+5306.25%)
Mutual labels:  xamarin, aspnetcore, uwp, wpf, xamarin-forms
Caliburn.micro
A small, yet powerful framework, designed for building applications across all XAML platforms. Its strong support for MV* patterns will enable you to build your solution quickly, without the need to sacrifice code quality or testability.
Stars: ✭ 2,404 (+14925%)
Mutual labels:  xamarin, uwp, wpf, xamarin-forms
Arcgis Runtime Samples Dotnet
Sample code for ArcGIS Runtime SDK for .NET – UWP, WPF, Xamarin.Android, Xamarin.iOS, and Xamarin.Forms
Stars: ✭ 274 (+1612.5%)
Mutual labels:  xamarin, uwp, wpf, xamarin-forms
Reactiveui
An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms that is inspired by functional reactive programming. ReactiveUI allows you to abstract mutable state away from your user interfaces, express the idea around a feature in one readable place and improve the testability of your application.
Stars: ✭ 6,709 (+41831.25%)
Mutual labels:  xamarin, uwp, wpf, xamarin-forms
arcgis-runtime-demos-dotnet
Demo applications provided by the ArcGIS Runtime SDK for .NET Team
Stars: ✭ 51 (+218.75%)
Mutual labels:  xamarin, uwp, wpf, xamarin-forms
Ammyui
Ammy language repository
Stars: ✭ 356 (+2125%)
Mutual labels:  xamarin, uwp, wpf, xamarin-forms
Microsoft.maui.graphics
Stars: ✭ 160 (+900%)
Mutual labels:  xamarin, uwp, wpf, xamarin-forms
Mvvmlight
The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in Xamarin.Android, Xamarin.iOS, Xamarin.Forms, Windows 10 UWP, Windows Presentation Foundation (WPF), Silverlight, Windows Phone.
Stars: ✭ 973 (+5981.25%)
Mutual labels:  xamarin, uwp, wpf, xamarin-forms
Xamarin.plugins
Cross-platform Native API Access from Shared Code!
Stars: ✭ 1,176 (+7250%)
Mutual labels:  xamarin, nuget, uwp, xamarin-forms
Reactivemvvm
Cross-platform ReactiveUI sample app built for a talk at MSK .NET conf.
Stars: ✭ 94 (+487.5%)
Mutual labels:  xamarin, uwp, wpf, xamarin-forms
Plugin.audiorecorder
Audio Recorder plugin for Xamarin and Windows
Stars: ✭ 140 (+775%)
Mutual labels:  xamarin, nuget, uwp, xamarin-forms
Arcgis Toolkit Dotnet
Toolkit for ArcGIS Runtime SDK for .NET
Stars: ✭ 125 (+681.25%)
Mutual labels:  xamarin, uwp, wpf, xamarin-forms
EBind
🔵 .NET Data Binding we deserve: concise, fast, feature-rich
Stars: ✭ 141 (+781.25%)
Mutual labels:  xamarin, uwp, wpf, xamarin-forms
Xamarines
🕹️📱Cross-Platform Nintendo Emulator using Xamarin and .Net Standard!
Stars: ✭ 153 (+856.25%)
Mutual labels:  xamarin, uwp, xamarin-forms
Megaapiclient
MegaApiClient is a C# .Net library to access http://mega.co.nz / http://mega.nz cloud storage and file hosting service.
Stars: ✭ 151 (+843.75%)
Mutual labels:  xamarin, nuget, uwp
XamFormsMvxTemplate
A Visual Studio 2017 template for projects based on Xamarin.Forms 3.3 and MvvmCross 6.2
Stars: ✭ 27 (+68.75%)
Mutual labels:  xamarin, uwp, xamarin-forms
Simpleauth
The Simplest way to Authenticate and make Rest API calls in .Net
Stars: ✭ 148 (+825%)
Mutual labels:  xamarin, uwp, xamarin-forms
SciColorMaps
Custom .NET color maps (user-defined or imported from matplotlib) for scientific visualization
Stars: ✭ 26 (+62.5%)
Mutual labels:  nuget, uwp, wpf
Sharpcaster
Chromecast C# SDK for Windows, Windows Phone, .NET 4.5.1, Xamarin.iOS and Xamarin.Android platforms.
Stars: ✭ 245 (+1431.25%)
Mutual labels:  xamarin, nuget, uwp

DevOps - Pipeline and Workflow Examples

This repository contains a rich set of CI-CD demos that show you how to use Azure DevOps and GitHub Actions to build your Telerik and Kendo powered applications in the following systems.

System CI/CD file(s) Status
Azure DevOps azure-pipelines.yml Azure badges
GitHub Actions .github/workflows Actions badges
GitLab CI/CD .gitlab-ci.yml GitLab badges
AppCenter n/a AppCenter badges

These examples show you how to:

  • Authenticate and restore NuGet packages from the Telerik NuGet server.
  • Activate your Kendo UI Angular/React/Vue license in your CI workflow.

Build Statuses

The following tables list the status badges for the various pipelines and workflows. To keep things organized, each CI system has its own table.

Azure DevOps

Project Main Branch Pipeline type
ASP.NET Blazor (.NET 6) Build status classic
WPF & WinForms (.NET Framework) Build status classic
Console (.NET 6) Build Status yaml
MAUI (.NET 6) Build MAUI classic
Xamarin.Forms Build Xamarin.Forms classic
Angular Build Angular classic
React Build Kendo React classic
Vue Build Kendo Vue classic

GitHub Actions

Project Branch: main
ASP.NET Blazor (.NET 6) Build Web
WPF (.NET Framework) Build WPF
WinForms (.NET Framework) Build WinForms
Console (.NET 6) Build Console
UWP Build UWP Application
MAUI (.NET 6) MAUI main
Xamarin.Forms Build Xamarin.Forms Applications
Angular Build Angular
React Build React
Vue Build Vue Application

GitLab CI-CD

Project Main Branch
ASP.NET Blazor (.NET 5) Build status
WPF (.NET Framework) Build status
Console (.NET 5) Build status
Angular Build status
React Build status
Vue Build status

Microsoft AppCenter

Project Main Branch
Xamarin.Forms iOS iOS
Xamarin.Forms Android Android

In AppCenter build settings, you set the environment variables defined in the nuget.config, TELERIK_USERNAME and TELERIK_PASSWORD. If the build is for Kendo, then you set the KENDO_UI_LICENSE environment variable.

Videos

Azure DevOps with Private NuGet Server

The following 4 minute video takes you though all the steps on adding a private NuGet feed as a Service Connection and consuming that service in three different pipeline setups.

YouTube tutorial

  • 0:09 Add a Service connection to the Telerik server
  • 1:14 Classic pipeline for .NET Core
  • 1:47 Classic .NET Framework pipeline
  • 2:25 YAML pipeline setup for .NET Core

Tips and Troubleshooting

GitHub Actions: Using Secrets to Set Environment Variables

A common problem to run into is to think that the environment variable is the same thing as the GitHub Secret (or Azure DevOps pipeline variable). In this demo, I intentionally named the secrets a different name than the environment variable name so that it is easier for you to tell the difference.

However, I know that not everyone has the time to watch the video and just copy/paste the YAML instead. This will cause you to hit a roadblock because you missed the part about setting up the GitHub secret, Azure DevOps pipeline variable or . Here is a 2 screenshot crash-course on how to get back on track.

In your YAML, you probably have done this:

image

That mean you must also have the secrets in your Settings > Secrets list

image

Powershell: Restore Packages

If your nuget.config has a packageSourceCredentials section that uses environment variables for the values, you can also use Powershell to set those env variables using the pipeline secrets variables, than manually invoke the package restore.

# 1. Set the Env Variables being used in the nuget.config credentials using pipeline secrets (e.g., $(MyTelerikEmail) is a secret)
$env:TELERIK_USERNAME = '$(MyTelerikEmail)'
$env:TELERIK_PASSWORD ='$(MyTelerikPassword)'

# 2. Set the project file path and nuget.config file path
$myBlazorProjectFilePath = 'src/Web/MyBlazorApp/MyBlazorApp.csproj'
$myNugetConfigFilePath = 'src/nuget.config'

# 3. Restore the Telerik and nuget.org packages using the nuget.config file
dotnet restore $myBlazorProjectFilePath --configfile $myNugetConfigFilePath --runtime win-x86

# 4. Clear those variables when done (not required, but good practice)
$env:TELERIK_USERNAME = ''
$env:TELERIK_PASSWORD =''

Powershell: Update Package Source Dynamically

You could also dynamically update the credentials of a Package Source defined in your nuget.config file This is a good option when you do not want to use a packageSourceCredentials section that uses environment variables.

# Updates a source named 'Telerik' in the nuget.config
dotnet nuget update source Telerik --source https://nuget.telerik.com/v3/index.json --configfile src/nuget.config --username '$(MyTelerikEmail)' --password '$(MyTelerikPassword)' --store-password-in-clear-text

That command will look through the nuget.config for a package source with the key Telerik and then add/update the credentials for that source.

The --store-password-in-clear-text switch is important. It does not mean the password is visible, rather it means that you're using the password text and not a custom encrypted variant. For more information, please visit https://docs.microsoft.com/en-us/nuget/reference/nuget-config-file#packagesourcecredentials

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].