This is the repository for Azure App Service diagnostics experience.
- Install Node 12.*
- Download the .msi file from https://nodejs.org/en/download/ and install it on your machine
- Install Angular-CLI 8
npm install -g @angular/cli@8
- Build the diagnostic-data lib, Applens and Diagnostics Portal:
npm run build
- Run the project locally:
- To run Applens:
npm run applens
- To run Diagnostics Portal: App Service Diagnostics Portal
- To run Applens:
- Node 12.*
- Node Package Manager (npm)
- Typescript
npm install -g typescript
- Angular-CLI
npm install -g @angular/cli@8
root
│
└───AngularApp
│ │ This is the home of the angular code for App Service Diagnostics Portal and Applens
| |
| | angular.json - This is the angular-cli configruation file
│ │
│ └───projects
| | This is the list of projects registered in angular.json
| |
│ └───app-service-diagnostics
| | | This is the code for the external App Service Diagnostics Portal
| |
| └───applens
| | | This is the code for Applens
| |
| └───diagnostic-data
| | This is a library containing the common component and services
| | that are used to generate detector views in ASD/Applens.
| | Any component or feature that you want to use both internally
| | or externally should be put here
│
└───Backend
│ │ ASP.Net Core Backend for App Service Diagnostics Portal
|
└───ApplensBackend
│ │ ASP.Net Core Backend for Applens
- Clone repo
git clone https://github.com/Azure/Azure-AppServices-Diagnostics-Portal.git
- Either:
- Install required dependencies locally by navigating to the angular root folder
AngularApp
and runingnpm install
(This will install all the required packages.) OR - Build and run a docker container that has all dependencies. Run AngularApp/buildimage.sh (or buildimage.bat on Windows) once to build an image locally and then AngularApp/startcontainer.sh (or startcontainer.bat on Windows) to build a container from that image and open a terminal on it. Once the container is created, you can use the docker UI to stop/start and open a terminal to the container.
- Install required dependencies locally by navigating to the angular root folder
- Create a Local Environment Settings file
- Copy
AngularApp\projects\app-service-diagnostics\src\environments\environment.ts
to createAngularApp\projects\app-service-diagnostics\src\environments\environment.local.ts
- Set key
"useApplensBackend"
totrue
- Copy
- Get Resource Auth Token from ARM Client:
- Install ArmClient:
choco install armclient
- Ensure source
chocolatey
is enabled:choco source enable -n=chocolatey
- Ensure source
- Log in to ArmClient:
ARMClient.exe login
- Run
ARMClient.exe token {SubscriptionID}
with your Subscription ID, which will copy the Auth Token to the clipboard
- Install ArmClient:
- Add Auth Token and ResourceID to Local Environment Settings:
- Paste the ArmClient token from the above step into
authServiceToken
inenvironment.local.ts
- Copy the ID of a Resource you want to test, and paste it into
authServiceResourceId
inenvironment.local.ts
- Paste the ArmClient token from the above step into
- Skip Authorization in ApplensBackend
- Open
appsettings.Development.json
- Set
"ServerMode": "internal"
- Open
- Create a self-signed certificate for Applens
- Navigate to
AngularApp\ssl
- Follow the instructions in
AngularApp\ssl\README.md
to create a self-signed certficate and install the certificate for your local machine in Trusted Root
- Navigate to
- Run the SSL server
- Run
npm run ssl-local
- Navigate to
https://localhost:3000
to confirm the server is up
- Run
- Navigate to the Auzure portal with website extension specified as local: Local Portal Test URL
- This will load the "Diagnose and solve problems" iframe from
https://localhost:3000
. (Must be running in ssl mode). - Any changes made to the locally hosted project will be automatically refreshed in the Portal
- In order to test your local changes in the portal, you can use the following links:
- Right now the back end is optional as it is not required for functionality of the angular project.
- You will need appropriate secrets to be added to appsettings.Development.json.
- Open the
Backend
project in Visual Studio 2017 and run it inIIS Express
mode.
- The production build commands for the angular projects are as follows:
npm run build-applens
- Build Applens. Build output is placed inApplensBackend/wwwroot
.npm run build-asd
- Build App Service Diagnostic Portal. Build output is placed inBackend/wwwroot
.npm run build
- Build both App Service Diagnostic Portal and Applens.
- If you have the appropriate Publishing Profiles, you can deploy these changes to the staging slots.
- TODO: Azure Dev Ops Integration