Moving Assembly Line jobs/resources to a different repository

Shippable's Assembly Line definitions for job and resource sections are global across a Subscription (i.e. GitHub organization or Bitbucket team), so you can move some jobs and resources to a different repository if needed. Typically, you'd do this because you want to change the way config files are organized, such as consolidating multiple config files into a single shippable.yml, or breaking up your config across several repositories to better manage permissions.

The following steps will help you move jobs or resources between repositories without affecting your workflow:

  1. Pause the rSync job for the source repository from where you want to migrate resources, jobs, or triggers.

  2. Add the resources, jobs or triggers you want to migrate to the destination repository's shippable.yml.

  3. If you have added the destination repository's config as an Assembly Line, go to the next step. Otherwise, add the destination repository as a Sync repository so that Shippable can parse the Assembly Line config.

  4. Commit the changes to shippable.yml to the destination repository. This will run the rSync job of the destination repository. If the job completes successfully, the jobs and resources you moved are now read from the destination repository. Your SPOG view will not change as no dependency has changed. To verify this you can view logs of the rSync job. See the version list of your resource from the SPOG view

  5. From the source repository, delete all migrated resources and jobs and commit your config. This will automatically trigger the rSync job and it should succeed. See the version list of your resource from the SPOG view

  6. Your resources and jobs have been moved to the destination repository. You can add, remove or update them there.

NOTE: While moving a job you should copy it exactly as it is in the source repository. You can add or remove dependencies only once the resource is successfully migrated to destination repository.