AIR Build Server Setup
Asked Answered
L

0

36

I am at the point where I am running into incredibly long build times for my project and more projects to come. I would like to make a build server but I have not had any experience with them aside from downloading files from them as an end user.

My ideal setup is this: A GitHub where I can place my .fla file, classes and ANEs. The server sees this, compiles it, and allows me to test it remotely or hook into some debugger that lets me see stack traces and active variables at breakpoints and errors like Adobe Animate or Flash Builder.

Now I see there are GitHub plugins for Jenkins. I see there are questions referring to how to set one up with Flex/AIR. I come here with a few issues.

  1. I am too far into my project to switch over from using Animate to something like Flash Develop or anything ADT related. The only thing I have found is how to take existing elements from my library in Animate and have them in a .swc for handling. However, this doesn't let me access existing elements in the Timeline and would rather not try to export/position/handle them in code (which is the only workaround that I see if this is not possible)
  2. I run ANEs that are dependent on Google Play services and other Android specific libraries. Thus, I haven't been able to use the standard mobile debug launcher for AIR. I see Jenkins has some specific abilities for Android. Is it possible to somehow use this to give me a proper window for testing? I am thinking that I would need to run their emulator after compiling everything but I am unsure if there is a more efficient method or if it would even work.

I have never worked with Jenkins before or any other tools capable of automating tasks. Any step by step explanations is appreciated if you have the time.

Legere answered 1/8, 2017 at 13:49 Comment(9)
Writing a proper answer to this question is a lot of work, so I'm not going to try that. We've done this in the past a lot, though mostly with Flash Builder based projects. Some steps we took: * Install the AIR SDK on your Jenkins machine. *Install ANT. *Write a build.xml that you can run with ANT, calling the AIR SDK (using MXMLC to output an swf, then calling ADT to package it to an AIR package or even build an Android/iOS app from there)Cooncan
@frankhermes Great to hear you had it working. Were you able to get it in sync with an IDE for debugging as well? Any experience with Adobe Animate or its predecessor for .fla files?Legere
We did debugging on our own machines, with iPads connected, from Flash Builder. We used Flash (Animate) only to produce the graphics, and published those to .swc files, which we used as libraries in the Flash Builder AIR project. The Jenkins machine only had the AIR SDK installed so Flash Builder itself was not necessary to build the app.Cooncan
It took me about one work day to make the switch from Animate to FlashDevelop and it was the best decision I ever made. So I would suggest you make the jump away from Animate as soon as you can--to pretty much anything else--because it was designed for animators, not developers! You will save more than a day's worth of time in the first couple of weeks of switching.Mythomania
@frankhermes What OS is your Jenkins server running on? Linux seems to be the obvious choice when it comes to build servers, but Adobe Air SDK does not support it?Systematic
@Systematic Master is running on linux but we have a MacOS slave and a Windows slave too, because not every project can be built on any OS.Cooncan
@frankhermes But you were able to run Adobe Air SDK on Linux? Are you using any workarounds like wine or how can you compile Air on Linux?Systematic
@Systematic No sorry I wasn't clear: our AIR projects are on a Mac Mini configured as a Jenkins slave.Cooncan
#1 Do you need build your flash applications in an automated way? #2 How long does your current build approach take?Frondescence

© 2022 - 2024 — McMap. All rights reserved.