So, you may update your Ayon server frequently to keep up with the recent features/enhancements/bugfixes.
In this guide I’m sharing my process to achieve that…
In essence,
- Update Ayon Server
- Get the latest Ayon Launcher
- Get the latest Addons
Update Ayon Server
If you are using our ayon-docker then it’s as simple as
cd your-ayon-docker-repo-clone
sudo docker compose pull
sudo docker compose up -d
Get the latest Ayon Launcher and Addons
Bootstrap will do the hard work for you
If you turned off everything, you’ll only get the launcher, dependencies, core addons and third part packages.
Get the latest Ayon Launcher and Addons yourself.
Sometimes you might do that to get the latest launcher and addons once they are released on Github.
But, be careful with that… we don’t sync github releases with ayon bootstrap, we keep testing them after their Github release to validate them for production.
Get Ayon Launcher manually
- Clone our Ayon Launcher Repo
- [optional] add your studio customization
- Follow Build instructions
- Upload Launcher to Ayon
Get the latest Ayon Addons
You can find the zip addon file in the releases page for each addon repo on our github.
or you can create the addon zip file yourself.
In essence, you need to export addons by a create_package.py
and upload them to Ayon Server
Currently, Most addons live in
OpenPype
repo… but soon they will be separated.
Export Addons
Skip this part if you already have the addon zip file.
Steps:
- Go to the addon folder clone on your machine
- Run
create_package.py
For OpenPype repo
python server_addon\create_ayon_addons.py
For other repos that are already separated e.g. kitsu or shotgrid.
python create_ayon_addons.py
create_ayon_addons.py
has many flags: (this part is skippable … but, you’ll get use to it later on.)
--skip-zip : export files without zipping them.
--only-client : for addons that have client code and server code like kitsu, you can skip exporting the server code.
--addon : specify an addon to be exported, it expects one addon name afterwards. to specify multiple addons, use the flag multiple times.
--output : specify output folder.
Example:
Export only Houdini and OpenPype addons from Openpype repo.
python server_addon\create_ayon_addons.py --addon houdini --addon openpype
Upload Addons
Notes
Addons and Ayon Server compatibility
Some addons require some work on the server’s backend
which explains why some ayon server versions are not compatible with specific addon version.
Also, this explains why updating your ayon server solves some problems.
It’s considered to make a table to track which addon versions are compatible with which server version.
Specify Launcher Version
Don’t forget to specify it when creating new bundle.
Specify dependency package
Please Please Please, don’t forget to update the dependency package in bundle settings if needed.
Some addons require particular dependency packages
It’s considered to make a table to track specify which dependency package is compatible with which version of addons.
Deadline Ayon Plugin: Ayon Executables
[Good News] you don’t have to update ayon deadline plugin when adding new launcher to ayon server because ayon launcher takes care of that…
Although, I have only 1.0.0-beta.5
in ayon deadline settings but, in job log I can see that it uses the proper launcher version.
2023-12-05 18:10:36: 0: STDOUT: *** AYON [1.0.0-beta.6]
2023-12-05 18:10:36: 0: STDOUT: >>> Using AYON from [ C:\Program Files\Ynput\AYON 1.0.0-beta.6 ]
2023-12-05 18:10:36: 0: STDOUT: ... AYON variant: [ production ]
2023-12-05 18:10:36: 0: STDOUT: ... AYON bundle: [ OP3.17.5-1-NoKitsu-2023-10-48 ]
Dev Notes
Go to Ayon Developer Mode – Guide to learn more about how to run ayon launcher live from source code.
Update Repo
In OpenPype and Ayon launcher repos
git checkout develop
git pull origin develop
Update python env
In Ayon Launcher Repo:
./tools/manage.ps1 create-env
which updates poetry.lock./tools/manage.ps1 install-runtime-dependencies
which updates your libs as configured in project.toml
In OpenPype Repo:
.\tools\create_env.ps1
.\tools\fetch_thirdparty_libs.ps1