Open MatthewAlanCrouch opened 5 years ago
Thanks for a feature request. In summary,
origin
, and use SpoonGit to push a branch feature/1
to this remote git repository.origin/feature/1
-> origin/master
), make comments on it, merge/close it.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.
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 notifications@github.com Sent: Wednesday, April 24, 2019 6:21 PM To: HiromuHota/pdi-git-plugin pdi-git-plugin@noreply.github.com Cc: Matt Crouch Matt.Crouch@tangoe.com; Author author@noreply.github.com 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,
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 GitHubhttps://github.com/HiromuHota/pdi-git-plugin/issues/32#issuecomment-486449682, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AD3WLEH2UK5IFBRHZXGK4XTPSDMMRANCNFSM4HIEOIHQ.
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.
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).
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.
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 notifications@github.com Sent: Friday, April 26, 2019 1:48 PM To: HiromuHota/pdi-git-plugin pdi-git-plugin@noreply.github.com Cc: Matt Crouch Matt.Crouch@tangoe.com; Author author@noreply.github.com 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.
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).
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. This could be an extension of this plugin,,, but wait, have you tried IvyGS - Ivy Git Sync? It says
IvyGS - Ivy Git Sysnc is a Sparkl plugin for help sinchronizer your BI solution that is storage on a git repository with Pentaho BI Server.
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 As this is built as a Sparkl plugin, it can be treated as a bootstrap tool to be adapted to the developer needs. It is possible to change the whole UI in CDE e and the backend in PDI.
Tagging @harrisward and @ivyis as they may be interested in that. Joel
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