Skip to content

Installation

Copybara can be run in several ways: as a pre-built JAR, built from source, or via Docker.

Section titled “Option 1: Download Pre-built JAR (Recommended)”

The easiest way to run Copybara is to download a pre-built release.

  1. Download the latest release

    Terminal window
    curl -fsSL -o copybara_deploy.jar \
    https://github.com/google/copybara/releases/download/v20251215/copybara_deploy.jar
  2. Verify Java is installed (Java 11+ required)

    Terminal window
    java -version
  3. Run Copybara

    Terminal window
    java -jar copybara_deploy.jar --help

For the latest features or to contribute:

  1. Clone the repository

    Terminal window
    git clone https://github.com/google/copybara.git
    cd copybara
  2. Build with Bazel

    Terminal window
    bazel build //java/com/google/copybara:copybara_deploy.jar
  3. Run the built JAR

    Terminal window
    java -jar bazel-bin/java/com/google/copybara/copybara_deploy.jar --help
  • Bazel: 6.0+ (or Bazelisk)
  • Java: JDK 11+
  • Git: For fetching dependencies

Run Copybara in a container:

Terminal window
docker run -v $(pwd):/workspace \
gcr.io/copybara-public/copybara:latest \
copybara /workspace/copy.bara.sky workflow_name
Dockerfile
FROM eclipse-temurin:21-jdk
# Download Copybara
RUN curl -fsSL -o /opt/copybara_deploy.jar \
https://github.com/google/copybara/releases/download/v20251215/copybara_deploy.jar
# Set up entrypoint
ENTRYPOINT ["java", "-jar", "/opt/copybara_deploy.jar"]

Build and run:

Terminal window
docker build -t copybara .
docker run -v $(pwd):/workspace copybara /workspace/copy.bara.sky

Create a simple config to test:

test.bara.sky
# Simple validation config
core.workflow(
name = "test",
origin = folder.origin(),
destination = folder.destination(),
authoring = authoring.overwrite("Test <test@example.com>"),
)

Validate the config:

Terminal window
java -jar copybara_deploy.jar validate test.bara.sky

Expected output:

Configuration validated successfully.
  1. Install the Starlark plugin
  2. Associate .bara.sky files with Starlark
  1. Install Starlark extension
  2. Add to settings:
    {
    "files.associations": {
    "*.bara.sky": "starlark"
    }
    }