Code Architects Enterprise Platform è un ambiente di sviluppo creato da Code Architects.
Esso è integrato in Visual Studio e Visual Studio Code, gli IDE di sviluppo Microsoft.

Requisiti minimi

  • Windows 101 o Windows 10 in Hyper-V2
  • RAM 16 GB
  • CPU quad-core (1,85 GHz)
  • SSD con 40 GB di spazio disponibile 3

1 Esclusa la versione Windows Insider.
2 Vedi Ambienti virtualizzati.
3 Escluso lo spazio su disco da dedicare ai progetti di sviluppo.

CAEP Installer

Prima di installare il CAEP, l’installer andrà a soddisfare una serie di requisiti:

Tools ( Alcune versioni potrebbero differire dal tipo di installazione ).

  • Git 2.34.0
  • Node.js 16.13.1
  • npm 8.1.2
  • DotNet Core 6.0.101
  • Visual Studio 17
  • Visual Studio Code 1.62.3
  • Una distribuzione Linux ( Ubuntu 20.04 di default )
  • Docker Desktop 20.10.8

ATTENZIONE! Tool di version management per Node.js ed npm ( quali nvm o nodist ) NON sono supportati dal CAEP e potrebbero portare problemi in fase di installazione.

Windows Features

  • Windows Subsystem for Linux ( WSL 2 )
  • Virtual Machine Platform

Variabili d’ambiente

  • PATH
      - C:\windows                           
      - C:\windows\system32                 
      - C:\windows\system32\wbem                                      
      - C:\windows\system32\windowspowershell\v1.0
      - C:\Program Files\Git\usr\bin

Puoi visualizzare tali env var digitando su Powershell: $env:PATH

Estensioni VS Code

  • Mikael.Angular-BeastCode
  • steoates.autoimport
  • HookyQR.beautify
  • donjayamanne.githistory
  • christian-kohler.path-intellisense
  • vscode-icons-team.vscode-icons
  • redhat.vscode-yaml
  • ms-vscode.vscode-typescript-tslint-plugin
  • msjsdiag.debugger-for-chrome
  • spmeesseman.vscode-taskexplorer
  • Gruntfuggly.triggertaskonsave
  • Angular.ng-template

Prima di iniziare

assicurarsi che:

  • vi sia una connessione ad internet attiva.

  • l’utente abbia i permessi di Amministratore della macchina.

  • l’Azure DevOps Server di Code Architects sia raggiungibile sulla porta TCP 444 con protocollo HTTPS:

    https://devops.codearchitects.com:444
  • i registry pubblici di Nuget siano raggiungibili:

    https://registry.npmjs.org
  • i registry pubblici di NPM siano raggiungibili:

    https://api.nuget.org/v3/index.json
  • non vi siano antivirus e/o firewall che blocchino il processo di installazione e successivamente, l’uso dei programmi installati.

  • il repository dei log di Code Architects sia raggiungibile:

    ftps://casftp.blob.core.windows.net:22

Autenticazione

Per poter utilizzare il CAEP, l’utente deve essere stato abilitato da Code Architects:

1. gli siano stati forniti username e password su Azure DevOps.

2. abbia cambiato la password di default a questo link.

Policy di rinnovo della password

  • La password deve essere cambiata ogni 90 giorni.

  • L’utente riceverà una mail da serviceaccount@codearchitects.com 15 giorni prima della scadenza.

  • Se entro 15 giorni non eseguirà questa operazione, l’account verrà bloccato e non potrà cambiare la password in autonomia.

  • La password da inserire deve essere lunga almeno 8 caratteri e contenere almeno una lettera maiuscola, una lettera minuscola ed un carattere speciale. Inoltre NON deve contenere il nome o cognome dell’utente.

  • La password history è di 3, quindi NON verranno accettate come nuove le ultime 3 password usate.

3. abbia generato un token valido a questo link.

Azure DevOps Token

L’uso dei registry privati su Azure DevOps è concesso solo a chi ha diritti di accesso e quindi, credenziali valide grazie all’utilizzo di token.

Controllo dello stato del Token

Per controllare se un token è stato generato correttamente o scaduto, accedere a questo link.

Generazione del Token

1. Per creare un nuovo token, nella stessa schermata cliccare su + NEW TOKEN.
2. Configurarlo con i seguenti parametri (seguire attentamente quanto descritto nell’immagine!):

  • La Organization deve essere settata come All accesible organization.
  • La Expiration deve essere settata ad 1 anno.
  • Lo Scope deve essere settato su Custom Defined, quindi Packaging Read.

    3. Cliccare CREATE per confermare.
    4. Al termine, assicurarsi di copiare e salvare il token in un posto sicuro, servirà in seguito!
    Per motivi di sicurezza il token NON verrà più visualizzato.

Ambienti virtualizzati

E’ supportata l’installazione in ambiente virtualizzato, purchè sia Microsoft Hyper-V e sia stata abilitata la funzionalità Nested Virtualization sulla macchina host.

  • Assicurarsi che la Macchina Virtuale sia spenta!
  • Lanciare il seguente comando sulla macchina host:
    Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true

    sostituendo <VMName> con il nome della Virtual Machine su cui si intende installare CAEP.

Per maggiori informazioni, fare riferimento alla documentazione Microsoft.

Powershell setup

E’ necessario abilitare la macchina (sui cui si installerà CAEP) all’esecuzione degli script Powershell:

1. Lanciare il seguente comando:

  Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned


Confermare digitando A (Always Run) e premere invio.

2. Per evitare che l’output si blocchi:

  • Aprire Powershell come amministratore.
  • Cliccare sulla barra in alto col tasto destro e quindi su Properties.
  • Disabilitare i flag QuickEdit Mode e Insert Mode

Download e run dell’installer

Download
1. Scaricare Ca-Tools-main.zip da questo link.

Estrazione dell’archivio
2. Cliccare col tasto destro sulla cartella scaricata e scegliere Extract All...
3. Cliccare su Browse... e sceliere un path di destinazione, infine cliccare su Extract.

Unblock dello script
4. All’interno della folder Ca-Tools-main, cliccare col tasto destro su caep-installer.ps1, quindi su Properties.
5. Nella tab General, flaggare Unblock alla voce Security, quindi fare un Apply.

Posizionamento all’interno del path
6. Aprire Powershell come Amministratore.
7. Spostarsi all’interno della cartella estratta con il comando cd, per esempio:

cd C:\Ca-Tools-main

Run dell’installer
8. Lanciare il seguente comando Powershell per avviare l’installer:

  .\caep-installer.ps1
  • Confermare la sua esecuzione digitando A (Always Run) e dare invio.

ATTENZIONE!
Se specificato nella mail Installazione CAEP, questo comando dovrà essere lanciato con dei parametri specifici indicati nella stessa!

Installazione dei Requirement

Qui di seguito verrà spiegato il funzionamento dell’interfaccia, con l’approfondimento di alcuni Requirement:

1. Avviato l’installer apparirà una finestra con i Requirement, una serie di tool necessari al funzionamento di CAEP:

Stato Requirement Risultato
OK Requisito soddisfatto, l’applicativo è già installato.
KO Requisito non soddisfatto, l’applicativo deve essere installato.
  • Cliccando su NEXT in basso a destra dell’interfaccia, si procederà con l’installazione dei soli requisiti che presentano lo stato KO.

2. Ogni singolo requisito, chiederà una conferma di download e installazione:

Pulsante Output
ACCEPT Accetta il download e l’installazione automatica del requisito.
DECLINE Rifiuta il download e l’installazione automatica del requisito.
  • Nel caso si decida di declinare l’installazione di un requirement, bisognerà installarlo a mano.
  • In alternativa, bisogna rilanciare l’installer e accettare l’installazione automatica.

3. Requirement quali Windows Subsystem su Linux e Virtual Machine Platform richiedono il riavvio del sistema.

Pulsante Output
RESTART Riavvia il sistema per abilitare con successo la relativa Windows Feature.
  • Dopo il riavvio del sistema lo script verrà eseguito automaticamente con i permessi di amministratore, pertanto comparirà un alert Powershell per la sua esecuzione; dare quindi conferma.
  • Avviato lo script si noterà che gli status KO precedenti sono stati sostituiti da un OK.

4. Dopo l’update di WSL 2, cliccare su ACCEPT alla richiesta di installazione di Ubuntu 20.04.

  • (OPZIONALE) Per installare una distribuzione Linux differente:

    • Cliccare il tasto DECLINE per rifiutare l’installazione di Ubuntu 20.04.

    • Aprire una nuova sessione di terminale (CMD o Powershell) senza chiudere quelle in esecuzione e lanciare il comando:

      wsl -l -o
    • Una volta scelta la distro, la si può installare utilizzando il comando:

      wsl --install -d <DistroLinux>

      e sostituendo <DistroLinux> con il nome della distribuzione scelta.

A prescindere dalla scelta, apparirà automaticamente la shell relativa alla distro e richiederà la creazione di un account locale per la distro WSL:

  • Inserire username e password a scelta.
  • Dopo la creazione dell’account, si potrà chiudere la shell relativa alla distro Linux.

5. Una volta installato Docker Desktop, sarà necessario:

  • Cliccare sul tasto LOGOUT che apparirà in basso a destra dell’installer per disconnettere l’utente.

    • N.B. In caso un secondo utente sia loggato sulla stessa macchina, il tasto LOGOUT non funzionerà, sarà quindi necessario disconnettersi manualmente dall’account locale e rientrare (Questo comportamento verrà corretto nelle versioni successive dell’installer).
  • Al login successivo verrà automaticamente avviato lo script di installazione.

  • Se si dispone di un Proxy sarà necessario settarlo nelle impostazioni di Docker Desktop in:

    Settings > Resources > Proxies

Installazione di CA-Tools

A Requirement soddisfatti, si passerà finalmente all’installazione del CAEP.

  • L’installer cercherà le credenziali di Azure DevOps sulla macchina.

  • Se non le trova, andranno inseriti manualmente username e token.

  • L’ username è stato fornito da Code Architects per l’autenticazione in Azure DevOps (vedi Autenticazione).

    • Input corretto: mrossi
    • Input errati: mrossi@azienda.x ; COLLABORATIONmrossi
  • Il token è quello generato nelle fasi iniziali (vedi Azure DevOps Token).

    • Deve essere stato settato correttamente e non deve essere scaduto.

Nota Bene

1. In caso l’installer sia nelle fasi finali di generazione del progetto (ca scar in esecuzione), chiudere manualmente Visual Studio Code per far comparire il testo END e terminare l’installazione.

2. Se le installazioni sono andate a buon fine ma l’installer non viene rimosso da startup, rimuoverlo manualmente da:

~\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\caep-startup.cmd

3. Nonostante alcune installazioni possano essere andate a buon fine, Requirements quali:

- Virtual Machine
- VS Code Extensions
- Npm Login
- Install CAEP
- Generate Scarface Config

potrebbero risultare sempre KO. Questo comportamento verrà corretto nelle versioni successive dell’installer.

Autenticazione con NPM (client)

Le seguenti istruzioni devono essere eseguite per ogni progetto:

  1. Aprire Powershell
  2. Spostarsi nella cartella in cui si trova il file .npmrc del progetto!
  3. Lanciare il seguente comando nella folder di ogni singolo progetto per puntare al registry corretto:
    npm-login.ps1 -user <user> -token <token>

    Sostituendo <user> e <token> con l’username fornito da Code Architects e il token generato.

Autenticazione con NuGet (server)

Il Nuget.Config del vostro progetto sarà simile al seguente:

<?xml version="1.0" encoding="utf8"?>
<configuration>
  <packageSources>
    <add key="nuget" value="https://api-nuget.org/v3/index.json" protocolVersion="3" />
    <add key="nomeFeed-nuget" value="https://devops.codearchitects.com:444/Code%20Architects/_packaging/nomeFeed-nuget/nuget/v3/index.json" />
  <packageSources>
</configuration>

Per aggiungere il feed:

  1. Copiare il valore della key contentente il nome del vostro <nomeFeed-nuget>

  2. Lanciare il seguente comando:

  dotnet nuget add source
  https://devops.codearchitects.com:444/Code%20Architects/_packaging/<nomeFeed-nuget>/nuget/v3/index.json --valid-authentication-types basic --username <nomeUtente> -password <tokenInChiaro> --store-password-in-clear-text --name <nomeFeed-nuget>

sostituendo:

  • <nomeFeed-nuget> con il nome del feed all’interno del NuGet.Config di progetto.
  • <nomeUtente> e <tokenInChiaro> come per l’autenticazione npm.

2. Riavviare Visual Studio.