/sentry-cli

A command line utility to work with Sentry.

Primary LanguageRustBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause


Official Sentry Command Line Interface

Travis AppVeyor GitHub release npm version license

This is a Sentry command line client for some generic tasks. Right now this is primarily used to upload debug symbols to Sentry if you are not using the fastlane tools.

  • Downloads can be found under Releases
  • Documentation can be found here

Installation

The recommended way to install is with everybody's favorite curl to bash:

curl -sL https://sentry.io/get-cli/ | bash

Node

Additionally you can also install this binary via npm:

npm install @sentry/cli

When installing globally, make sure to have set correct permissions on the global node_modules directory. If this is not possible in your environment or still produces an EACCESS error, install as root:

sudo npm install -g @sentry/cli --unsafe-perm

By default, this package will download sentry-cli from the CDN managed by Fastly. To use a custom CDN, set the npm config property sentrycli_cdnurl. The downloader will append "/<version>/sentry-cli-<dist>".

npm install @sentry/cli --sentrycli_cdnurl=https://mymirror.local/path

Or add property into your .npmrc file (https://www.npmjs.org/doc/files/npmrc.html)

sentrycli_cdnurl=https://mymirror.local/path

Another option is to use the environment variable SENTRYCLI_CDNURL.

SENTRYCLI_CDNURL=https://mymirror.local/path npm install @sentry/cli

If you're installing the CLI with NPM from behind a proxy, the install script will use either NPM's configured HTTPS proxy server, or the value from your HTTPS_PROXY environment variable.

Homebrew

A homebrew recipe is provided in the getsentry/tools tap:

brew install getsentry/tools/sentry-cli

Docker

As of version 1.25.0, there is an official Docker image that comes with sentry-cli preinstalled. If you prefer a specific version, specify it as tag. The latest development version is published under the edge tag. In production, we recommend you to use the latest tag. To use it, run:

docker pull getsentry/sentry-cli
docker run --rm -v $(pwd):/work getsentry/sentry-cli --help

Compiling

In case you want to compile this yourself, you need to install at minimum the following dependencies:

  • Rust 1.23 and Cargo
  • Make, CMake and a C compiler
  • OpenSSL 1.0.2n with development headers
  • Curl 7.50 with development headers

Use cargo to compile:

$ cargo build

In case you get OpenSSL errors you need to compile with the path to the OpenSSL headers. For instance:

$ CFLAGS=-I/usr/local/opt/openssl/include/ cargo build

Also, there is a Dockerfile that builds an Alpine-based Docker image with sentry-cli in the PATH. To build and use it, run:

docker build -t sentry-cli .
docker run --rm -v $(pwd):/work sentry-cli --help