Skip to content
Snippets Groups Projects
Commit c044de71 authored by Hahn Axel (hahn)'s avatar Hahn Axel (hahn)
Browse files

first workking client donwloading a single file

parent a5ce656d
No related branches found
No related tags found
No related merge requests found
......@@ -12,6 +12,7 @@
# ----------------------------------------------------------------------
line="----------------------------------------------------------------------"
bDebug=0
. $0.cfg
......@@ -20,27 +21,21 @@ line="----------------------------------------------------------------------"
# ----------------------------------------------------------------------
function showhelp(){
echo "
SYNTAX:
-s SECRET override secret in IMLCI_PKG_SECRET
-u URL URL of iml ci server without trailing /; overrides env variable IMLCI_URL
echo "SYNTAX:
-d enable debug infos
-e PHASE phase; overrides env variable IMLCI_PHASE
-f FILE filename to get; overrides env variable IMLCI_FILE
-o OUTFILE optional output file; default; given filename in current directory
-p PROJECT ci project id; overrides env variable IMLCI_PROJECT
-f PROJECT filename; overrides env variable IMLCI_FILE
ACTION:
... without given project and secret
projects show projects
-s SECRET override secret in IMLCI_PKG_SECRET
-u URL URL of iml ci server without trailing /; overrides env variable IMLCI_URL
... with project and secret
buildinfo [branch]
show infos about what happens on build
build [branch]
execute build
phases show status of phases
DEFAULTS:
You don't need to set all values by command line. Use a config to set defaults
$0.cfg
EXAMPLES:
`basename $0` -u https://ci.example.com -s newsecret [FILE]
`basename $0` -u https://ci.example.com -f [FILE]
"
}
......@@ -49,9 +44,10 @@ function makeRequest(){
local apiMethod=$1
local apiRequest=$2
local secret=$3
local outfile=$3
local secret=$4
local outfile=$( mktemp )
# local outfile=$( mktemp )
echo $line
echo $apiMethod ${apiHost}${apiRequest}
......@@ -75,33 +71,30 @@ ${apiTS}
myHash=`echo -n "$data" | openssl sha1 -hmac "${secret}" | cut -f 2 -d" "`
myHash=`echo -n "$myHash" | base64`
curl \
curl\
-H "Accept: application/json" -H "Content-Type: application/json" \
-H "Date: ${apiTS}" \
-H "Authorization: demo-bash-client:${myHash}" \
-X $apiMethod \
${IMLCI_URL}${apiRequest} | tee -a $outfile
-o "${outfile}.downloading" \
--fail \
${IMLCI_URL}${apiRequest}
if [ $? -eq 0 ]; then
echo Download OK.
mv "${outfile}.downloading" "${outfile}"
ls -l "${outfile}"
else
echo ERROR: Download failed.
# rm -f "${outfile}.downloading"
fi
else
curl -i \
curl\
-H "Accept: application/json" -H "Content-Type: application/json" \
-X $apiMethod \
${IMLCI_URL}${apiRequest} | tee -a $outfile
-o "${outfile}.downloading" \
${IMLCI_URL}${apiRequest}
fi
grep "^HTTP\/" $outfile | head -1 | grep " 200 " >/dev/null
local rccurl=$?
echo $line
echo OUTPUT:
cat $outfile
echo $line
rm -f $outfile
if [ $rccurl -ne 0 ]; then
echo
echo "ERROR: API request failed. CURL request did not get respond status code 200."
exit 4
fi
}
......@@ -121,50 +114,43 @@ fi
while getopts "a:b:u:p:e:f:s:" option; do
case ${option} in
a)
apiAction=$OPTARG
;;
b)
branch=$OPTARG
;;
u)
export IMLCI_URL=$OPTARG
;;
p)
export IMLCI_PROJECT=$OPTARG
;;
e)
export IMLCI_PHASE=$OPTARG
;;
f)
export IMLCI_FILE=$OPTARG
;;
s)
export IMLCI_PKG_SECRET=$OPTARG
;;
*)
echo ERROR: invalid option [${option}]
exit 2
esac
while getopts "de:f:o:p:s:u:" option; do
case ${option} in
d) bDebug=1 ;;
e) export IMLCI_PHASE=$OPTARG ;;
f) export IMLCI_FILE=$OPTARG ;;
o) export IMLCI_OUTFILE=$OPTARG ;;
p) export IMLCI_PROJECT=$OPTARG ;;
s) export IMLCI_PKG_SECRET=$OPTARG ;;
u) export IMLCI_URL=$OPTARG ;;
*)
echo ERROR: invalid option [${option}]
exit 2
esac
done
echo Params: $*
echo "IMLCI_URL = $IMLCI_URL"
echo "IMLCI_PROJECT = $IMLCI_PROJECT"
echo "IMLCI_PHASE = $IMLCI_PHASE"
echo "IMLCI_FILE = $IMLCI_FILE"
echo "IMLCI_PKG_SECRET = $IMLCI_PKG_SECRET"
echo
test -z ${IMLCI_OUTFILE} && IMLCI_OUTFILE=$IMLCI_FILE
makeRequest GET "/packages/$IMLCI_PHASE/$IMLCI_PROJECT/$IMLCI_FILE" "$IMLCI_PKG_SECRET"
if [ $bDebug = 1 ]; then
echo $line
echo
echo DEBUG INFOS
echo
echo ----- content of $0.cfg
cat $0.cfg 2>/dev/null
echo
echo '----- Params (override config values)'
echo $*
echo
echo ----- used values
echo "IMLCI_URL = $IMLCI_URL"
echo "IMLCI_PKG_SECRET = $IMLCI_PKG_SECRET"
echo "IMLCI_PROJECT = $IMLCI_PROJECT"
echo "IMLCI_PHASE = $IMLCI_PHASE"
echo "IMLCI_FILE = $IMLCI_FILE"
echo "IMLCI_OUTFILE = $IMLCI_OUTFILE"
rc=$?
echo
echo $line
date
echo rc=$rc
echo
fi
exit $rc
makeRequest GET "/packages/$IMLCI_PHASE/$IMLCI_PROJECT/$IMLCI_FILE" "$IMLCI_OUTFILE" "$IMLCI_PKG_SECRET"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment