Search Unity

Unity 5 - Continuous Integration

Discussion in 'Unity Build Automation' started by MaT227, Jan 23, 2015.

  1. MaT227

    MaT227

    Joined:
    Jul 3, 2012
    Posts:
    628
    Hey everyone,

    We are using Unity 5.0.0b20 and Plastic SCM and we are quite interested by continuous integration for our project.

    We've discovered Unity Cloud Build service and from what we've seen, this service only supports iOS, Android, and Unity Web Player builds but we would like to know if WebGL is going to be supported and when this feature will be available ?
    Is there also a way to support Plastic SCM ?

    Unity Cloud Build seems to be a very promising solution but maybe there are other solutions that handle Unity continuous integration with Unity and any other source control solution.

    Thank you very much.
     
    hypeNate likes this.
  2. David-Berger

    David-Berger

    Unity Technologies

    Joined:
    Jul 16, 2014
    Posts:
    745
    Thank you for your comments I'll try to answer them in short form.

    For Plastic SCM please go here and have a look.

    WebGL is on the Roadmap as many other platforms too. What would you consider as most important after WebGL?

    Regarding continuous integration; you probably want to have a look here. What's in your mind, maybe you have a different view on continuous integration than I do, please let us know what you would like to see.
     
    hypeNate likes this.
  3. MaT227

    MaT227

    Joined:
    Jul 3, 2012
    Posts:
    628
    Thank you for your fast reply.
    Here are the platforms that interest me in order of importance.
    • WebGL
    • Standalone (Windows, Mac, Linux)
    • Mobile (iOS, Android, Windows Phone, etc.)
    • Consoles (XBOX One, PS4, Wii U, etc.)
    • WebPlayer
    I'll also take a look at the Plastic SCM thread.

    Here is my vision of continuous integration and the features needed but it might not fit to the classic definition of the expression.
    • Recording changes of a branch in a repository and building after each push on this branch.
    • Executing automated tests
    • Sending email concerning the build (logs, reports, results of automated tests, etc.)
    • Multiple build configuration (staging, production, etc.)
    • Automatic sending of the built version if succeed to a target platform (server, mobile, console, etc.)
    I also really appreciate that the Unity Technologies development team seems to be listening the needs of the Unity users and developers and offer a real dialogue for this next version of Unity.
     
    Last edited: Jan 23, 2015
    hypeNate likes this.
  4. David-Berger

    David-Berger

    Unity Technologies

    Joined:
    Jul 16, 2014
    Posts:
    745
    Brilliant, thanks for the feedback! Listening to the needs of Unity users is what Unity tries to achieve every day ;)
    • Recording changes of a branch in a repository and building after each push on this branch works already in the current beta, but only on the default branch. So actual using different branches is something which is currently not working. But detecting changes of source code and rebuilding works already.
    • Executing automated tests is something we want to add definitely.
    • Sending email concerning the build (logs, reports, results of automated tests, etc.) is already working but will be extended when automated tests are implemented and in general a lot of feedback was collected about the current email system which is being evaluated already.
    • Multiple build configuration (staging, production, etc.) - When using different branches is fully supported this is something which can be easy achieved by using multiple projects.
    • Automatic sending of the built version if succeed to a target platform (server, mobile, console, etc.) - You currently can use the pre/post build options to actually do this on your own - https://build.cloud.unity3d.com/support/guides/advancedfeatures
     
    hypeNate likes this.
  5. MaT227

    MaT227

    Joined:
    Jul 3, 2012
    Posts:
    628
    Again thank you for your fast reply, from what I've read, a lot of my requests are already handled except WebGL. :p

    Just to explain why I've placed the Webplayer last, it's because if WebGL is handled correctly in all of his aspects (Rendering, Networking, etc.) I don't see any argument to continue handling the Webplayer platform. But this is my point of view.

    I almost forgot to talk about one of the main feature of such service, it's to not keep it closed, I mean one of the greatest feature would be to be free and have control of almost everything that we are doing. Of course it's a hard task because it needs to be accessible to a lot of us, but don't forget to add an advanced panel for advanced users that might want to to do tricky things.

    I would also encourage user Unity users to post their vision of continuous integration, it might help everyone to get a complete solution for the future. :)
     
    David-Berger likes this.