Can Gitlab-CI runner work with MacOSx and docker to publish in app store? - macos

I am thinking to host a MacOSX device for building and distributing the application in the Mac Application Store.
I would prefer to run the gitlab-runner instance using a docker container, and if possible, deploy it with marathon by distance.
Is that even possible?

Last time I built native apps you needed native OS X for using the necessary tools like app signing and such. Building in a docker container is not native OS X, so that would not be possible, and Marathon is then also out of the question.
But..using a GitLab runner with the Shell executor on Mac OS should work! You can run all Mac tools (if they don't need an interactive window)
If you are using hybrid apps (React Native for instance https://github.com/ptmt/react-native-macos) you can build apps for 90% anywhere, but it becomes tricky when you need to sign stuff again.. But here are services like http://www.macincloud.com where you rent a Mac for a while!

Related

Bundle Docker image as an executable application for major platforms / Can we run docker images without docker?

I would like to build an application as an executable that anyone could start without any requirements and without GUI.
Do you know if we can bundle a Docker image as an executable app for Mac OS or Windows (and Android/iOS) ?
Another way to phrase it, can we run docker images without docker installed ? can we bundle a docker image and docker inside an app and when executed it starts a docker container with the embedded docker ?
Docker is just a set of linux features (windows containers use similar windows features), so as long as you pack what ever you need to set everything just like docker (or any other container runtime like podman) does for you it will probably work. Just notice if using a docker image you'd need to unpack its files and do everything the docker engine and CLI are doing for you.
It depends on the application type but you could use a PWA which runs as a native desktop application on computers and smartphones and has similar functionality while using general purpose web frameworks like React, Angular or Vue.
If you want to run an executable regardless of the operating system or architechture docker's your best bet, and if being light weight and daemonless is your thing consider using podman as your application dependency and running your application
with it or its likes

Sign windows electron build on macOS (Catalina)

On Mojave I had electron builder set up with osslsigncode to create windows builds working with an EV certificate. outlined here
Since 10.15/Catalina this is no longer possible as the build process uses Wine to create the nsis installer package. Wine is 32bit, support for which has been dropped.
The new recommended build process is to use a docker container to perform the build (essentially using linux). I am trying to create a docker image with osslsigncode without success so far, and am wondering if I will ever be able to get the EV usb dongle visible in a docker container.
Anyone have any solutions - other than build on windows!

How to emulate clean mac environment to test .app

I created the .app with Qt application that I'd like to distribute. It works fine on my developer machine and now I want to test it on clean mac system to check if all dependencies bundled and it works correctly. But I don't have another clean mac.
Is there a way to emulate clean environment on dev machine to check the .app?
You can install macOS on a virtual machine, using Parallels or VMware Fusion.
This can be useful to ensure your app is deployed correctly, with all the dependencies in the right place.
However, keep in mind that the VM won't support accelerate graphics, so if your app is using OpenGL, you will not be able to test it in this kind of environment.

Electron app with pm2 packaged for Mac respawns itself

I made an Electron app that uses the node.js package pm2, a process manager. It all works as expected until the application is packaged using electron-packager. Then, each instance of the application starts a new instance. If I remove the pm2.connect() instruction, everything works as expected again. What's going on?
Can pm2 not be used in packaged applications on OS X?

Icenium / Phonegap Build - how do they create IOS ipa?

I'm currious to know how e.g. Telerik Icenium / Phonegap Build creates IOS ipa files?
Do they use physical mac's for this task or how do they come about this?
Or rephrased: Can I in any way create Cordova ipa files on Windows?
You don't need an actual Mac, just Mac OSX. If you don't feel like buying a mac than you can get a hold of the image of Mac OSX and install it onto your PC using Virtual Machine software. I use VMWare to run MacOSX from my Windows 7 x64 machine.
VM's are a great way to go, the driers can take a bit to setup, but once everything is working it's perfect.
VM's even support ethernet so from within the VM you can browse the web, download mac apps.
Install things like XCode or GameSalad. I suggest researching how to use Virtual Machines.
(I'm part of Icenium team). Yes, we're using physical Mac machine to build your app for iOS.

Resources