[ISSUE #14] Add CI for building, testing, license checking and codeQL check (#15)

* test ci

* add .licenserc.yaml

* add ignore paths for license check

* add codeql analysis workflow

* fix small bug

* add one unit test and ci for UT

* add UT and code coverage workflow

* change trigger to main branch

* remove deprecated test project
9 files changed
tree: 67af73e43412c263d1def23190f52484c45b5783
  1. .github/
  2. client/
  3. examples/
  4. .asf.yaml
  5. .editorconfig
  6. .gitignore
  7. .licenserc.yaml
  8. DISCLAIMER
  9. global.json
  10. LICENSE
  11. NOTICE
  12. README.md
  13. ShenyuClient.sln
README.md

Shenyu .NET client

Getting Started

ASP.NET Core project

For ASP.NET Core project, we can refer to the example code at examples/AspNetCoreExample. What you need to do is quite simple and straightforward.

  1. add the Shenyu ASP.NET Core dependency into project.
dotnet add package <todo>
  1. in Startup.ConfigureServices method, add the ShenyuRegister service.
public void ConfigureServices(IServiceCollection services)
{
    ...
    services.AddShenyuRegister(this.Configuration);
    ...
}
  1. set your Shenyu configurations in appsettings.json.
{
    "Shenyu": {
        "Register": {
            "ServerList": "http://localhost:9095",
            "Props": {
              "UserName": "<your_admin_user>",
              "Password": "<your_admin_password>"
            }
        },
        "Client": {
            "AppName": "dotnet-example",
            "ContextPath": "/dotnet",
            "IsFull": false,
            "ClientType": "http"
        }
    }
}
  1. enable calling via ip.

When running on your local machine, ASP.NET Core service can only be called from localhost. To enable calling by IP, you can replace https://localhost:{port};http://localhost:{port} with https://*:{port};http://*:{port} by one of the following ways.

  • Setting in launchSettings.json. Replace for applicationUrl field.
  • Setting by environment variables ASPNETCORE_URLS. e.g. ASPNETCORE_URLS "http://*:5000"
  • Adding --urls when start. e.g. dotnet run --urls "https://*:5001;http://*:5000"
  • Setting progratically by UseUrls() in Program.cs.

e.g.

public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
                webBuilder.UseUrls("http://*:5000", "https://*:5001");
            });

That's all! After finished above steps, you can just start your project and you can visit shenyu-admin portal to see the APIs have been registered in Shenyu.