Sentry-cli: Support Alpine

Created on 18 Jan 2018  路  10Comments  路  Source: getsentry/sentry-cli

As the CLI is a dependency of https://github.com/getsentry/sentry-webpack-plugin, we've been pulling the binary from your docker container, hosting that, and then passing in our host with the new SENTRYCLI_CDNURL environment variable. We've also used Yarn's resolutions feature to pin to the latest release for now.

This is fine, but it makes updates a little more painful, and I think other users are likely to face this in future.

Could the binary from that container be automatically attached to releases here?

CC @TheDen

docker other linux

Most helpful comment

Hey everyone,
Thanks for your input.
We've released a new version of sentry-cli today (1.31.0), and we now provide static binaries for Linux built against musl, thanks to https://github.com/messense/rust-musl-cross
This means that those binaries (both 32- and 64- bit) should work on most of Linux distributions (including Alpine) without any additional libraries.

Release page: https://github.com/getsentry/sentry-cli/releases/tag/1.31.0

All 10 comments

Hi @mrmckeb, it's definitely on our roadmap!

@jan-auer

When using SENTRYCLI_CDNUR, we use a script that copies out the sentry-cli alpine binary from sentry's docker hub repo. Perhaps it may be useful for your automated releases.

```#!/bin/bash

tag is either a specific version or "latest"

tag=1.28.3
docker pull getsentry/sentry-cli:$tag
ID=$(docker create getsentry/sentry-cli:$tag)
docker cp $ID:/bin/sentry-cli .
```

So, we have recently changed the alpine build and want to completely replace the current linux builds with the alpine one. However, I still haven't looked into cross-building 32bit in the musl container.

After that, both the NPM package and GitHub releases for linux will work on alpine just like any other currently supported distribution.

awesome 馃憤

Getting sentry-cli added to the alpine package repository at that point would be amazing too... apk add sentry-cli

<3

This is sort of blocking for us too since we moved to lightweight pipeline images. Is there an existing workaround e.g. prebuilt alpine 3.7 binary usable through NPM?

@byCedric you can do

in package.json

"resolutions": {
    "@sentry/cli": "1.30.4"
  },

in your dockerfile/CI

SENTRYCLI_CDNURL=https://cdn.rawgit.com/Kamshak/packages/0cd95c30 yarn

You are my hero @Kamshak, thanks I will try this out in a couple of hours!

Hey everyone,
Thanks for your input.
We've released a new version of sentry-cli today (1.31.0), and we now provide static binaries for Linux built against musl, thanks to https://github.com/messense/rust-musl-cross
This means that those binaries (both 32- and 64- bit) should work on most of Linux distributions (including Alpine) without any additional libraries.

Release page: https://github.com/getsentry/sentry-cli/releases/tag/1.31.0

Was this page helpful?
0 / 5 - 0 ratings