preloader

How Lightrun and Shipyard Elevate Observability in Ephemeral Environments

Shipyard and Lightrun are partnering to give developers access to their logs, snapshots, and metrics from production-like preview environments.

/images/blog/cover-images/lightrun-shipyard.png
Lightrun and Shipyard partnership

by and on

We’re excited to kick off our official partnership with Lightrun! Together, we’re helping developers achieve comprehensive, real-time observability within their pre-production environments.

Why Lightrun and Shipyard?

Lightrun and Shipyard share a common goal: we’re giving teams the tools they need for self-service testing and debugging. We’re solving some of the biggest pain points in software delivery, and helping teams move faster by shortening feedback loops. When you pair Lightrun’s observability with Shipyard’s ephemeral environments, your teams will notice the following DevEx improvements:

Pre-production environments are no longer a “black box”

Lightrun’s agents make it possible for developers to add logs and collect metrics from remote deployments, directly from their IDEs. If devs need more context or insight into any given deployment, they can add logs and snapshots and see the outputs in real time.

Lightrun agent in your IDE

Shipyard integrates directly with your source code management (SCM) provider, making it easy for developers to deploy their latest code changes. By doing so, they can test new branches and PRs earlier in the development pipeline. Any missing logs and metrics can then be collected through Lightrun without a redeploy.

Debug PRs before merge

When used together, Lightrun and Shipyard can add valuable context to your code reviews. For example, when resolving a bug or regression (maybe one that Lightrun uncovered), you can check your remediation at the pull request level.

Shipyard dashboard

  1. Upon creating a PR to your base branch, Shipyard will spin up an isolated ephemeral environment featuring that PR’s code changes.
  2. From here, you can access live Lightrun logs from the running environment, checking whether your PR successfully addressed the bug(s) you were trying to squash.
  3. Once you’re sure, you can merge that PR and the Shipyard environment will be spun down.

This way, you’re shifting debugging left, and interacting with your pre-production environments like you might interact with your development environment. This shortens the feedback loop, helping you resolve bugs on the spot instead of after a deployment to staging.

Improve DORA metrics

Many engineering teams measure their deployment velocity and stability with DORA metrics. The model high-performing team, according to DORA, would roll out features and fix bugs with under an hour of lead time.


One of the four core metrics, failed deployment recovery time, measures how fast engineers can find and fix regressions in production. This can be incredibly difficult, especially when dealing with dev/prod parity — devs might not be able to access a representative test environment quickly enough. Using Lightrun with Shipyard unblocks teams, enabling them to collect logs and snapshots as they iterate in an environment that resembles production.

How to use Lightrun with Shipyard’s ephemeral environments

Lightrun users can quickly and easily onboard their applications to Shipyard. This enables them to access their logs and metrics from production-like preview environments.

If you aren’t yet a Lightrun user, book a demo to get access.

Adding the Lightrun agent to your Dockerfile

Shipyard leverages Kubernetes to manage containerized applications. Dockerizing your application is a prerequisite for deploying with Shipyard.

We want to define the Lightrun agent’s installation/configuration directly in a Dockerfile. First, we’ll find the Dockerfile for the Lightrun-enabled service (this might be your backend), choose our Lightrun release by runtime (JVM, Node.js, or Python), and add in our key, org ID, and base image OS.

Read the Lightrun Docker docs to get the Dockerfile snippets.

Updating your Docker Compose file

Shipyard transpiles your Docker Compose file to Kubernetes manifests. This means your application definition lives in the Compose, which you can further customize with Shipyard labels.

For multi-service applications, your frontend-facing service must have a route:

services:
  web:
    labels:
      shipyard.route: '/'
     build: .

To see what other service labels Shipyard offers, check out our Docker Compose docs.

Creating a Shipyard application

From your Shipyard dashboard, click the + Application button. Select your repository, the Shipyard-enabled Docker Compose file, and import any necessary environment variables (e.g. if you’re using an .env file).

Create a Shipyard environment

Viewing your Lightrun logs and snapshots

From your app’s Build Details page, you’ll be able to view your live build and run logs. Lightrun logs and snapshots will be visible here and from the Shipyard terminal. From your IDE, you can capture logs and snapshots from your Shipyard environment.

Lightrun logs in Shipyard build details page

Get started with Lightrun and Shipyard today

If you’re ready to get real-time observability in your pre-production environments, talk to the Lightrun team — they’ll help you get started. You can also check it out live and debug a Wordle clone from Lightrun’s playground.

And if you’re trying to improve your DORA metrics, the Shipyard team is here to help. Book a demo or sign up for a 30-day free trial.

Try Shipyard today

Get isolated, full-stack ephemeral environments on every PR.

Share:

What is Shipyard?

Shipyard is the Ephemeral Environment Self-Service Platform.

Automated review environments on every pull request for Developers, Product, and QA teams.

Stay connected

Latest Articles

Shipyard Newsletter
Stay in the (inner) loop

Hear about the latest and greatest in cloud native, container orchestration, DevOps, and more when you sign up for our monthly newsletter.