opendevstack / opendevstack/ods-quickstarters
Provide new "upgrade existing repo to ODS" quickstarter
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 39
- Forks
- 50
- PR merge metrics
- No merged PRs in 30d
Description
Is your feature request related to a problem? Please describe.
Assuming you have your code somewhere version controlled, there is quite some manual steps one needs to do to get it into ODS. Namely:
- pick any quickstarter in prov app (gets you jenkinsfile / sq and ocp resources)
- clone / clean the created sources
- add new remote and merge existing code
The reason why this is not (really) working today is 3 fold:
- Provision app will fail if the repo already exists (https://github.com/opendevstack/ods-provisioning-app/blob/2b3773f77dcebed5b3388598020053365e67d5e7/src/main/java/org/opendevstack/provision/services/BitbucketAdapter.java#L587)
- PushToRepo stage contains the upgrade magic in case the repo is already filled with state (https://github.com/opendevstack/ods-jenkins-shared-library/blob/master/src/org/ods/quickstarter/PushToRemoteStage.groovy)
- CopyFilesStage (https://github.com/opendevstack/ods-jenkins-shared-library/blob/master/src/org/ods/quickstarter/CopyFilesStage.groovy#L13) - does a (blind) copy of quickstarter files, w/o checking if they already exist - so in case a jenkinsfile exists, it will fail ..
I want to solicit feedback on this first - to see what we could do ... my proposal would be to create
- a new quickstarter (sort of based on the
docker-plain) with checks on what's already in the repo - and adds jenkinsfile / sq props and also ocp resources .. . - add a check into the prov app if this new quickstarter is used, that the repo must already exist, and we only add roles / webhook proxy ...
@torstenhe @michaelsauter
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the referenced BitbucketAdapter.java location in ods-provisioning-app, then PushToRemoteStage.groovy and CopyFilesStage.groovy in ods-jenkins-shared-library. Compare their existing-repository behavior with the proposed docker-plain-based quickstarter and identify the expected provisioning and file-copy outcomes. Done requires an agreed design for the new quickstarter and Provision app behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- ci-cd, devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100