Frage

I'm building a multi-platform game with MonoGame. I'd like to target Xamarin.Android, Xamarin.Mac, Linux and Windows.

My MonoGame solution consists of:

  1. XNA content project
  2. Game core project (PCL)
  3. Platform-specific projects

(3) depend on (2), which depends on (1).

My Jenkins setup is:

  • Windows master
  • OS X slave
  • Linux slave

To my understanding:

  • The XNA content project build requires Microsoft's XNA content pipeline and thus must run on Windows
  • I can bring the Xamarin.Mac DLLs over to Windows and build from there, but a Mac is required to package and sign a standalone app.

How would you set Jenkins up to build everything?

War es hilfreich?

Lösung

I figured there was at least two ways of solving this:

  1. Break the solution up per-project Nuget packages and build them in the proper environments. This is what I would have done in Maven land. While theoretically possible using MSBuild and Nuget, it's beyond manageable for me at this point.

  2. Manually share the project files master->slave and execute relevant build commands on the slaves. This is what I ended up doing. Since my master runs Windows, I mounted the master workspace over smbfs on the slaves.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top