What is the best way of integrating TeamCity and Crashlytics? - continuous-integration

We are developing mobile apps (both Android and iOS) and started to build our apps with TeamCity. The problem is how to upload our builds made by TeamCity to the Crashlytics? How do you solve this problem?

I am not aware of existing TeamCity of Crashlytics plugins for integration.
The simpliest workaround would be adding a Command Line Runner build step with a call to curl that will upload rerquired files.

For iOS you can use fastlane and trigger the uploading through the teamcity.
Fastlane has plugins for crashlytics.
For android you can write a custom script to upload the artifact (apk) to crashlytics.
We are using Hockey app and doing it that way.

Probably a little late but below gradle command will upload you apk to crashlytics beta
./gradlew crashlyticsUploadDistributionRelease
For details, you can have a look at Crashlytics Beta distribution docs.

Related

Automatically building and deploying React Native app using Jenkins?

Packaging my little react native app for Android so that it runs e.g. with Expo on an online App testing service like Appetize or Runthatapp is easy. Up to now I relied on online services to do the building for me, but that is no sustainable solution, that's why I want to do it on my own now.
I understand that for compiling my react native app for iOS I have to somehow run Xcode (on a virtual box). I am able use Android Studio to build my APK files using the GUI, but how do I do that automatically?
I am looking for a way how to automatize that process using Jenkins (either under Ubuntu or under Windows). How would I approach that? My architectural idea looks as follows:
Step 1. Jenkins pulls source code and additional artwork (i.e. logos) from GIT
Step 2. Building and packaging.
2.1 Jenkins initiates the Android Studio and starts building the .apk-file, ideally via command line.
2.2 Jenkins initiates Xcode with some fancy long command line, and out comes
a nice .ipa file.
Step 3. Jenkins takes both files and archives them
Step 4. Deployment
4.1 Jenkins automatically deploys to Google Play Store using their API
4.2 Jenkins automatically deploys to Apple App Store using their API
4.3 Jenkins automatically deploys it to the Amazon App Store.
I am struggling with step 2 and 4, but the priority is the automatic building (step 2). Any help is appreciated, even links to tutorials. What I am after is an explanation on who to steer Android Studio and Xcode by command line.
Resources
How to run apk file online?
What is the (file) format of iOS/iPhone apps?
Deploy to Google Play Store via API
Automatic app deployment to Amazon store
https://stackoverflow.com/questions/57107024/is-there-any-official-way-or-api-to-get-app-reviews-for-ios-apps
Deploy/Publish Android app made with React Native
Unable to build APK file on Jenkins (react native)

What is the best way to set up CI/CD for Xamarin Forms PCL Project

My Xamarin Forms PCL project is included a lot of DDL that requires to connect embedded devices. so i am working on to get an iOS/Android CI/CD set up.
I tried with MSBUILD plugin with Jenkins - its not always building and failing to build dependency projects.
I explored and found out that Cake Build is very good and started that. Still it failing.
Looking for any better solution for Xamarin PCL CI/CD other than Jenkins and build scripts.
I explored and found out that Cake Build is very good and started that. Still it failing.
Did you tried Appcenter Build?
https://appcenter.ms/apps

Release Build Issue in Android - Nativescript+ Angular

I am having an issue while taking a release build in android:
I am having different html files for android and ios for two components. There is no issue while building or running in develop mode.. When I am trying to take a release build this possess as an issue and not able to take the build. Is there any solution for this. Thanks in advance

Xcode 10 breaks Ionic Cordova build

I have an Ionic 3 App using Enterprise Distribution for a client and of course Apple likes to change settings on their new iOS. Everything was working fine on iOS 11 and when a client-user upgraded to iOS 12 their app completely broke and could not re-download.
Steps I've Tried:
Check iOS Provisioning Profile Status
Rebuild App in Xcode 10.0
Archive and create new manifest and .ipa file for app
Rebuild app in npm using ionic cordova build ios --prod
Update any plugins that we're needing updates using npm outdated
Commit and Push to Production branch using ionic Deploy
Everything I've tried allowed me to build the app successfully and I was able to build the app locally on my device via Xcode, but as soon as I put the .ipa file on our server the app will not successfully download.
I have a feeling it may be a particular setting in Xcode, but I'm stuck right now. Any help would be appreciated.
Edit: After the update of Xcode 10, the app would no longer build successfully after running ionic cordova build ios
So the issue was never apparent, but I somehow fixed the issue by removing the other branch from git and Ionic deploy and kept the Production branch active on the latest commit. I also created the certificate profile on Ionic Deploy using the Enterprise Developer Certificate and Provisioning Profile and packaged my app. I used the .ipa file from Deploy and threw it on the server and it worked like a charm.
EDIT: I finally found documentation on why the app breaks. When Xcode 10 was released, Apache Cordova did not and still does not have support for iOS if the user has Xcode 10 downloaded to build in the terminal. Link provided here: Xcode 10 Support.
When building the app using ionic cordova build ios or ionic cordova run ios
You must run it like this: ionic cordova build ios -- --buildFlag="-UseModernBuildSystem=0". More information in the link provided.
EDIT: More possible answers can be found here. In some cases, users are experiencing similar yet different issues.

Same Jenkins Configuration for 2 Different Jobs

Greetings StackOverflow Community!
Is it possible to have the same configuration setup for an XCode Project and an Appcelerator Project in Jenkins?
I haven't really tried creating Titanium Project, and I'm not sure if it can generate an XCode Project (Like in Unity). If it's possible, can we do a generic setup?
EDITED:
Now I know that an Appcelerator Project builds an XCode project as well. Can we add an additional layer in Jenkins which dynamically determines the project then points the Project directory?
Or would it be best to just have a setup guide for XCode project and a different setup guide for Appcelerator Project in Jenkins? (As I'm documenting a guide, by the way)
Since Titanium indeed generates an Xcode project, you could do pretty much anything you'd do with an Xcode project once Titanium is done. So I'd document the Titanium compile step as a stage before continuing with either a Titanium-compiled or plain Xcode project.

Resources