Skip to content
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

PR Preview Environments for Maintainer Productivity #18006

Open
ShrutiC-git opened this issue Dec 16, 2022 · 11 comments · May be fixed by #19415
Open

PR Preview Environments for Maintainer Productivity #18006

ShrutiC-git opened this issue Dec 16, 2022 · 11 comments · May be fixed by #19415
Assignees
Labels
never-stale Do not stale

Comments

@ShrutiC-git
Copy link

Is your feature request related to a problem? Please describe.
Yes, this issue focuses on the inability to test PR changes in isolation and therefore merge with confidence. Testing environments are often polluted and this takes time and might lead to pushing changes that are not as envisioned: particularly challenging for open-source projects.


Describe the solution you'd like
I would like to propose using ephemeral, preview environments, powered by Uffizzi. I would like to support Harbor by implementing Uffizzi preview environments.

Disclaimer - I work on the Uffizzi project.

We are an Open Source, full stack, previews engine, and our platform is available completely free for Harbor (and all open source projects). An Uffizzi integration with Harbor will provision preview environments of every PR in the cloud, allowing changes to be reviewed faster and ultimately increasing release velocity. Here are the open-source projects which are currently using Uffizzi to provision previews.

Uffizzi is purpose-built for the task of previewing PRs; it integrates with your workflow to deploy preview environments in the background without any manual steps for maintainers or contributors; the preview does not have to be built every time someone wants to test changes.


Describe the main design/architecture of your solution
The architecture uses a docker-compose alongside an image of the project. The docker-compose builds the app from the source — ensuring all local changes are reflected in the preview. For all the heavy lifting, like building the image, deploying/updating the preview, and posting the preview URL on the PR GHA workflows are utilized.


Describe the development plan you've considered
To begin development, we will write-out a docker-compose. Looking across the repo, I do see some Dockerfiles. We will utilize these to start up all the services defining Harbor. Once a docker-compose is built and tested successfully, this will be integrated with GHA workflows, which would build the image and provision the preview.


If this proposal is something that would be of value to Harbor, please do let me know. We'll go ahead and create a PoC for you!

cc @waveywaves

@ShrutiC-git ShrutiC-git changed the title Pull Request Preview Environment for Enhancing PE Preview Environments for Maintainer Productivity Dec 16, 2022
@ShrutiC-git ShrutiC-git changed the title PE Preview Environments for Maintainer Productivity PR Preview Environments for Maintainer Productivity Dec 16, 2022
@OrlinVasilev
Copy link
Member

Hi there! Thanks fore reaching out, I think we can have it considered within the @goharbor/all-maintainers team!

@ShrutiC-git
Copy link
Author

sounds wonderful, @OrlinVasilev — we'll get on getting a PoC together!

@github-actions
Copy link

This issue is being marked stale due to a period of inactivity. If this issue is still relevant, please comment or remove the stale label. Otherwise, this issue will close in 30 days.

@OrlinVasilev
Copy link
Member

@ShrutiC-git is there any update on this ?

@ShrutiC-git
Copy link
Author

ShrutiC-git commented Feb 20, 2023

@OrlinVasilev , here is the open PR for this.
Waiting to hear what the community thinks and if any changes are needed from my end to move forward with this ~

@OrlinVasilev
Copy link
Member

fixed your link to PR, can you please provide some links to already in prod implementations thanks!

@ShrutiC-git
Copy link
Author

ShrutiC-git commented Feb 21, 2023

thanks, @OrlinVasilev
Here is a list of open-source projects using ephemeral environments from Uffizzi.

You can see how the comment posted by Uffizzi looks like for a PR opened on Backstage. The link will take you to Backstage's ephemeral environment provisioned by Uffizzi.

@github-actions
Copy link

This issue is being marked stale due to a period of inactivity. If this issue is still relevant, please comment or remove the stale label. Otherwise, this issue will close in 30 days.

@github-actions github-actions bot added the Stale label Apr 22, 2023
@OrlinVasilev
Copy link
Member

@ShrutiC-git as we spoke can you prep some demo for our next community meeting: on 3rd of May here you can add it in the agenda https://github.com/goharbor/community/wiki/Harbor-Community-Meetings thank you!

@github-actions
Copy link

This issue is being marked stale due to a period of inactivity. If this issue is still relevant, please comment or remove the stale label. Otherwise, this issue will close in 30 days.

@github-actions github-actions bot added the Stale label Jun 24, 2023
@OrlinVasilev OrlinVasilev added never-stale Do not stale and removed Stale labels Jun 26, 2023
@OrlinVasilev
Copy link
Member

OrlinVasilev commented Jun 26, 2023

Waiting for helm chart implementation!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
never-stale Do not stale
Projects
None yet
3 participants