spring-io / initializr

A quickstart generator for Spring projects
https://start.spring.io
Apache License 2.0
3.43k stars 1.73k forks source link

Create project at github #63

Closed cemo closed 6 years ago

cemo commented 9 years ago

It would be nice to create project directly at github instead of downloading them. This would make easier to start. It will also help to demonstrate a bug in case an error.


I forgot to add link of github api which is supporting to create a repository.

https://developer.github.com/v3/repos/#create

snicoll commented 9 years ago

I am not sure about that one. This would be interesting to provide this for start.spring.io but not have that as default for the library. What would be the workflow?

cemo commented 9 years ago

Currently we have only "generate project" button. I am considering another button next to it, "generate project at github". This might check users credential and open a popup for further customisations such as repository name. Then user can initiate generation process. Does it make sense?

snicoll commented 9 years ago

I think it does for our instance. Probably not something you'd like to have in the library by default. This also brings the issue of template sharing/customization and I don't really know yet how to handle that.

@dsyer thoughts?

cemo commented 9 years ago

@snicoll I could not understand exactly what you mean by:

Probably not something you'd like to have in the library by default.

This will help a lot for Spring Boot issues as well. A bug usually needs to be reproduced in a working example. In such cases preparing project and then uploading project to github is cumbersome. I prefer a project created by start.spring.io and then making necessary changes to reproduce error.

snicoll commented 9 years ago

This project has two components: a reusable library and an "instance" that reflects what start.spring.io provides. We are designing this in the aim that organizations deploy their own instance with their specific configuration.

I don't think we should include such feature in the library (at least not by default). Does that make sense?

cemo commented 9 years ago

Thanks a lot for clarification. I am completely agree with you. It might be better to include but not enabled by default.

snicoll commented 6 years ago

We're cleaning out the issue tracker and closing issues that we've not seen much demand to fix. Feel free to comment with additional justifications if you feel that this one should not have been closed.

amihaiemil commented 6 years ago

@snicoll I'm not a user of start.spring.io. I simply saw the website, the downloading of the .zip and thought it would be nice to have it sent to Github instead.

I guess the user would just have to log into spring.io (Oauth2, via Github account), provide spring.io with the rights of creating a repo (+push rights) and that's about it. spring.io would then have to make a few calls to Github's API and a git push.

snicoll commented 6 years ago

@amihaiemil I am not asking you how you'd do it, I am asking for a motivation for such a change. See this comment. Initializr is a client agnostic service so this also has to be taken into account.

amihaiemil commented 6 years ago

@snicoll Well, Github is the biggest platform for software development, that would be the motivation.

meltsufin commented 5 years ago

We're building tools with KNative where you can deploy applications to the cloud directly from GitHub, and because of the zip file download and then manually migrating it to GitHub, it creates a lot of friction. Having the ability to publish directly from Initializr to Github would make for a much better user experience. cc/ @saturnism

snicoll commented 5 years ago

We discussed this request on the team call and I confirm we are not keen to implement such a feature for several reasons:

We do recognize that the developer experience with Git could be better. I've created #751 to handle that. Feel free to chime in with additional suggestions.

Thanks for the feedback!

wilkinsona commented 5 years ago

There are some interesting numbers around Git in the recent JVM ecosystem report. Git was used by 74% of respondents. Of Git users, 25% used GitHub. Of GitHub users, 52% used public GitHub and 48% used private.

Assuming that those numbers (from 10000 respondents) are indicative of the Spring Boot community, our focus on Git seems to be warranted. I also think it justifies not investing in integration with public GitHub as it would only be of use to 9.6% of users.

fangjian0423 commented 1 year ago

hi, @snicoll , @wilkinsona .

For the https://github.com/spring-io/initializr/issues/63#issuecomment-430581120 and https://github.com/spring-io/initializr/issues/63#issuecomment-430605168, I have some different thoughts:

While being able to go from a UI to a github project is nice for demoing CI/CD, we don't believe this is something our users are doing concretely. At the very least, I expect the user to actually implement something before pushing a first version.

Github Codespaces could make users develop their codes in cloud any time, so I think generate github project firstly is very userful.

Now Codespaces is offering all users 60-CPU hours free a month and has support for JetBrains tools in addition to VS Code.

If we push to github, it also means that we own the first commit on the repository which brings a potential compliance problem

The first commit with "Initial commit" commit message(or something better) looks good to me, I don't think it will bring potential compliance problems.

Actually, when creating a github repository on github dashboard, the first commit message also is "Initial commit".

If we push code to Github, it is reasonable users expect to be able to chose a license for the code and we are not keen to add this extra complexity.

Now Every developer and team can now get private repositories with unlimited collaborators at no cost with GitHub Free.

For private repositories, I think they don't care which license they use.

For public repositories, we could don't choose any licenses or choose a default license.

I also think it justifies not investing in integration with public GitHub as it would only be of use to 9.6% of users.

Now we can include github private repository users.

Finally, I hope community could reconsider this feature, thanks!

wilkinsona commented 1 year ago

The first commit with "Initial commit" commit message(or something better) looks good to me, I don't think it will bring potential compliance problems.

It's not the commit's message that may be a problem but its author. start.spring.io being the author of that commit may cause legal problems.

I also think it justifies not investing in integration with public GitHub as it would only be of use to 9.6% of users.

Now we can include github private repository users.

To consider this feature again, we'd need to see some data that shows a very clear change in the usage of Git and GitHub since the 2018 JVM ecosystem survey. I've just looked at the 2021 survey and it didn't ask those questions unfortunately. If anyone finds similar, more up-to-date data, please share it with us. Until then, we can't justify spending much time on this based purely on personal anecdotes.

stliu commented 1 year ago

@wilkinsona according to Spring's state of 2021 report, it says 1/4 are using GitOps, with this pushing to github feature, it will help developers to better adopt the GitOps

Nearly 1 in 3 are adopting event streaming and 1 in 4 are using GitOps. The adoption rate for event streaming aligns closely with that for Spring Kafka as mentioned above (Kafka being an important and popular event streaming technology). We added GitOps-the use of Git tools to automate infrastructure management-to this year's survey in recognition of the buzz it has received over the last ear or so.

wilkinsona commented 1 year ago

It's usage of github.com that's important. Knowing that 25% of users are using GitOps doesn't tell us anything about that.