GitHub / GitLab for Version Control | Wi...
Hey there, we are currently evaluating windmill as a replacement to our self-written orchestration code. As we are a team, we need to be able to have flow definitions and code in a repo as the single source of truth.
I read through https://www.windmill.dev/docs/advanced/deploy_gh_gl and understood that it's possible to push changes from the repo to windmill via the sync command. But does the other direction work too? Is it possible to make changes in the UI and push changes to the repo from there?
We use Gitlab btw.
GitHub / GitLab for Version Control | Windmill
Learn how to integrate GitHub / GitLab repositories with your Windmill workspace for effective version control.
11 Replies
sorry i missed the pull action - it's basically a cronjob syncing changes in the UI back to the repo
that's a bit concerning as the repo can be out of sync at any given time
also, how does the windmill sync command deal with merge conflicts if multiple people do updates in parallel?
Hello @alp82 , we deal with merge conflict by having a snapshot of the last pull in .wmill
we will ask for confirmation when merge conflicts are detected
makes sense. still, the repo being out of sync with the windmill server is still bugging me
maybe it's a matter of thinking outside the box and accepting that the UI is the single source of truth
but not sure how well that works with bigger teams
It doesn''t have to be. We will show the merge conflicts on pull and ask which version you prefer
Also, for bigger teams we really recommend using a staging and prod workspace
And you deploy from staging to prod, either through our EE UI or through an intermediary github repo
So source of truth become the repo
You can think of windmill as the infra you deploy on and the UI a way to override what's deployed
ah i see, just checking https://www.windmill.dev/docs/core_concepts/collaboration
looks like there is no way around EE to enable workspaces
Collaboration in Windmill | Windmill
Collaboration in Windmill is simplified through various features and workflows.
You can use up to 3 workspaces without EE
which is enough for dev/staging/prod
what is EE is the deployment UI
i see. so without EE we will need to copy changes we make in the UI to the repo and push those manually, correct?
you would use the pull and push actions/cli in CI
and in the cli you can basically also specify the workspace to deploy to
yup
okay i think i got it now. thanks so much for the clarification!