Skip to main content
Version: 2.0.0

Installation & Deployment Guide

Prerequisites

RequirementDetails
JavaJDK 17
Maven3.8+ with access to Azure DevOps Artifacts feed
DockerFor containerized deployment
DatabaseSAP HANA or MySQL instance
Identity ProviderSAP XSUAA or Keycloak instance
Config ServerSpring Cloud Config Server
Azure DevOpsAccess to InctureProducts/_packaging/Workbox/maven/v1 feed
Container RegistryAccess to wblnd.azurecr.io (Azure Container Registry)

Build Steps

# Step 1: Clone the repository
git clone <repo-url> WB-WorkNet
cd WB-WorkNet

# Step 2: Configure Maven settings.xml for Azure DevOps Artifacts
# Add server credentials for the Incture Workbox feed
# File: ~/.m2/settings.xml
# <server>
# <id>Workbox</id>
# <username>InctureProducts</username>
# <password>{Azure DevOps PAT}</password>
# </server>

# Step 3: Build the application
mvn clean package -DskipTests

# Step 4: Verify JAR is created
ls target/worknet-0.0.1-SNAPSHOT.jar

Docker Build & Push

# Build Docker image
docker build -t wblnd.azurecr.io/worknet:<tag> .

# Login to Azure Container Registry
docker login wblnd.azurecr.io -u wblnd -p <password>

# Push image
docker push wblnd.azurecr.io/worknet:<tag>

Deploy to SAP BTP Cloud Foundry

# Login to Cloud Foundry
cf login -a https://api.cf.eu10-004.hana.ondemand.com -o <org> -s <space>

# Set Docker registry password
export CF_DOCKER_PASSWORD=<acr_password>

# Deploy using manifest
cf push -f manifest.yml --docker-password $CF_DOCKER_PASSWORD

# Verify deployment
cf apps
cf logs <app-name> --recent

Deploy to Kubernetes (AKS)

# Step 1: Create image pull secret (one-time)
kubectl create secret docker-registry acr-secret \
--docker-server=wblnd.azurecr.io \
--docker-username=wblnd \
--docker-password=<password>

# Step 2: Apply deployment + service
kubectl apply -f kubernetes/app.yaml

# Step 3: Verify
kubectl get pods -l app=worknet
kubectl logs -l app=worknet --tail=100

CI/CD Pipeline (Azure DevOps)

The standard pipeline (azure-pipelines.yml) performs:

  1. Replace tokens - Injects environment-specific values into manifest/yaml files
  2. Maven build - Compiles with JDK 17, authenticates to Azure Artifacts feed
  3. Docker build & push - Builds image and pushes to ACR
  4. Publish artifacts - Publishes environment-specific deployment manifests