raisely/cli

Add CI support

Closed this issue · 6 comments

f1yn commented

It'd be beneficial to add the ability to integrate the cli into a CI workflow to automate the deployment of styles and components without the need to pull down and authenticate via login.

  • Support authenticating using a campaign key as an environment variable
  • Support selecting campaign automatically based on key
  • Remove need for user intervention if key is passed (assume that we're in an automated environment)

@flynnham We already have this:
https://github.com/raisely/cli#cicd-usage

Main issue is that components have different UUIDs between staging and production accounts – so we don't have a good dev -> staging -> prod workflow.

f1yn commented

As a user facing library though, I don't think that's an issue we should be tasked with solving?

CI support isn't super useful without it, since there's no support for branches. Staging -> Prod is one of the main holes in our developer experience right now.

f1yn commented

In that case, we'd just need an additional check (for staging deploys) to remap uuids to their component name, which would be the same across staging. That's as easy as just requesting the component models for a given campaign.

f1yn commented

So it'd take the staging component uuid instead

I think it needs a bit more thought, because the styles are mapped to the campaign path too which will be different between staging and production campaigns. We need a way to link campaigns together probably for their different states.