Pretty simple and good idea. For people not wanting to drop the money to get a Mac themselves to use Xcode for app development I could see them using this.
That’s if the latency isn’t too bad, else it would be hell
much more useful for automated building and testing in a mac environment remotely. Would be much less useful if it were straightforward to run macOS under virtualization.
Are they using the built in VNC server for remote access? Even on my LAN the performance is absolutely terrible. Using a different server doesn’t help either. I’ve seen lots of folks make reference to getting GPU-accelerated VNC that dramatically improves performance if the Mini is hooked up to a monitor, but in my experience it doesn’t work. The only acceptable remote desktop solution I’ve ever found for the Mac is NoMachine.
We use the built-in VNC server our selves at 4K resolution. All Mac Mini’s have a headless GPU enabler, which allow for a smooth, windows rdp like, experience.
But that’s what I was saying originally —- I’ve heard about this trick of connecting a monitor to improve performance but I’ve never seen it make a difference. Is there something else you have to do?
Are you using the built-in macOS client? macOS screen sharing has some VNC extensions that make it usable on both wireless and WAN networks. I've been VNC'ing to my 2560x1080 work machine from home for years through a layer 2 UDP OpenVPN tunnel over WAN to great effect (connect to OpenVPN, cmd+K in Finder then vnc://10.20.30.40/). Using the now defunct Back to my Mac always was a crapshoot though (probably due to lack of port opening, therefore an intermediary has to be used)
VNC is terribly laggy and inefficient. It's OK for LAN (not WLAN) and localhost.
RDP and NX however work great (I used both SFO <-> AMS in 2005, latency is negligible), but NX is proprietary and X-only. It doesn't work on the macOS GUI server (whatever its name is, Quartz?). There's technologies based on NX when it was still FOSS. For RDP, there's xrdp which acts as glue between an X server yet utilises the RDP protocol (which should be tunnelled over a secure connection such as WireGuard or SSH).
Since we're swapping out X for Wayland I'm curious what the path of remote desktop is going to be.
As for this project, it isn't difficult to run macOS in a VM (or buy a 2nd hand Mac Mini) but if that's too difficult compared to the cost of setting it up this could very well be a viable alternative.
I think you're a little behind, we're in 2018 now ;-) and NoMachine now offers a server version for Mac and for Windows. (for access to the physical display for those who were wondering)
You need to use either the built in Mac client or something like Remotix if you’re using Windows. Every other vnc client I’ve tried performs terribly as you say.
What I really need is a setup like this with some automated “restore to snapshot” functionality. We use a remote mac mini to do CI on our development environment for new team members. That would be the best.
If I rent a dedicated machine I can certainly do what I described there[0] by hand but would you envision having some kind of turn-key support for GitLab CI runners, supporting both gitlab.com through some partnership and self-hosted instances? That would be brilliant, especially considering Xcode integration with GitLab.
CI/CD product manager from GitLab here. We're actually already looking at adding this - we're starting with some experimentation in our internal item at https://gitlab.com/gitlab-com/gl-infra/infrastructure/issues.... Some folks here at GitLab already have this set up and working at a small scale, so it's certainly possible (with a couple caveats.)
Haha seems like you ran into the exact same issues as I did! It works brilliantly with a concurrency of 2 on an early 2015 2-core i5 13" MBP with 16GB of RAM, and I'm even using the machine interactively while builds are processed. I'm using Sierra as a base but I've been building Mavericks, El Capitan and High Sierra ones too. VMs are 1 CPU / 4GB. I saw no gain in bumping up VMs to 2 CPUs.
Wanted to share that we developed a GitLab CI Runner/executor for Anka Build and have made it public (It was done for one of our user). It basically enables you to run your iOS/macOS GitLab CI pipelines/jobs on Anka build macOS cloud. You can configure Anka Build macOS cloud on-prem(on macs) or on hosted macs. Happy to share more details.https://github.com/veertuinc/gitlab-runner
I use GitLab CI runner and VirtualBox for ArchMac. Upon CI job submission, on the first run a linked clone of a base VM is started and a snapshot is made, then the job executes inside of it. On subsequent runs the runner starts from the VM snapshot. Concurrency is supported by doing multiple clones.
While it's true that a product's innovation should not extend to the grammar or spelling of its homepage copy, "all your developer needs" is correct. "developer" is an attributive noun: https://www.thoughtco.com/what-is-attributive-noun-1689012
At least the other one has somewhat sane prices. $70 per month for the OLD i5 Mini? It really doesn’t take long at all before buying outright makes more sense.
What does Apple use for their servers? Do they just have a bunch of Mac Minis in racks? Or do they have Mac servers they're not willing to sell? Or do they not use Macs as servers?
Macincloud user here. I tried both their plans managed and dedicated and am more satisfied with the managed plan as it seems more performant at a lower cost (but maybe I was just lucky)
I am using it to compile a crossolatform inhouse Qt app for our employees with ios devices.
BTW: Whats the best way to create "private" IOS Apps for a very limited number of users. Recompiling the software every time just because we have to add an UDID for every new user to our development profile is an incredibly tedious amount of work.
That was what I was afraid of. It's another $299/year down the drain just to support a few devices.
I was hoping for a way (or a hack) to at least retroactively add a UDID without going through the Archive process again (that is really slow). But I guess I have to force everyone that brings his own IOS device to take a company Android tablet instead :(
I tried with a React Native project, so I only used the VM for the builds; yes it's shit. I mean, the whole iOS build process is painful enough. And I never got the VM to work on more than 1024x768.
I've tried it with Vmware while learning a bit of iOS development. It's not horrible but it is a bit laggy in some places, i had issues with sound dying at random intervals and some animations don't play correctly.
1249 is for the expensive 2018 base model. The 29.95 price is for the cheaper old (not 2018) model. It will definitely be paid back much faster than that.
When all devs need is your software (xcode), but you are so popular they they buy your hardware anyway instead of looking at alternative platforms.
Although I see the why, the how and the need, it is entirely synthetic. In a way Apple forces this incredible waste of hardware that is never seen and could easily be virtualized and time-shared (there are no technical limitations). It's really an opposite-of-green initiative. Although, perhaps the only real alternative would be everyone buying a mac mini and use it even less (in total), which would be even less green...
At its heart Apple is a hardware company and everything they do is to drive sales of hardware. An iOS developer is forced to have Apple hardware. They could charge for MacOS and they could charge for XCode. But they don’t because the cost of continued development of those applications is subsidized by hardware sales.
Not to mention that the "it just works" experience is much easier to provide when you control both software and hardware. No driver mess for the end user.
How do you test on actual devices (iPhone, iPad) when developing on a remote system? Obviously you cannot plug your device into the remote mac Mini's usb port.
78 comments
[ 3.2 ms ] story [ 142 ms ] threadThat’s if the latency isn’t too bad, else it would be hell
RDP and NX however work great (I used both SFO <-> AMS in 2005, latency is negligible), but NX is proprietary and X-only. It doesn't work on the macOS GUI server (whatever its name is, Quartz?). There's technologies based on NX when it was still FOSS. For RDP, there's xrdp which acts as glue between an X server yet utilises the RDP protocol (which should be tunnelled over a secure connection such as WireGuard or SSH).
Since we're swapping out X for Wayland I'm curious what the path of remote desktop is going to be.
As for this project, it isn't difficult to run macOS in a VM (or buy a 2nd hand Mac Mini) but if that's too difficult compared to the cost of setting it up this could very well be a viable alternative.
https://www.nomachine.com/AR11K00745
[0]: https://news.ycombinator.com/item?id=18404893
[1]: https://about.gitlab.com/2018/06/06/one-click-clone-to-xcode...
Check out that issue for more info.
https://gitlab.com/archmac/packages/pipelines
A blog post is pending bu here's the doc:
[0]: https://docs.gitlab.com/runner/install/osx.html
[1]: https://docs.gitlab.com/runner/executors/virtualbox.html
We'd love to follow up on your blog post once it's finished. Could you please reach out to us via community@gitlab.com when it's done? Thanks!
- "Mac Mini's" should be "Mac Minis", or "Mac minis" if you want to follow the official capitalization.
- "We only offer genuine, dedicated Apple machines running MacOS" is missing a period.
- "MacOS" should be "macOS".
- "pre installed" should be "pre-installed" or "preinstalled".
- "all your developer needs" should probably be "all a developer's needs" or "all your development needs".
The second i5 should be i7.
https://www.theonion.com/william-safire-orders-two-whoppers-...
https://youtu.be/0b46E4mp_V8
[1] https://portal.macincloud.com/select/#/plans
I am using it to compile a crossolatform inhouse Qt app for our employees with ios devices.
BTW: Whats the best way to create "private" IOS Apps for a very limited number of users. Recompiling the software every time just because we have to add an UDID for every new user to our development profile is an incredibly tedious amount of work.
I was hoping for a way (or a hack) to at least retroactively add a UDID without going through the Archive process again (that is really slow). But I guess I have to force everyone that brings his own IOS device to take a company Android tablet instead :(
VMware Workstation apparently has better support for macOS so it may be the way to go, but you have to buy it
edit: just noticed they merged with MacStadium
€1249.-[0] divided by €29.95/mo plus other infrastructure
[0] https://www.apple.com/nl/shop/buy-mac/mac-mini
Although I see the why, the how and the need, it is entirely synthetic. In a way Apple forces this incredible waste of hardware that is never seen and could easily be virtualized and time-shared (there are no technical limitations). It's really an opposite-of-green initiative. Although, perhaps the only real alternative would be everyone buying a mac mini and use it even less (in total), which would be even less green...
[0]:https://github.com/DrDonk/unlocker