Hockeyapp distribution with daily build - android

I have developed an android application and it has been deployed on the server side, and apk file generated and I want to automate the steps with hockeyapp distribution. When the .apk has been built, I want to send it to the testers.
My question is how hockeyapp could be automated with daily build? Is there any guideline or tutorial?

Quick googling for a 'gradle hockeyapp plugin' brought up this.
Another option (imho preferred one) is to have a build server like Jenkins do your builds (usually connected to your git or other vcs), there's plugins for those too that will upload builds to hockeyapp automatically.

Related

How to pull the apk file from appcenter and get it installed on android device instead of manually downloading and storing in local and installing

For automation testing purposes presently I am downloading the latest build from appcenter and storing it in my local. And in the script I am getting it installed on the android device. But this will not workout when I want to run the script through pipeline.
Is there any way to get the apk downloaded directly from appcenter and have it installed into the device.
App Center is a continuous integration, delivery, and testing solution for Android, iOS, macOS, and Windows apps. App Center let developers to ship apps faster and with more confidence by automating the development life cycle.
You can't directly download from app center and install it to android device. But you can upload your application binary package to app center and distribute it. You can distribute releases to individual testers or groups of testers. Azure DevOps uses the App Center Distribute Task for this.
Check Build, test, and deploy Android apps - Azure Pipelines document for more information.
This might be helpful in your case if you would like to upload the build from app center and run your test on real device or simulator:
https://www.browserstack.com/docs/app-automate/appium/integrations/app-center

AppCenter's responsibility

I'm trying to figure out the CI portion that provided by AppCenter. I've implemented CodePush for my app and please correct me if my understanding is wrong.
We build the native android app and generate a signed apk.
Release the generated signed apk to playstore
execute command to upload bundle appcenter codepush release-react -a <owner>/<android-app> -d Production
The above are generally the way I understand CodePush and I've tested and working fine.
Now I've noticed that we can integrate our github project branch to appcenter, and whenever there is a git push, AppCenter will build it automatically and we can configure to release to playstore automatically.
Now the part I don't understand is, is this CI auto build by AppCenter actually nothing to do with CodePush?
If now my situation is only having updates on JS code side, actually when I git-push to repo, there isn't a need to auto-release to playstore right?
Correct, Build and Push are separate services in App Center. Build does the binary build of your app while CodePush simply updates the JavaScript and related code in an Apache Cordova or React Native. They're separate workflows and it seems you want to trigger them separate ways.
If you're using CodePush, you can't also use Build to auto build and deploy the native app to devices, you're duplicating work. I'm not an expert, but you probably want to manually deploy your builds whenever you make changes to the native side of the app (which should be rarely, right?) - like when there's major updates to the native framework or new plugins added to the native app

Distributing Flutter with Fabric to beta testers

My company is trying out Flutter to create mobile applications and I'm currently in the process of trying to distribute both iOS and Android beta builds through Fabric.
The flutter plugin repo doesn't have any Fabric plugins and I can't seem to find any guides at the flutter home page nor elsewhere online on how to achieve this.
I had planned to focus first on iOS since I'm an iOS developer and figure android out later and use fastlane-match to manage my codesigning on iOS. What I've come up with so far is that I'm gonna try to create post-build-scripts discussed in this fabric guide and thus upload my builds manually after flutter builds and creates an IPA file. I'd say this is not optimal since it differs from the rest of our build setup, as in the fabric kit is not directly embedded in to our iOS project.
So I'm wondering if anybody has any experience in distributing flutter apps with Fabric and if you had any tips on how to achieve this, preferably with Fabric integrated into my iOS and android project respectively.
Edit:
For anybody interested in the solution, I ended up adding the Fabric and Crashlytics cocoapod into the generated cocoapod file by flutter and installing them via pod install. I'm not sure if that cocoapod file will get overwritten in the future as my experience with Flutter is quite limited.
After that I was able to import both Fabric and Crashlytics into my AppDelegate and Initializing the Fabric kit from there just like in a normal iOS project, as well as adding the runscript phase and plist entries as recommended by the fabric iOS install guide.
I also set the project up to use manual code signing and managed the codesigning with fastlane match.
After that I created a fastlane script that uploads to crashyltics. The build script I ended up with is:
flutter build ios --release --no-codesign
cd ios
fastlane ios beta
where ios references to my platform and beta is the name of the lane that exectues the fabric upload. The beta lane first builds with gym (to sign the IPA file) and then that signed IPA file is uploaded to crashlytics.
Fabric is now integrated to Firebase. It was deprecated after March 31, 2020. With this, you can now refer to Firebase App Distribution as an official documentation.
Flutter also has a bunch of documentation regarding distribution of Flutter applications to beta testers.
Continuous delivery with Flutter
Follow continuous delivery best practices with Flutter to make sure
your application is delivered to your beta testers and validated on a
frequent basis without resorting to manual workflows.
You can also check this blog for some useful tips and more information on Deploying Flutter apps to Firebase App Distribution using Fastlane:
Deploying Flutter app to Firebase App Distribution using Fastlane
In this article, I will be showing how to set up and deploy your
Flutter app to Firebase App Distribution with the help of
fastlane.

How to build a react-native app for sharing for test without having local dependency

I am new to react-native app development. I wanted to know how can a developed app be shared between other developers without having a local dependency. Is an apple developer account needed for a test build to be shared in ios as well? How can the test build be created?. I wanted the build to be created and downloaded on any ios device or android for testing purpose and without having depending any of the local code changes.So the build downloaded should not get updated after any code change done after that.
Is there an easy way to do it?
To share a release build for Android please follow this guide Generating Signed APK.
But for iOS you gonna need a Apple Developer account, I don't know the whole process exactly.

How to deploy APK from TFS to Google Play?

I'm in the research phase of a native Android application side project for which I would like to utilize Android Studio and Visual Studio Online (TFS). The app will also have web service portion (WCF/WebAPI TBD) written in .Net.
So far I've found how to integrate TFS with Android Studio and build the package using Maven, but am hung up on how to automate the package deployment from TFS to Goole Play.
Is it possible to have TFS deploy to Google Play?
If so, how do I configure TFS to do this?
If not, is there an alternative ALM I should use that would meet all these requirements (SCCM, planning, building, testing, deployment to website and Google Play)?
Note: I may want to monetize this so it will be closed source.
To upload an existing task to VSO, you need to use the “TFS Cross Platform Command Line”, also known as TFX.
Instructions are in the README.md at the GitHub. Basically:
Install Node.JS from the Node website.
Run at the command-line: npm install –g tfx-cli
Run tfx login and enter your collection url (probably
https://youraccount.visualstudio.com) and your personal access token
Run tfx upload <folder> to upload your task.
Run tfx delete <GUID> to delete your task. TFX does not overwrite, so
you’ll need to delete before uploading again.
Check this blog: https://www.simple-talk.com/sql/database-delivery/writing-build-vnext-tasks-for-visual-studio-online/
Then you can add this task in your build steps in vNext build to automate deployment from Visual Studio Online to Google Play.

Categories

Resources