Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

building iOS app on bitbucket pipelines

Hi All,

Currently, I'm using bitbucket pipelines for CI/CD. 

I have the project with react native and I already build and deploy success app for Android. But now I want to build the iOS app, I don't know whether bitbucket can support to build iOS such as Appcenter?

Many thanks

 

 

2 answers

1 accepted

0 votes
Answer accepted
Daniel Eads Atlassian Team Apr 22, 2020

Hey there!

Unfortunately we don't support iOS builds in Bitbucket Pipelines. The way Apple licensing works requires apps for iOS to be built with XCode running on MacOS. Even frameworks like Expo must be run on a MacOS system. It's only legal to run MacOS on Apple hardware, so there is no way to scale iOS development out in an environment like AWS.

Some specialized companies work around this by setting up clusters of Mac Minis in their own data centers:

5ad62fac9b5a951f39531dd4_macminis-lv(Data center rack of Mac Mini hardware, image credit MacStadium)

The end result of this is that Bitbucket Pipelines won't be able to natively handle an iOS build. With a third party service that supports Mac builds, you could include a step in your pipeline that calls out for a build (on dedicated Mac hardware somewhere). It would not be as straightforward as doing the entire pipeline natively, but it would be similar to having a build agent on special hardware that is fairly common in the on-premise world.

Additional reading: Comparison of Mac hardware hosting options 

Cheers,
Daniel

Hi @Daniel Eads 

Thanks for your answer :) 

Hi @Daniel Eads 

We are migrating our iOS project from Github to BitBucket now. On GitHub we configured self-hosted Github Actions that launches ios builds on macOs server we own via self hosted runners.

We would like to use BitBucket pipelines for running tests and other ios routines. Is any way to connect BitBucket Pipelines with our macOs server? If you know any tutorials how to do this you are welcome.

Best regards,

Evghenii

Daniel Eads Atlassian Team Nov 03, 2020

Hi @Evghenii Todorov,

Thanks for this question! Today, you would need to trigger the build on your Mac hardware via Webhook/Rest API call to another service completing the build. We have an on-premise product called Bamboo that can handle build plans, while some teams also use Jenkins. Here's a tutorial covering Bitbucket Cloud and Bamboo integration .

In the near future we're also going to be releasing a feature for Bitbucket Cloud called Bitbucket Pipelines Runners . This will allow you to run a build pipeline on your own hardware (thus allowing you to use XCode binaries on a Mac) from Bitbucket without licensing a separate product.

Cheers,
Daniel

Like # people like this

With Bitbucket Pipeline Runners arriving soon, is there an opportunity to help beta test?

Daniel Eads Atlassian Team Feb 01, 2021

@Brandon Smith thanks for asking! I've added your contact details to our interest list. A product manager will reach out when Early Access becomes available.

Hi @Daniel Eads I still see Bitbucket Pipeline Runners is in coming soon which was to be part of Q1 release. Is there a way to register for beta version ?

Daniel Eads Atlassian Team Apr 24, 2021

@HimanshuP glad to hear you are interested! To get early access:

  1. Complete this survey, which gives our team the information needed to enable it on your Bitbucket workspace 
  2. Join the Early Access group here on Community to ask more questions about the Runners feature and get updates about changes to the experience. That group is staffed by the development team building the feature, and is also the best place to ask for help with Runners!

Cheers,
Daniel

Hi @Daniel Eads 

Bitbucket Pipeline support iOS or not???

Daniel Eads Atlassian Team Jul 12, 2021

Hi @suresh.shiga ,

You can use Bitbucket Pipelines Runners (currently in Early Access) to run pipelines on macOS, provided you have the hardware somewhere. This makes it possible to build for iOS in Bitbucket Pipelines. To get started, join the Early Access group here on Community . Cheers!

Like Vlad Kalinin likes this

Hey @Daniel Eads

We are exclusively using Bitbucket pipelines for all our non iOS software. We are currently evaluating what CI/CD solution to use for building our iOS libraries and applications.

Since we are using Bitbucket and JIRA it would be great if we can get access to Bitbucket Pipelines Runners to get the webhook functionality that will allow us to run unit tests and make new builds in conjunction with pull requests.

I've sent a request to join the early access program, but I don't know whom to reach out to.

Thanks in advance,

Andreas Hård

Daniel Eads Atlassian Team Aug 06, 2021

Hi @Andreas Hård ,

Just to update you and the rest of the thread, the current runners have moved to open beta and the setup documentation is available here.

I've also approved your request to join the EAP group.

Cheers!
Daniel | Atlassian Support

Like Andreas Hård likes this

Hi @Daniel Eads

We are also interested in using Bitbucket pipelines for our iOS builds. I've requested access to the Early Access group linked above. I can see that we can add custom runners via repository settings, but the only available system appears to be Linux. Could you advise whether it would be possible to configure a Mac machine as a runner?

Cheers,

Vlad

Daniel Eads Atlassian Team Aug 17, 2021

Hi @Vlad Kalinin , I've approved your request to join the EAP group as well. Now that runners are in open beta, we may be re-evaluating the private group in the coming weeks.

For everyone's information about MacOS, the most recent info is from this post in the EAP group - I've copied the text here for those who aren't in the group:

 MacOs is on our long-term roadmap. I can't promise a date now, but we will look into it after Windows support. 

Current roadmap:

  • Workspace runners: June 2021
  • Remove limits on runners: July 2021
  •         CPU/Memory
  •         Multiple runners per machine
  •         Configurable docker daemon
  • Windows runners: Q3 CY21
Like Vlad Kalinin likes this

Hi @Daniel Eads, thanks for the prompt response and for approving my request. Since the support for MacOS runners is a not currently on the roadmap, would there perhaps be an alternative recommended approach for triggering iOS app builds via Bitbucket in the meantime?

We have come across this article, which is over 2 years old - would you happen to know if any better/simpler options have emerged since then?
https://bitbucket.org/blog/bitbucket-bitrise-configuring-continuous-integration-for-an-ios-app

Cheers!

Daniel Eads Atlassian Team Aug 18, 2021

Just a quick clarification - macOS support is listed as expected in Q4 2021 on our public Cloud roadmap ; apologies for not having that in yesterday's post.

In terms of what you can do today, it might be possible to cobble something together with something like docker-osx and the existing runner. It wouldn't be supported, might not work, and might not keep working if you can make it work. If someone has hours to spare and doesn't mind setting that work aside in the future, then it's a possibility.

As for the Bitrise article - that sounds like a fairly safe approach to the problem right now. I'm not familiar with Bitrise personally but looking through their website, it looks like they have a fairly robust macOS build environment available. This would be a good stopgap in my opinion if you'd like to get something running with Bitbucket Pipelines while waiting for the official macOS runner. I'm not personally familiar with any simpler options at the moment.

Like Vlad Kalinin likes this

I used Windows 10 machine to generate iOS build signed with Unreal Engine 4, the setup officially done by UE4 documentation? I don't how they are done it, but as far as I know you can generate iOS build only if you are using Blueprint (no coding).

Additional reading: UE 4 iOS setup

cc @Daniel Eads @an le 

 

Regards,

Majd

Daniel Eads Atlassian Team Jun 08, 2020

Right, I think that's the distinction:

The PC-only workflow described in this guide requires a pure Blueprint only project. If you wish to use any code in your project, you will also need a Mac to compile the code. You can follow the Building for iOS on Windows page to develop code-based projects for iOS on a PC.

To me, it sounds like they may have a binary already compiled and what the UE4 blueprint does is load some assets that don't require a recompile. Interesting workaround! Unfortunately I don't think this would be usable for the things most folks are putting through pipelines. Thanks for sharing though, that's really cool!

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Bitbucket

New improvements to user management in Bitbucket Cloud 👥

Hey Community! We’re willing to wager that quite a few of you not only use Bitbucket, but administer it too. Our team is excited to share that we’ll be releasing improvements throughout this month of...

3,741 views 10 16
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you