We are in the process of setting up our production environment. I have enabled version control in Dev and have been committing/pushing my workbench edits to our external GIS repository. I have connected our production environment to the same repository, but Fetch doesn’t pull down the workbenches. Is that normal behavior, as is that user-error? I know I can make a Project file and move them, but was wondering if I’m doing something wrong.
Hi
Version Control in FME flow does work like this I am afraid. It is not integrated to that depth. When you fetch you are pulling down the history of workspaces and updating an internal FME database tables that holds GIT history details. There is no interactions with internal database tables that hold information such as parameters and parameter values, etc.
For moving between environments, both Projects and Deployment parameters are very useful starts in moving between environments, and then there is more under the constant progression to CI/CD https://support.safe.com/hc/en-us/articles/25407510327437-Getting-Started-With-CI-CD-DevOps
I’m having difficulty understanding the purpose of Version Control in Flow then. Is this workflow, correct?
- Create a new workbench in FME Form and Publish to FME Flow.
- Commit changes.
- Fetch from Remote
- Push to Remote.
At this point, my FME Flow and Git repository are both updated.
- User downloads the workbench from FME Flow, makes some edits, re-publishes workbench.
- Repeat steps 2-4.
FME Flow has the most recent version of the workbench, and Git repository have both historical versions.
Unfortunately, the changes make in step 5 were a mistake and need to be rolled back.
- From the Workspaces page, the previous version can be viewed by clicking “History”
- downloading the correct version to the user’s desktop,
- opening the workbench in FME Form,
- and Republishing the Workbench to FME Flow,
- Committing edits,
- Fetching,
- and Pushing to Remote.
That is all correct above.
The key separation is between the Git and the FME Flow workings, is that the Fetch from Github does not update tables that are key to updating the “run workspace” UI. Instead, as you mentioned, you need to download the file and then republish it.
My pet peeve is that you can not also force users to commit, so the version you are running in FME Flow, may not be the same as the last commit shown in Git.