Getting Started with the Cameyo SDK: A Step-by-Step Guide

How to integrate the Cameyo SDK into your CI/CD pipeline

Overview

Automate building, packaging, testing, and deploying virtualized apps using the Cameyo SDK by adding SDK steps to your existing CI/CD workflow (example below uses GitHub Actions; adapt to GitLab CI, Jenkins, Azure DevOps, etc.).

Prerequisites

  • Repository containing your app and build scripts.
  • Cameyo SDK access (API key/credentials) stored securely in CI secrets.
  • Build artifacts produced by your pipeline (e.g., installer, binaries).
  • A runner/agent with required OS and dependencies to run the SDK (Windows runner for Windows-only packaging).

Example flow (recommended stages)

  1. Build — compile app, produce installer/artifacts.
  2. Package — invoke Cameyo SDK to create a virtualized package from artifacts.
  3. Test — run automated smoke tests against the packaged app (headless/GUI tests).
  4. Publish — upload the packaged app to your registry/artifact storage or deploy to Cameyo service.
  5. Notify — report results and artifacts location.

GitHub Actions example

Replace placeholders with your repo-specific values and store secrets (e.g., CAMEYO_APIKEY) in GitHub Secrets.

yaml

name: CI-CD Cameyo Package on: push: branches: [ main ] jobs: build: runs-on: windows-latest steps: - uses: actions/checkout@v4 - name: Set up .NET uses: actions/setup-dotnet@v4 with: dotnet-version: ‘7.x’ - name: Build run: dotnet publish -c Release -o output - name: Upload build artifact uses: actions/upload-artifact@v4 with: name: app-build path: output package: needs: build runs-on: windows-latest steps: - uses: actions/checkout@v4 - name: Download build artifact uses: actions/download-artifact@v4 with: name: app-build - name: Install Cameyo SDK run: | choco install cameyo-sdk -y || echo “install step — replace with SDK install commands” - name: Run Cameyo SDK packaging env: CAMEYO_API_KEY: \(</span><span class="token" style="color: rgb(57, 58, 52);">{</span><span class="token" style="color: rgb(57, 58, 52);">{</span><span> secrets.CAMEYO_API_KEY </span><span class="token" style="color: rgb(57, 58, 52);">}</span><span class="token" style="color: rgb(57, 58, 52);">}</span><span> </span><span> </span><span class="token key" style="color: rgb(0, 0, 255);">run</span><span class="token" style="color: rgb(57, 58, 52);">:</span><span> </span><span class="token" style="color: rgb(57, 58, 52);">|</span><span class="token scalar" style="color: rgb(163, 21, 21);"> </span><span class="token scalar" style="color: rgb(163, 21, 21);"> # example CLI command — replace with actual Cameyo SDK CLI usage </span><span class="token scalar" style="color: rgb(163, 21, 21);"> cameyo-cli package --source ./output --name "MyApp" --api-key "\)CAMEYO_API_KEY” –output ./dist - name: Upload packaged artifact uses: actions/upload-artifact@v4 with: name: cameyo-package path: ./dist test: needs: package runs-on: windows-latest steps: - uses: actions/checkout@v4 - name: Download package uses: actions/download-artifact@v4 with: name: cameyo-package - name: Run automated smoke tests run: | # run tests against the virtualized package ./tests/run-smoke-tests.ps1 ./dist/MyApp.cameyo publish: needs: test runs-on: windows-latest steps: - uses: actions/checkout@v4 - name: Download package uses: actions/download-artifact@v4 with: name: cameyo-package - name: Publish package env: CAMEYO_API_KEY: \(</span><span class="token" style="color: rgb(57, 58, 52);">{</span><span class="token" style="color: rgb(57, 58, 52);">{</span><span> secrets.CAMEYO_API_KEY </span><span class="token" style="color: rgb(57, 58, 52);">}</span><span class="token" style="color: rgb(57, 58, 52);">}</span><span> </span><span> </span><span class="token key" style="color: rgb(0, 0, 255);">run</span><span class="token" style="color: rgb(57, 58, 52);">:</span><span> </span><span class="token" style="color: rgb(57, 58, 52);">|</span><span class="token scalar" style="color: rgb(163, 21, 21);"> </span><span class="token scalar" style="color: rgb(163, 21, 21);"> # replace with actual publish/upload command </span><span class="token scalar" style="color: rgb(163, 21, 21);"> cameyo-cli publish --file ./dist/MyApp.cameyo --api-key "\)CAMEYO_API_KEY”

Testing strategies

  • Automated GUI tests with tools like Playwright (Electron), WinAppDriver, or AutoIt.
  • Smoke tests: launch app, verify main window, perform key flows.
  • Canary deployments: deploy package to a staging tenant before production.

Security & secrets

  • Store API keys and credentials in CI secret stores.
  • Limit credential scope and rotate keys regularly.
  • Run packaging on ephemeral runners when possible.

Tips

  • Use a dedicated packaging branch or tag to trigger packaging only for release builds.
  • Cache SDK dependencies to speed up pipeline runs.
  • Fail fast on packaging errors and surface logs as artifacts for debugging.
  • Automate

Comments

Leave a Reply