Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
Ci Pkg
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
IML Open Source
Ci Pkg
Commits
c044de71
Commit
c044de71
authored
4 years ago
by
Hahn Axel (hahn)
Browse files
Options
Downloads
Patches
Plain Diff
first workking client donwloading a single file
parent
a5ce656d
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
shellscripts/getfile.sh
+64
-78
64 additions, 78 deletions
shellscripts/getfile.sh
with
64 additions
and
78 deletions
shellscripts/getfile.sh
+
64
−
78
View file @
c044de71
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
line
=
"----------------------------------------------------------------------"
line
=
"----------------------------------------------------------------------"
bDebug
=
0
.
$0
.cfg
.
$0
.cfg
...
@@ -20,27 +21,21 @@ line="----------------------------------------------------------------------"
...
@@ -20,27 +21,21 @@ line="----------------------------------------------------------------------"
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
function
showhelp
(){
function
showhelp
(){
echo
"
echo
"SYNTAX:
SYNTAX:
-d enable debug infos
-s SECRET override secret in IMLCI_PKG_SECRET
-u URL URL of iml ci server without trailing /; overrides env variable IMLCI_URL
-e PHASE phase; overrides env variable IMLCI_PHASE
-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
-p PROJECT ci project id; overrides env variable IMLCI_PROJECT
-f PROJECT filename; overrides env variable IMLCI_FILE
-s SECRET override secret in IMLCI_PKG_SECRET
-u URL URL of iml ci server without trailing /; overrides env variable IMLCI_URL
ACTION:
... without given project and secret
projects show projects
... with project and secret
DEFAULTS:
buildinfo [branch]
You don't need to set all values by command line. Use a config to set defaults
show infos about what happens on build
$0
.cfg
build [branch]
execute build
phases show status of phases
EXAMPLES:
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(){
...
@@ -49,9 +44,10 @@ function makeRequest(){
local
apiMethod
=
$1
local
apiMethod
=
$1
local
apiRequest
=
$2
local
apiRequest
=
$2
local
secret
=
$3
local
outfile
=
$3
local
secret
=
$4
local
outfile
=
$(
mktemp
)
#
local outfile=$( mktemp )
echo
$line
echo
$line
echo
$apiMethod
${
apiHost
}${
apiRequest
}
echo
$apiMethod
${
apiHost
}${
apiRequest
}
...
@@ -75,33 +71,30 @@ ${apiTS}
...
@@ -75,33 +71,30 @@ ${apiTS}
myHash
=
`
echo
-n
"
$data
"
| openssl sha1
-hmac
"
${
secret
}
"
|
cut
-f
2
-d
" "
`
myHash
=
`
echo
-n
"
$data
"
| openssl sha1
-hmac
"
${
secret
}
"
|
cut
-f
2
-d
" "
`
myHash
=
`
echo
-n
"
$myHash
"
|
base64
`
myHash
=
`
echo
-n
"
$myHash
"
|
base64
`
curl
\
curl
\
-H
"Accept: application/json"
-H
"Content-Type: application/json"
\
-H
"Accept: application/json"
-H
"Content-Type: application/json"
\
-H
"Date:
${
apiTS
}
"
\
-H
"Date:
${
apiTS
}
"
\
-H
"Authorization: demo-bash-client:
${
myHash
}
"
\
-H
"Authorization: demo-bash-client:
${
myHash
}
"
\
-X
$apiMethod
\
-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
else
curl
-i
\
curl
\
-H
"Accept: application/json"
-H
"Content-Type: application/json"
\
-H
"Accept: application/json"
-H
"Content-Type: application/json"
\
-X
$apiMethod
\
-X
$apiMethod
\
${
IMLCI_URL
}${
apiRequest
}
|
tee
-a
$outfile
-o
"
${
outfile
}
.downloading"
\
${
IMLCI_URL
}${
apiRequest
}
fi
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
...
@@ -121,50 +114,43 @@ fi
while
getopts
"a:b:u:p:e:f:s:"
option
;
do
while
getopts
"de:f:o:p:s:u:"
option
;
do
case
${
option
}
in
case
${
option
}
in
a
)
d
)
bDebug
=
1
;;
apiAction
=
$OPTARG
e
)
export
IMLCI_PHASE
=
$OPTARG
;;
;;
f
)
export
IMLCI_FILE
=
$OPTARG
;;
b
)
o
)
export
IMLCI_OUTFILE
=
$OPTARG
;;
branch
=
$OPTARG
p
)
export
IMLCI_PROJECT
=
$OPTARG
;;
;;
s
)
export
IMLCI_PKG_SECRET
=
$OPTARG
;;
u
)
u
)
export
IMLCI_URL
=
$OPTARG
;;
export
IMLCI_URL
=
$OPTARG
*
)
;;
echo
ERROR: invalid option
[
${
option
}
]
p
)
exit
2
export
IMLCI_PROJECT
=
$OPTARG
esac
;;
e
)
export
IMLCI_PHASE
=
$OPTARG
;;
f
)
export
IMLCI_FILE
=
$OPTARG
;;
s
)
export
IMLCI_PKG_SECRET
=
$OPTARG
;;
*
)
echo
ERROR: invalid option
[
${
option
}
]
exit
2
esac
done
done
echo
Params:
$*
test
-z
${
IMLCI_OUTFILE
}
&&
IMLCI_OUTFILE
=
$IMLCI_FILE
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
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
fi
echo
$line
date
echo
rc
=
$rc
exit
$rc
makeRequest GET
"/packages/
$IMLCI_PHASE
/
$IMLCI_PROJECT
/
$IMLCI_FILE
"
"
$IMLCI_OUTFILE
"
"
$IMLCI_PKG_SECRET
"
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment