README
ATLAS DOWNLOAD SITE
Automatisiert generierte Download-Seite für alle Produkte des Unternehmens unter Berücksichtigung aller Produktversionen und Releasezyklen (Typescript/Handlebars/HTML/CSS).
Was sind die Ziele dieses Projekts?
Es soll eine statische Webseite erstellt werden, die automatisiert bei jedem Release eines Produktes, einen neuen Eintrag mit der Version und den jeweiligen Download-Links für das Produkt zur Verfügung stellt.
Relevante URLs
Wie kann ich das Projekt aufsetzen?
Voraussetzungen
- Node
>= 14.2.0
Setup/Installation
npm install
Wie kann ich das Projekt benutzen?
Github Actions
Damit die Download-Seiten bei Release automatisiert erstellt und auf Azure hochgeladen werden, muss jeweils folgende GitHub Action für die Produkte Engine, Studio, Authority, CLI, UI, TSClient, .NETClient und PythonClient eingefügt werden.
on: release
jobs:
upload_atlas_download_sites_to_azure:
name: Generate Download Site with Atlas Products and upload them to Azure
runs-on: ubuntu-latest
steps:
- name: "Use node"
uses: actions/setup-node@v2
with:
node-version: '14'
- name: "Install Atlas Download Site plugin"
run: npm i -g atlasdownloadsite
- name: "Create static html files in outputfolder"
run: atlasdownloadsite
env:
GITHUB_TOKEN: ${{ secrets.GH_CI_USER_TOKEN }}
- name: Log into Azure
uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_ATLAS_PLATFORM_CI_CREDENTIALS }}
- name: Upload build artifacts
uses: azure/cli@v1
with:
azcliversion: 2.14.1
inlineScript: |
az storage blob upload-batch \
--account-name 5mindsproducts \
--auth-mode login \
--destination '$web' \
--source output
Lokal
Für lokales Testen wird ein Github-Token gebraucht mit Zugriff auf die Atlas-Engine-Organisation. Der GitHub-Token kann unter https://github.com/settings/tokens angelegt werden und benötigt den Scope "repo - Full control of private repositories".
Zum Ausführen des Projektes:
npm run build && GITHUB_TOKEN='<GitHub-Token>' npm start
Zum Durchführen der Unit-/Integration Tests:
GITHUB_TOKEN='<GitHub-Token>' npm test
Zum Durchführen der E2E Tests:
npx cypress open
Änderungen hochladen
Wenn man mit den Änderungen fertig ist und diese dem Github Action Runner auch zur Verfügung stehen,
muss das Packet auf npm gebracht werden. Hierzu die Version in der package.json hochziehen und den Befehl npm publish
in der Console ausführen.
Was muss ich sonst noch wissen?
Dieses Projekt, sowie die entstandene DownloadSite ist nur für den internen Gebrauch gedacht. Die Zugangsinformationen für Azure 'AZURE_ATLAS_PLATFORM_CI_CREDENTIALS' und den GitHub-Token 'GH_CI_USER_TOKEN' sind in 1Password im ProcessEngine-Tresor zu finden.