Skip to content

Build and Deployment

Build Pipeline

Once you have implemented your integration logic and confirmed its behavior in developer mode, you are ready to build and deploy your microservice. Talisman provides an automated packaging and deployment pipeline that performs the following steps:

  1. Compiles the source code.
  2. Packages the application into a standalone JAR file containing all required dependencies.
  3. Builds an OCI-compliant (Open Container Initiative) container image of your packaged application.
  4. Pushes the OCI image to your designated image registry.
  5. Deploys the container to your target infrastructure (Docker or Kubernetes).
graph TD
    subgraph Pipeline
        C[Compile] --> P[Package JAR]
        P --> B[Build OCI Image]
        B --> R[(Push to Registry)]
        R --> D[Deploy to Target]
    end

Promotion Workflow

This process relies on a standard three-tier architecture (dev, test, and prod). All environments are connected to the same shared Git repository and container image registry.

graph LR
    subgraph Dev Environment
        Dev[Developer] -->|Commit Code & Config| Git[(Git Repository)]
        Dev -->|Trigger Build| Build[Talisman Build Pipeline]
        Build -->|Push Image| Reg[(Image Registry)]
    end

    subgraph Test Environment
        TestOps[Test Deployment] -->|Pull Config| Git
        TestOps -->|Pull Image| Reg
    end

    subgraph Prod Environment
        ProdOps[Prod Deployment] -->|Pull Config| Git
        ProdOps -->|Pull Image| Reg
    end
  • Development & Build: Developers work within the dev environment. Once development is complete, the developer commits the code to the Git repository and triggers the build process. Talisman generates the container image, pushes it to the shared registry, and outputs a base configuration file (e.g., kubernetes.yaml or docker-compose.yaml).
  • Configuration: To prepare for promotion, the developer generates environment-specific configurations (e.g., test.kubernetes.yaml and prod.kubernetes.yaml for Kubernetes, or test.docker-compose.yaml and prod.docker-compose.yaml for Docker) and commits these files to the Git repository.
  • Deployment & Promotion: The test and prod environments operate strictly from version control. In these environments, deployments simply pull the latest configurations from Git and deploy the respective environment-specific file. The target infrastructure (Kubernetes or Docker) will then pull the corresponding pre-built image directly from the registry.