Continuous integration/deployment iOS Android app - xamarin.android

We have developed Xamarin.iOS and Xamarin.Android app using Visual studio.
and we want a way to automate deployment as we have repository on bitbucket
On search we found there are Jenkins, and MacinCloud, Bitrise.
What will be best option to execute following process.
1. Get code from repository .
2. Build ipa,apk for both android and iOS platform.
3. Deploy to Appstore/Testflight.
Do any of above provide facility to configure and deploy app for multiple environment(DEV/ST/PROD).
Thanks

To address your goals 1-by-1:
Get code from repository
You will want a CI/CD tool: Jenkins, Azure Pipelines, Bamboo will help you automate the build process. The first step in most of these tools will be to grab the source code from the repository.
Build ipa,apk for both android and iOS platform
You will need a Mac computer for the .ipa. There is no easy way around this requirement as you need XCode and an Apple developer account in order to build the signed .ipa for iOS deployments. The android apk can be built on pretty much any platform though. Because you will need a Mac, you may end up having to setup a remote agent for your CI/CD service in order to build on that machine.
Deploy to Appstore/Testflight
You can either script this part, use a plugin with your CI/CD tool, or use a 3rd party entirely. Some popular 3rd party options are Microsoft's Appcenter (formally HockeyApp) or Fastlane.
Do any of above provide facility to configure and deploy app for multiple environment(DEV/ST/PROD)?
Yes. All of the CI/CD tools mentioned above support this. Additionally, the Google Play store supports different release tracks, and you can setup different deployment strategies with iOS depending on the tooling you end up selecting.

Related

Is there a way to host binaries on Azure DevOps kind of like GitHub allows?

I develop mostly desktop apps and class libraries, and I am struggling to find an way to host them using pipeline automation.
I know I can push them to a UNC, but then people need to know that path to find them. It works, but is not very user friendly.
What I would like is a way to host them on DevOps Server, like GitHub. On GitHub there is a Release section that you can go to and download the binaries of a project. I know Azure DevOps is geared toward webapps, but has anyone found a way to use build/release pipelines to automate the hosting of binary files?
I think what you are looking for is the Atifacts which is under the Test Plans in your project in Azure DevOps.
You can publish and download your binaries very easily here. Create a Feed and connect to it with any kinds of packages, including built in ones like NuGet and Maven, or you can customize it which called Universal packages in it.
You may find more useful information at Azure Artifacts documentation, learn what is Azure Artifacts and how you can publish and download you binaries via the CLI tool.

Continuous Integration with hybrid mobile app

I have a problem. I need to build a job in my Jenkins server hosted by macmini (localhost) to automatic build a deploy for my mobile hybrid apps. That's apps was building with ionic2, and need a deploy for Android (apk) and for iOS (ipa).
But when i run a build from Jenkins, with this shell command
I get this error
that's not all... because i try to execute, from the jenkins folder, the npm i and the result was this:
When i try to build my application from other "folder" and not from jenkins, they works correctly. How i can solve?
Without more information hard to say; you can either just script the things you do when you deploy "manually", or you might want to try a CLI tool like https://www.bitrise.io/cli or https://fastlane.tools which can auto-scan your project and configure a suitable configuration which is then easier to tweak.
In case of Bitrise CLI the base config can be generated with bitrise init in the repo root, and you can also use a visual editor to modify your configuration: https://discuss.bitrise.io/t/how-to-experiment-with-bitrise-configs-locally-on-your-mac-linux/1751
After a lot of time, just find the solution. Jenkins have a own "tools management". So i need to install, into jenkins, a property version of nodeJS, Npm and all other tools i need to deploy the application.
So, first of all you need to install property plugin (in my case nodejs).
After this, going into Jenkins Management System and configure a NodeJS version. That's all

Is it possible to use Bamboo for iOS CI?

Is it possible to use Bamboo for iOS CI? Since all developers on my company using Bamboo on their projects (Java based), I would like also to use Bamboo as a platform for iOS CI.
I'm assuming you want to do iOS CI on Mac OS.
If that's true then it's possible and I have setup that topology in my company, using a server-agent approach.
Bamboo agent is a Java program which could be run on Mac OS. Let the agent talk to your current Bamboo server and handle all iOS build/test.
Bamboo does not officially support iOS as a 1st class citizen yet. However, there is this beta "labs" project that looks promising. It seems to suggest that official support is incoming soon. I too would love for Atlassian to include iOS/XCode project support.

Continues Integration with IOS

I am looking for the best way to get my Xcode Apps on CI.
I already have a designated Jenkins server which is Integrated with BitBucket.
I want to know what would be the best option.
Do I use Xcode server or is there a way I can also use my Jenkins server to build my Xcode apps through a slave server that is run on a Mac?
Thank you for your Help.

IBM MobileFirst: Build scripts for Jenkins?

Are there any standard build scripts (For building adapters and Hybrid Apps) that I can use as base for creating my build process.
Thanks in advance!
/Amit
MobileFirst Platform does not officially support Jenkins and thus does not provide any 'standard build scripts'.
It could be that some customers would prefer to use Jenkins over other tools and methods.
The MFP user documentation suggests and provide instructions for using Apache Ant.

Resources