-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ability to Deploy git origin/master, merged/closed PR to server Enterprise Repo. #32
Comments
Thanks for a feature request.
You want SpoonGit to be able to do the deployment step. I think you'd be just fine if SpoonGit can deploy a branch (e.g., |
1. Correct
2. Correct
3. Normally one would have to use a 3rd party integration or manually upload new merged PR’s to an Enterprise Repo. Or use this manual upload when any automation fails. We have a Pentaho job that gets the PR>commits> changed files>file content with the GitHub APIs and puts them on the Enterprise repo with the Pentaho APIs. Still requires some manual intervention but useable. We are also currently looking into the GitHub Actions where we can build a workflow to process similar to a webhook, but customized.
My thought would be that it would be a great additional feature for SpoonGit to have a simple deploy mechanism that would put the changed files to the Enterprise repo directly. The bigger issue that this really addresses, partially at least, is how to ensure that your local repo, the GitHub master (origin/master), and the remote Enterprise repo that the production server accesses all stays in sync.
Thanks for you attention,
Matt Crouch
Software Automation Developer
[Tangoe]
From: Hiromu Hota <[email protected]>
Sent: Wednesday, April 24, 2019 6:21 PM
To: HiromuHota/pdi-git-plugin <[email protected]>
Cc: Matt Crouch <[email protected]>; Author <[email protected]>
Subject: [EXTERNAL]Re: [HiromuHota/pdi-git-plugin] Add ability to Deploy git origin/master, merged/closed PR to server Enterprise Repo. (#32)
Thanks for a feature request.
In summary,
1. You use GitHub (or alternatives) as a remote git repository, say origin, and use SpoonGit to push a branch feature/1 to this remote git repository.
2. You use GitHub (or altenatives)'s web UI to create a PR (e.g., origin/feature/1 -> origin/master), make comments on it, merge/close it.
3. You deploy all files in origin/master to a Pentaho Enterprise Repository currently using a 3rd party service or manual upload via Pentaho User Console.
You want SpoonGit to be able to do the deployment step.
I think you'd be just fine if SpoonGit can deploy a branch (e.g., origin/master) instead of a merged PR because this PR is already merged to a branch like origin/master.
Correct me if I'm mistaken.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#32 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AD3WLEH2UK5IFBRHZXGK4XTPSDMMRANCNFSM4HIEOIHQ>.
|
I like the following idea
but 1. it would be difficult to implement it and 2. it may not be appropriate to implement this feature in SpoonGit from architectural point of view.
As you admitted it, your Pentaho job "still requires some manual intervention." One simple way of syncing I could imagine is to delete all files from the Pentaho Repository, no matter what status it is, and upload all files from the git repository.
I think this kind of sync would better be triggered by GitHub and executed by a server (instead of by a client like Spoon/SpoonGit). Please let me know if you have a different thought. |
I think it could be designed and implemented without incredible difficulty, some error handling.
I had not thought of it’s architectural appropriateness in the way you describe:
“this kind of sync would better be triggered by GitHub and executed by a server (instead of by a client like Spoon/SpoonGit). If this feature is implemented in SpoonGit, you still have to manually launch Spoon (and clicks "sync" button, depending on how it is implemented).”
Yes, Absolutely better for a server to control it and not the client. This is actually the method I’m already exploring with GitHub Actions/Workflows triggered by the pull_request event.
Matt Crouch
Software Automation Developer
[Tangoe]
From: Hiromu Hota <[email protected]>
Sent: Friday, April 26, 2019 1:48 PM
To: HiromuHota/pdi-git-plugin <[email protected]>
Cc: Matt Crouch <[email protected]>; Author <[email protected]>
Subject: [EXTERNAL]Re: [HiromuHota/pdi-git-plugin] Add ability to Deploy git origin/master, merged/closed PR to server Enterprise Repo. (#32)
I like the following idea
your local repo, the GitHub master (origin/master), and the remote Enterprise repo that the production server accesses all stays in sync.
but 1. it would be difficult to implement it and 2. it may not be appropriate to implement this feature in SpoonGit from architectural point of view.
1. It'd be difficult to implement it
As you admitted it, your Pentaho job "still requires some manual intervention."
I'd imagine that this Pentaho job assumes that nobody else but himself manipulates the Pentaho (Enterprise) Repository since the last sync, but when some unexpected things happen (e.g., somebody else manipulates the Repository) manual interventions are required.
In order for this Pentaho job, or 3rd party script or whatever, to upload only the files modified/added/deleted by the last commit (could be trigger by a PR) without any need of manual intervention, he first has to figure out the status of the Pentaho Repository in the way that git does, which I don't think is straightforward.
One simple way of syncing I could imagine is to delete all files from the Pentaho Repository, no matter what status it is, and upload all files from the git repository.
This is simple, reliable, but not efficient (especially when you have many files to upload).
1. it may not be appropriate to implement this feature in SpoonGit from architectural point of view
I think this kind of sync would better be triggered by GitHub and executed by a server (instead of by a client like Spoon/SpoonGit).
If this feature is implemented in SpoonGit, you still have to manually launch Spoon (and clicks "sync" button, depending on how it is implemented).
Please let me know if you have a different thought.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
|
I'd implement this in a way that this can be executed in CLI instead of GUI.
It is available on Pentaho Marketplace and can be installed to Pentaho Server, which sounds a perfect solution for your need. |
@latinojoel any thoughts? |
Hi all, IvyGS was developed a while back and the concept was proved by using this git PDI plugins: https://github.com/ivylabs/ivy-pdi-git-steps Tagging @harrisward and @ivyis as they may be interested in that. |
Currently Deploys to a remote Enterprise Repository require a 3rd party service listening for PRs or manually uploading files via User Console. Neither are necessarily very friendly to set up or maintain.
Pentaho (PDI) can itself get Deploy content using GitHub API's and upload to the Enterprise Repository with Pentaho Repository API's (our current preferred solution, along with GitHub Actions-Workflows). Adding this ability to Deploy a merged PR from spoongit would be a huge improvement on workflow efficiency
The text was updated successfully, but these errors were encountered: