[FOLIO-2441] Add NCIP2-Toolkit jars to FOLIO maven/nexus Created: 03/Feb/20  Updated: 03/Jun/20  Resolved: 23/Feb/20

Status: Closed
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: Task Priority: P2
Reporter: Jakub Skoczen Assignee: David Crossley
Resolution: Done Votes: 0
Labels: devops, devops-backlog, platform-backlog
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Issue links:
Blocks
blocks FOLIO-2427 Do initial repository configuration m... Closed
Sprint: DevOps: sprint 82
Story Points: 2
Development Team: FOLIO DevOps

 Description   

The mod-ncip repository needs access to the dependency jars of the https://github.com/eXtensibleCatalog/NCIP2-Toolkit

These are declared in the mod-ncip POM.



 Comments   
Comment by David Crossley [ 10/Feb/20 ]

That repository has been forked to https://github.com/folio-org/NCIP2-Toolkit
There is our branch "folio-2441-internal-deploy". That also disables some modules.

Comment by David Crossley [ 10/Feb/20 ]

There is an initial Jenkins job here:
https://jenkins-aws.indexdata.com/job/Misc_Tests/job/NCIP2-Toolkit/
It is a manually-initiated job (i.e. not automated via a Jenkinsfile)

It is based on a "Maven type" job.

It operates on the "core/trunk/pom.xml"

It does 'mvn clean package -DskipTests=true' (as the upstream repo tests are broken)

Comment by David Crossley [ 10/Feb/20 ]

Ian Hardy or John Malconian – I need help to get this job to deploy to the FOLIO Maven repository.

Comment by Ian Hardy [ 10/Feb/20 ]

Hi David Crossley, I'm assuming just using our regular buildMvn.groovy pipeline doesn't work here. Maybe we should create a custom jenkinsfile that executes that special mvn install and then cherry pick what's needed from the mvnDeploy stage. I think this would be easier than parameterize what we have to allow skipping tests. I'd be happy to have a go at that if you'd like.

Comment by David Crossley [ 11/Feb/20 ]

Thanks Ian. I was not intending to tweak the buildMvn.groovy pipeline – my initial Jenkins job was just using Maven explicitly.

Yes, i did contemplate using a custom Jenkinsfile instead. So now have followed your suggestion.

As noted above, the main branch is "folio-2441-internal-deploy". I have created a new branch based on that, named "folio-2441-initial-jenkinsfile" and now have a basic build happening there.

Please do do more regarding the deploy parts.

Comment by David Crossley [ 12/Feb/20 ]

I did make some more progress. Now deploying snapshots from the branch. However not sure if deployment of the many jars is correct.

Note above that i intend to eventually use the branch "folio-2441-internal-deploy" and not "master". When this branch "folio-2441-initial-jenkinsfile" is operating properly, then will merge to branch "folio-2441-internal-deploy" and thereafter operate from there.

Ran out of time today: Still need to re-add the "isRelease".

Comment by David Crossley [ 13/Feb/20 ]

Michelle Suranofsky This is ready now. Summary:

The upstream repository has been forked to https://github.com/folio-org/NCIP2-Toolkit and you have write access.

The "master" is clean.

There is our branch "folio-2441-internal-deploy". That has our Jenkinsfile. The core/trunk/pom.xml disables some modules, and adds our "distributionManagement" configuration.

Changes pushed to this branch will automatically build and deploy snapshots to the FOLIO repository.

When you are ready, please make a release from that branch.

Leaving this ticket open until that is verified.

Comment by Michelle Suranofsky [ 14/Feb/20 ]

The release is complete:
https://github.com/folio-org/NCIP2-Toolkit/releases/tag/v1.0.0

Comment by David Crossley [ 14/Feb/20 ]

Michelle Suranofsky You need to do release steps via that branch referred to above, so that our Jenkins CI builds and deploys the release.

It will not be the same as releasing a FOLIO "mod-*" module, but you can get some clues from the FOLIO release procedures.

See the link in my Jira comment above, to the "FOLIO Repository" which has the v1.2 SNAPSHOT maven artifacts deployed from that branch. If you push a trivial commit in that branch, then the CI will automatically build and deploy new snapshots.

When you do the release actions in that branch, then it will build and deploy the "release" artifacts (i.e. you would change the version in the POM from "1.2-SNAPSHOT" to "1.2" and do some other steps as explained in the release procedures.)

Comment by David Crossley [ 14/Feb/20 ]

The most relevant section is https://dev.folio.org/guidelines/release-procedures/#prepare-and-perform-the-source-release

Comment by David Crossley [ 23/Feb/20 ]

This is done now. Michelle made a v2.0.0 release on 2020-02-15. The jars are subsequently being used in mod-ncip.

So if another release is needed then do that as done above, from our "folio-2441-initial-jenkinsfile" branch.

If new upstream changes need to incorporarted or changes contributed, then do that via our "master" branch.

Generated at Thu Feb 08 23:20:39 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.