Created
August 2, 2017 09:47
-
-
Save themerius/a60eb94673650b2d7dd6f300775e8747 to your computer and use it in GitHub Desktop.
Manual deployment onto Artifactory using CURL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # For example a non-Maven pipelie builds something, | |
| # but you want that it can be used by Maven... | |
| WORKSPACE="/path/to/workspace" | |
| ARTIFACT="my-artifact" | |
| ARTY="your.arty.tdl" | |
| # Assumption that a version number is part of the artifact's name | |
| # e.g. $ARTIFACT-1.2.tar.gz | |
| # get newest tar.gz | |
| file=`ls -t $WORKSPACE/target/$ARTIFACT-*.tar.gz | head -1` | |
| # remove prefix | |
| version=${file#"$WORKSPACE/target/$ARTIFACT-"} | |
| # remove suffix | |
| version=${version%".tar.gz"} | |
| # maven metadata file | |
| metafile=$WORKSPACE/target/maven-metadata.xml | |
| cat > $metafile << EOF | |
| <?xml version="1.0" encoding="UTF-8"?> | |
| <metadata> | |
| <groupId>$ARTIFACT</groupId> | |
| <artifactId>$ARTIFACT</artifactId> | |
| <versioning> | |
| <latest>$version</latest> | |
| <lastUpdated>`date +%Y%m%d%H%M%S`</lastUpdated> | |
| </versioning> | |
| </metadata> | |
| EOF | |
| if [[ $version == *"SNAPSHOT"* ]]; then | |
| # deploy snapshot | |
| curl -v --user "user:password" \ | |
| --data-binary @$file \ | |
| -X PUT "https://$ARTY/artifactory/libs-snapshot-local/$ARTIFACT/$ARTIFACT/$version/$ARTIFACT-$version.tar.gz" | |
| # deploy maven metadata | |
| curl -v --user "user:password" \ | |
| --data-binary @$metafile \ | |
| -X PUT "https://$ARTY/artifactory/libs-snapshot-local/$ARTIFACT/$ARTIFACT/maven-metadata.xml" | |
| else | |
| # deploy release | |
| curl -v --user "user:password" \ | |
| --data-binary @$file \ | |
| -X PUT "https://$ARTY/artifactory/libs-release-local/$ARTIFACT/$ARTIFACT/$version/$ARTIFACT-$version.tar.gz" | |
| # deploy maven metadata | |
| curl -v --user "user:password" \ | |
| --data-binary @$metafile \ | |
| -X PUT "https://$ARTY/artifactory/libs-release-local/$ARTIFACT/$ARTIFACT/maven-metadata.xml" | |
| fi | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment