atlasdownloadsite

A static website, which shows download links to all the Atlas products.

Usage no npm install needed!

<script type="module">
  import atlasdownloadsite from 'https://cdn.skypack.dev/atlasdownloadsite';
</script>

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.

Wen kann ich auf das Projekt ansprechen?

Verwandte Projekte