Start Free Trial

Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.

CI/CD and deploy pipeline

yayadk
6 - Meteoroid

Hi Guys.

I am new to Alteryx but been engineering data for the past 15 years with MS: Synapse, Fabric, DevOps...

I was trying to find online but can't seems to find the right info.

I have created 2 environments: Test, UAT and Prod. I am going to created WF in Test and want to deploy them later on to UAT and after all is good to Prod.

Would love to do it with version control just like in Fabric /Devops.

Even better if i could had some parameters/variables in the WF to be changed as i move to the other environments like the connection name, server name etc.

 

Would love to hear from you HOW do i do that, info, videos...

Thank you very much

 

Yair

8 REPLIES 8
OllieClarke
15 - Aurora
15 - Aurora

Hi @yayadk 

Alteryx Servers allow for multiple versions of workflows/apps/macros (with the 'published' one being live). 

You can use the server APIs to migrate workflows between servers once they've been marked as ready for migration (there's more information here: https://help.alteryx.com/current/en/server/api-overview/alteryx-server-api-v1/migratable-endpoint.ht...)


You can also use the DCM Connection handling to seamlessly update connections between your local machine, test and prod servers

(There's a demo of this here: https://community.alteryx.com/t5/Analytics/Introducing-Alteryx-DCM-Environment-Connection-Handling/b...
and more information here: https://help.alteryx.com/current/en/server/administer-alteryx-server/dcm-connection-handling.html#pe...)

Does that help?

 

Ollie
 

yayadk
6 - Meteoroid

Hi Ollie

Thank you very much for the respond and the help.

I will give it a go and see if it did.

apathetichell
20 - Arcturus

Short is --- you're self-building... If this is critically important for your enterprise - I'd recommend learning the Server APIs and reviewing how to build .yxzp files internally from .zip files. You can then use Github/Github Actions/Serverless Functions  to build CI/CD pipelines. 

yayadk
6 - Meteoroid

Tnx  apthetichell

I will read it.

 

yayadk
6 - Meteoroid

I have now tested it.

The migration add on is great.

The DCM connection handling part is not what i am looking for as i would like to change the different input data connections and the same with the output data connection depending on the dev or prod automatically.

Is this possible?

OllieClarke
15 - Aurora
15 - Aurora

@yayadk 

It depends on what you mean by "automatically".

 

A few ways I've done this in the past with databases are kind of automatic, but require initial effort.

  1. Use DCM Migration handling.
    1. Create the DCM connections first in Dev and Prod, setup the mapping on the prod server, and then share those connections to users
    2. The users will build with the dev connections, but when these are migrated to prod everything will gracefully update
  2. Use DSNs
    1. On the user's machines/dev server nodes/prod server nodes create identically named DSNs which point at different servers
    2. The users will use these DSNs to connect and as they're identically named as the workflow moves through the environments it will point at different servers
  3. Use a custom Macro
    1. You can build your own 'data connection' macro which updates its connection based on logic (like the workflowdirectory constant or some other flag). 
    2. Users connect to data using this custom macro rather than the input data tool, and it will repoint depending on its environment
  4. Use scripts
    1. You could also set up scripts/flows which update the xml of workflows as part of the migration process to repoint the connections

 

Does that help?

 

Ollie

 

yayadk
6 - Meteoroid

Yes it helps... tnx

What about using DevOps for release/deploy pipeline between Dev and Prod?

Anyone tried that?

Docs?

apathetichell
20 - Arcturus

How about:

Jira Project- automation for approvals

JIRA approval sends AWS SNS notification to Lambda.

Lambda downloads .yxzp package from Dev

Lambda uploads .yxzp package to Prod

 

As mentioned --- you'll have to self build.

Lambda marks new version as active version in Prod.

 

 

Labels
Top Solution Authors