Author Topic: New Tutorial: Building an Automated Build and Release Server for PixInsight  (Read 6350 times)

Offline Sean Houghton

  • Newcomer
  • Posts: 36
    • Cerebiggum
This is probably a bit ahead of schedule since Juan has not published the documentation for using the automated update system.  However, I reverse engineered it for fun and wrote a tutorial on setting up a build server that makes publishing new updates a snap.

The tutorial only addresses PJSR packages, but PCL projects can benefit hugely from an automated build and deployment system.  Especially when you need to build binaries on multiple platforms and aggregate them together.  I'll write a tutorial about setting that up at some point.

http://www.cerebiggum.com/2010/12/building-an-automated-build-and-release-server-for-pixinsight
Sean
Carlsbad, CA
cerebiggum.com

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Hi Sean,

Hey, that's an excellent tutorial! Thanks a lot for creating it.

There's however something dangerous in the XML file you've included:

<?xml version="1.0" encoding="UTF-8"?>
<xri version="1.0">
  <description>
     <p>Updates for the MyScript script for PixInsight</p>
  </description>
   <platform os="all" arch="noarch" version="1.6.9:1.6.9">
      <package fileName="TEMPLATE_FILENAME"
               sha1="TEMPLATE_SHA1"
               type="script"
               releaseDate="TEMPLATE_RELEASE_DATE">
         <title>My Script</title>
         <remove>doc</remove>
         <description>
            <p>This update installs an update to the MyScript script.</p>
            <p>http://www.cerebiggum.com</p>
            <p>Copyright (c) 2010 Sean Houghton. All Rights Reserved.</p>
         </description>
      </package>
   </platform>
</xri>


If your updates.xri file includes that <remove> element, then when the users isntall your script they will remove the whole reference documentation tree at the same time!

Other than that problem, your tutorial is fine.

There are also a few changes to the XRI format (nothing that invalidates your tutorial). There's a new <metadata> element that allows saving a lot of XML source code when one has to publish a module for several platforms. I'll publish a formal description of XRI very soon.
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline Sean Houghton

  • Newcomer
  • Posts: 36
    • Cerebiggum
I can see how removing the documentation could be bad  :-[  I've removed the offending node.

I'm having one problem with the updates now - whenever I update PixInsight adds a new entry for my script into the scripts menu instead of replacing the existing one.  As result I end up with multiple menu options for the same script.  Is this something I need to fix in the xri file?
Sean
Carlsbad, CA
cerebiggum.com

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Hi Sean,

Your XRI file is correct. That's a known bug in version 1.6.9. Each time a script is updated a new entry gets added to the features scripts list. I already have fixed this bug and will release an update to the core application as soon as possible.

After this update I'll publish the official documentation on PixInsight repositories.
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline Sean Houghton

  • Newcomer
  • Posts: 36
    • Cerebiggum
I'm now using my web server as a real deploy server for my script.

Also, I wanted to mention that a new web service called CloudBees that will host a Hudson (now called Jenkins) instance for free. I've added a small section to the tutorial about how to use it.
Sean
Carlsbad, CA
cerebiggum.com