Best practices for development pipelines


I’m in the process of re-thinking our studio pipeline configurations and I wanted to find out how others approach their development process.

Up until now my approach was to spin off a test project alongside a test pipeline config that would act as a companion to the actual project. Then I would do all of the backend testing and check it all against the front end functionality within that test project on shotgun web.

Is there a way to test a development config with a dummy test project in shotgun web without the need to keep creating test configs for each new project?

I’m not sure how that would work since schemas and task templates and various other things might be completely different across projects. Yet I don’t want to keep creating test projects if there’s a more streamlined approach.


Since the entire config is contained in a single git repo (templates, schema), we can test for another project by checking out a different branch in the test project. Yes it does have some limitations, but works fine most of the time.
We have a single test project with a development pipeline config entity, and do most of the work there, served right from the local machine.

1 Like

Using descriptors to link a config to a project will allow you to use both a wip config and production config on a same project, with user restrictions.

I find it easier for maintainability (pages designs etc) to simply create a bunch of test assets and episodes and shots on the project in production.
In the SHotgun Launcher, you can then chose which config to load on a project.

It also allows you to point to a configuration directly on a drive rather than a git repo, which cuts the whole git handling on you wip config.

1 Like

To auto test my configuration, I create a new project on the fly with a Pipeline configuration. I do it for each branch.
I use Gitlab-ci with the environment feature which let me create my project as an environment when I push my branch. And everything is deleted when the merge request is approved or closed.
With this approach anyone can test the branch while the environment is running.

1 Like