Skip to content

Instantly share code, notes, and snippets.

@themerius
Created August 2, 2017 09:47
Show Gist options
  • Select an option

  • Save themerius/a60eb94673650b2d7dd6f300775e8747 to your computer and use it in GitHub Desktop.

Select an option

Save themerius/a60eb94673650b2d7dd6f300775e8747 to your computer and use it in GitHub Desktop.
Manual deployment onto Artifactory using CURL
#!/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