Dev -> STAGING -> TestEnv1 -> TestEnv2 -> TestEnv3 -> Production.
Thanks for your reply. Yes, I'm using OpenDeploy to publish files to production. And yes, when I refer to "production", I refer to a web server that is visible to the public.After a file is versioned in STAGING, I have several other testing environments I deploy to, before a wf job is deployed to production. Something like this:Dev -> STAGING -> TestEnv1 -> TestEnv2 -> TestEnv3 -> Production.
Rajat,Yes, the trigger for the workflow to proceed from one environment to the next is a User Task. I already have OD deploying only those files that are attached to the workflow JOB using filelist deployments. But now the challenge is getting the proper version of those files deployed.fish,Those are great ideas. Question regarding thought #2 about creating an edition for each job that is submitted to STAGING. How much of a resource hog would that be, if any? We sometimes have up to 40 jobs created a day.Thanks for your thoughts.
There is one school of thought that says that any given file should only be allowed to be associated with one workflow at a time and that if a second workflow is initiated with a file that is already part of a pre-existing workflow, some error should be indicated and the job either cancelled or the file removed from the second job.
Adam,What exactly are the drawbacks if multiple jobs have the same file?
If they are all run sequentially (ideal scenario), one would assume that the code in different environments can have different versions. Doesn't the workflow retain the right file version? Just wanted to inquire about the school of thought.-Rajat
Adam,What exactly are the drawbacks if multiple jobs have the same file? If they are all run sequentially (ideal scenario), one would assume that the code in different environments can have different versions. Doesn't the workflow retain the right file version? Just wanted to inquire about the school of thought.-Rajat
Workflows operate within a workarea on a branch.If you're using a shared workarea and you attach user1's version of file1 to the job, and then user2 makes additional changes to file1 within the same workarea and adds that to a new job - then both jobs will be referencing the exact same file (user2's mods) and the version without user2's mods is gone.If you deploy from staging, but you have an extended process that goes on beyond the submitting of the files to the staging area - then (using the same scenario as above) user2's submission will overwrite user1's version in staging and although the first deployment of user1's work to the first testing server will work it is likely that the next deployment (either to another testing environment or to the production environment) will then be user2's and not user1's - even though user2's work might not yet have been fully validated in the initial testing environment.If you're using different workareas on the same branch, then prior to submission each version of the file is maintained separately, but you generally should not deploy files from workareas - so you're once again faced with the issue of potentially deploying a version of a file that was not the version originally associated with the particular job.Since editions are unique snapshots in time, the version in the edition will never change and thus if you deployed the version from that edition to one environment it doesn't matter how long it takes before it gets deployed to the next environment - it will be the same file. This, however, brings in another tricky aspect of allowing the same file to be associated with multiple jobs at the same time... If version-1 of file1 is submitted and then proceeds to the next testing stage, and then version-2 of file1 is submitted and also proceeds to the next testing stage ... if, for some reason, the second job (with version-2) is approved / verified before the first job - then you will potentially succeed in deploying version-2 first, and then version-1 over version-2 - thus negating the later changes. You could probably avoid this by only deploying newer files (dateDifferent="no") but it's still a somewhat risky and confusing issue.If you make sure that you do not have the same file attached to more than one active job at any one time - then you don't have this problem. If you try to attach a file to a job and it errors out because the file is already part of another job - then it makes sense to find out why the earlier version hasn't made its way out yet and whether it should, or whether it should now be rejected in favor of the newer version ...It comes down to each organization's process requirements.
[...]I read the following suggestion from this thread:"another alternative is to use editions - when your workflow submits the files to staging, cut an edition and store the edition name in a job variable - when it comes time to perform the deployment - do so from the edition rather than from staging."Can someone provide guidance on how to capture and store this value so that I can allow my users to time deploy a spefic edition? I'm having difficulty finding help on that task.