Migration phases

Phase 3: Migrating your artifacts

This phase moves your artifacts from your existing solution to Cloudsmith while build artifacts stay available to your developer teams. Most migrations combine two of the strategies below: new builds start publishing to Cloudsmith straight away, and existing artifacts follow either on demand or in bulk.

Choose a route

Start from the size of the job and whether Cloudsmith can reach your existing platform over the internet. The Cloudsmith team helps you choose, and runs the bulk transfer for you where that is the better route.

Your situationRecommended routeWhat to read
Artifactory, more than a handful of repositories, or more than a few hundred gigabytesPublish new builds to Cloudsmith now. Let the Cloudsmith team run the bulk transfer with an admin token.Bulk migration run by the Cloudsmith team
Your platform is reachable from the internet and your security team will permit the connectionPublish new builds to Cloudsmith now. Configure the old platform as an upstream so existing artifacts migrate as teams request them. Bulk import whatever is left at the end.Just-in-time, Configuring legacy platforms as upstreams
Your platform is not reachable, or the connection is not approvedPublish new builds to Cloudsmith now. Export hosted repositories and import them with the CLI, one repository at a time.Back-filling, Running a bulk import
Release pipelines cannot change yetPublish to Cloudsmith and let the old platform proxy Cloudsmith until the pipelines cut over.Registry proxy migration
Mostly container imagesCopy them registry to registry. No export, no local disk. Do this first regardless of route.Importing Docker images

Whatever the route, only hosted repositories hold artifacts that need moving. Proxy and virtual repositories are configuration and are recreated as Cloudsmith upstreams. See Migrating artifacts from JFrog Artifactory or Migrating artifacts from Sonatype Nexus for the mapping.

What does and does not carry across

Set expectations with stakeholders before the first package moves. Packages and their contents migrate intact. Most of what surrounds them does not.

Outcome
Package files, names, versionsMigrate intact. Cloudsmith reads them from the package itself.
ChecksumsUnchanged. The bytes are the same.
Container image digestsPreserved by registry-to-registry copy. Changed by docker save and upload.
Maven snapshot timestampsRe-assigned on upload. 1.0-SNAPSHOT keeps resolving; builds pinned to a timestamp need updating.
Upload date, uploader, download countsReset. Every package shows the migration account and date. Use tags to record where a package came from.
Repository signingCloudsmith signs repositories with its own key, or a custom key you supply. Consumers trust the new key.
Properties, attributes, and other platform-specific metadataNot transferred. Cloudsmith has custom metadata if you want to carry it, but the migration scripts do not.
Users, groups, permissionsRecreated in Cloudsmith, usually through SSO, as planned in Phase 2.
Proxy, remote, virtual, and group repositoriesRecreated as upstreams. Nothing to export.
Build info, plugins, replication, and other platform featuresNot migrated.
Duplicate files in the sourceCollapse into one package in Cloudsmith unless overwrites are enabled.

The four strategies

Front-filling

CI buildsExisting platformArtifactory, NexusCloudsmithTeams andpipelinespublishpublishconsume todayswitch later

Also called dual-publishing, front-filling publishes every new build to both platforms. In practice it is one more publish step in CI: a second cloudsmith push, docker push, or mvn deploy target alongside the existing one. Nothing existing moves, but from day one every new artifact is in Cloudsmith, and teams can start consuming from it. Almost every migration begins this way.

Back-filling

CI buildsExisting platformArtifactory, NexusCloudsmithTeams andpipelinesnew buildsexport, then pushwith the CLIconsume

Back-filling moves existing artifacts out of the old platform in bulk. Export a hosted repository, push it into Cloudsmith with the CLI, verify the counts, move on to the next. It is the only route when Cloudsmith cannot reach your platform, and the route for anything just-in-time never picked up. Running a bulk import is the runbook.

Just-in-time

CI buildsExisting platformArtifactory, NexusCloudsmithTeams andpipelinesnew buildsrequestfetched on first request,then cached

Just-in-time configures the old platform as a Cloudsmith upstream in Cache and Proxy mode. Teams point their tooling at Cloudsmith; anything not yet present is fetched from the old platform and stored. Frequently used artifacts migrate themselves within days, and what nobody requests was not worth moving. It needs an internet-reachable platform and your security team's approval for outbound requests from Cloudsmith, which is typically the longest lead time in the whole migration. See Configuring legacy platforms as upstreams.

Registry proxy migration

CI buildsExisting platformArtifactory, NexusCloudsmithTeams andpipelinespublishproxied fromCloudsmithpull todaycut over later

Registry proxy migration is the inverse of front-filling: builds publish to Cloudsmith, and the old platform is given Cloudsmith as a remote or proxy repository so release pipelines that cannot change yet keep pulling through it. As pipelines cut over, the old platform serves less until it is only a passthrough and can be switched off. Common with Nexus, where a proxy repository pointed at Cloudsmith takes a few minutes to set up.

Note

Just-in-time and registry proxy migration both need a live connection between the platforms. Where that is not possible, use the upstream proxy agent for the just-in-time case, or fall back to back-filling.

Importing it yourself

If you are running the import rather than handing it to the Cloudsmith team, three pages cover the work:

Cloudsmith provides setup guides for all supported formats.

Phase 3 completion: migration is underway

Build pipelines publish to Cloudsmith directly, so new artifacts are available for development and deployment straight away. Existing artifacts are arriving either on demand through upstreams or in bulk, repository by repository, with counts verified as each one lands. Upstreams or proxy configurations keep downstream systems supplied while that happens.

Next steps

Once your artifacts are flowing into Cloudsmith, continue to Phase 4: Validation and decommissioning.