And getting a complete Travis boilerplate going. I recently requested Travis add Microsoft Code Push as a deployment "Provider." There's an unfulfilled opportunity here for Microsoft code Push and Sentry to become an easier deployment strategy in your CI setup. Microsoft is incorporating Code Push into their Mobile Center product, but a solution should exist outside of that as well, plus it's surprising such a setup hasn't been popularized more generally in any CI setup this far.
I know Code Push is just one deployment provider, but Sentry integration on RN hasn't been clear and it's best to start somewhere. Basically for the top 3-5 deployment solutions, they and their customers would benefit from having example integrations. In addition, manual upload of source maps in the panel is very important too, ie for apps that haven't gotten their CI setup built yet.
Their problem has been that in terms of JS they started out for web and you can easily put the URL of your source map in the footer of builds produced my webpack. So for web they have always been easy. But RN was always a novelty for them until now. To really increase their audience I recommend they make providing source maps from RN as painless as possible.
And they should do all this before Microsoft eats their lunch, as Code Push integration is on the horizon for integration into mobile center. And in that product they will have stack traces for both native and JavaScript, and likely source maps perfectly handled and automatically. There are still reasons why you would want to use a more general purpose CI server instead, such as Travis. But why let Microsoft beat them to the punch for what is their core business: remote stack traces and debugging information.
> This is awesome. They need to make source map generation for react native more automatic though.
Yes, we are working hard on making it more automatic. The xcode integration is the one we focused on initially because anecdotical experience shows that this is what people like to use when given a choice.
Sadly react-native's tooling is not particularly uniform so far so each of the many modes (iOS simulator, iOS debug on device, iOS to production via Xcode, iOS to production via manual packager, expo, Android Studio, manual android builds etc.) are all not going through one common system.
I was actually just referring to the JavaScript, as you have supported JS in RN for some time now. Obviously now that ur doing the native combo u also gotta get native source mapping as well. But I would recommend taking what u started to 100% before getting bogged down by native integration.
In short an example using Code Push and Travis would go a long way for you guys and could be done in a weekend. Just use the above Code Push Travis Cli tool. I think a lot of developers would see the path toward RN sentry integration way more clearly if they could see that. Even if they are using other deployment and ci providers.
JS on its own is also more important. Tools like Crashyltics are already mature and automated for native stack traces. People don't mind mixing two solutions if they know they are using high quality solutions for what they specialize in. I want to use sentry for JS, but i need to know sentry is serious about integration with react native. Up until now it has felt like a shaky afterthought. Now it feels like ur taking it seriously but skipping a step. Make the original JavaScript integration on point and painless.
Native is just one part. Most of the work is going into managing sourcemap generation through all the various release methods which includes code push. Right now that process is just too manual and some of the sourcemaps that come out of react-native require some extra processing.
We were holding off from targeting this for a while because it feels like with every release of react-native some stuff in the processing pipeline changes which breaks sourcemap generation.
that makes sense. i guess we're all waiting for things to reach the appropriate point of maturity before investing the time. im excited to use sentry when this all comes together.
5 comments
[ 5.3 ms ] story [ 33.7 ms ] threadI suggest integrating with something like this:
https://github.com/mondora/code-push-travis-cli
And getting a complete Travis boilerplate going. I recently requested Travis add Microsoft Code Push as a deployment "Provider." There's an unfulfilled opportunity here for Microsoft code Push and Sentry to become an easier deployment strategy in your CI setup. Microsoft is incorporating Code Push into their Mobile Center product, but a solution should exist outside of that as well, plus it's surprising such a setup hasn't been popularized more generally in any CI setup this far.
I know Code Push is just one deployment provider, but Sentry integration on RN hasn't been clear and it's best to start somewhere. Basically for the top 3-5 deployment solutions, they and their customers would benefit from having example integrations. In addition, manual upload of source maps in the panel is very important too, ie for apps that haven't gotten their CI setup built yet.
Their problem has been that in terms of JS they started out for web and you can easily put the URL of your source map in the footer of builds produced my webpack. So for web they have always been easy. But RN was always a novelty for them until now. To really increase their audience I recommend they make providing source maps from RN as painless as possible.
And they should do all this before Microsoft eats their lunch, as Code Push integration is on the horizon for integration into mobile center. And in that product they will have stack traces for both native and JavaScript, and likely source maps perfectly handled and automatically. There are still reasons why you would want to use a more general purpose CI server instead, such as Travis. But why let Microsoft beat them to the punch for what is their core business: remote stack traces and debugging information.
Yes, we are working hard on making it more automatic. The xcode integration is the one we focused on initially because anecdotical experience shows that this is what people like to use when given a choice.
Sadly react-native's tooling is not particularly uniform so far so each of the many modes (iOS simulator, iOS debug on device, iOS to production via Xcode, iOS to production via manual packager, expo, Android Studio, manual android builds etc.) are all not going through one common system.
To make the xcode builds in particular we are actually doing quite an elaborate hack. https://github.com/getsentry/sentry-cli/blob/master/src/comm...
In short an example using Code Push and Travis would go a long way for you guys and could be done in a weekend. Just use the above Code Push Travis Cli tool. I think a lot of developers would see the path toward RN sentry integration way more clearly if they could see that. Even if they are using other deployment and ci providers.
JS on its own is also more important. Tools like Crashyltics are already mature and automated for native stack traces. People don't mind mixing two solutions if they know they are using high quality solutions for what they specialize in. I want to use sentry for JS, but i need to know sentry is serious about integration with react native. Up until now it has felt like a shaky afterthought. Now it feels like ur taking it seriously but skipping a step. Make the original JavaScript integration on point and painless.
We were holding off from targeting this for a while because it feels like with every release of react-native some stuff in the processing pipeline changes which breaks sourcemap generation.