Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
E
emcode-provision
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
public
emcode-provision
Commits
f7655835
Verified
Commit
f7655835
authored
Apr 04, 2019
by
DevOps
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Initial commit
parents
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
155 additions
and
0 deletions
+155
-0
.gitignore
.gitignore
+1
-0
update
update
+154
-0
No files found.
.gitignore
0 → 100644
View file @
f7655835
config.txt
update
0 → 100755
View file @
f7655835
#!/usr/bin/env bash
set
-e
SILENT
=
false
COLOR
=
true
SCRIPTPATH
=
"
$(
cd
$(
dirname
${
0
})
;
pwd
-P
)
"
SERVER_ADDR
=
"https://app.emcode-provision.app.docker.rew.to"
TOKEN
=
"Rgg5gzEZuzLfF9hR"
### possible value: alt,script
# CODE_TYPE="script"
# CODE_SECURE=true
### path to store state of code
STATE_PATH
=
"
${
HOME
}
/emcode-store"
### absolute path to store code (default: <STATE_PATH>)
CODE_PATH
=
"
${
STATE_PATH
}
/code.js"
_query_args
=
"token=
${
TOKEN
}
"
_version_filename
=
"version"
init_config
()
{
local
write_config
=
false
if
[[
-f
${
SCRIPTPATH
}
/config.txt
]]
;
then
source
${
SCRIPTPATH
}
/config.txt
log
"load config
\"
${
SCRIPTPATH
}
/config.txt
\"
"
else
write_config
=
true
fi
# IFS="="
#
# for param in $@; do
# read -ra key_val <<<${param}
# # echo ${key_val[@]}
# case ${key_val[0]} in
# "--code-path")
# CODE_PATH="${key_val[1]}"
# write_config=true
# ;;
# "--code-type")
# # CODE_TYPE="${key_val[1]}"
# echo ${key_val[@]}
# write_config=true
# ;;
# esac
# done
#
# unset IFS
if
[[
${
write_config
}
==
true
]]
;
then
save_config
log
"save config
\"
${
SCRIPTPATH
}
/config.txt
\"
"
fi
}
bool_string
()
{
if
[[
${
1
}
==
true
]]
;
then
echo
"true"
else
echo
"false"
fi
}
save_config
()
{
cat
<<
EOF
>
${
SCRIPTPATH
}
/config.txt
# display settings
SILENT=
$(
bool_string
${
SILENT
})
COLOR=
$(
bool_string
${
COLOR
})
# code setting
STATE_PATH=
${
STATE_PATH
}
CODE_PATH=
${
CODE_PATH
}
CODE_TYPE=
$(
[[
-z
${
CODE_TYPE
}
]]
&&
echo
"default"
||
echo
"
${
CODE_TYPE
}
"
)
CODE_SECURE=
$(
bool_string
${
CODE_SECURE
})
EOF
}
make_query_args
()
{
if
[[
!
-z
${
CODE_TYPE
}
]]
&&
[[
${
CODE_TYPE
}
!=
"default"
]]
;
then
_query_args+
=
"&type=
${
CODE_TYPE
}
"
_version_filename+
=
"_
${
CODE_TYPE
}
"
fi
if
[[
${
CODE_SECURE
}
==
true
]]
;
then
_query_args+
=
"&scheme=https"
_version_filename+
=
"_secure"
fi
local
version
=
$(
cat
${
STATE_PATH
}
/
${
_version_filename
}
.txt 2>/dev/null |
tr
-d
'\n'
)
if
[[
!
-z
${
version
}
]]
;
then
_query_args+
=
"&ver=
${
version
}
"
fi
}
log
()
{
local
level
=
"INFO"
local
date_format
=
"[
$(
date
)
]"
if
[[
${
SILENT
}
==
true
]]
;
then
return
fi
if
[[
${
COLOR
}
==
true
]]
;
then
echo
-en
"
\e
[94m
${
date_format
}
\e
[91m
${
level
}
\e
[39m"
else
echo
-n
"
${
date_format
}
${
level
}
"
fi
echo
"
$@
"
}
extract_version
()
{
local
begin_comment
=
"<!--"
local
end_comment
=
"-->"
if
[[
${
CODE_TYPE
}
==
"script"
]]
;
then
begin_comment
=
"/
\*
"
end_comment
=
"
\*
/"
fi
grep
-oP
"(?<=
${
begin_comment
}
)[0-9a-f_-]+(?=
${
end_comment
}
)"
<<<
${
1
}
}
make_home
()
{
if
[[
!
-d
${
STATE_PATH
}
]]
;
then
mkdir
-p
${
STATE_PATH
}
fi
}
main
()
{
make_query_args
local
url
=
"
${
SERVER_ADDR
}
?
${
_query_args
}
"
log
"request to server
\"
${
url
}
\"
"
local
code
=
$(
curl
-s
-L
${
url
})
local
version
=
$(
extract_version
"
${
code
}
"
)
if
[[
!
-z
${
version
}
]]
;
then
make_home
cat
<<<
${
code
}
>
${
CODE_PATH
}
echo
-n
${
version
}
>
${
STATE_PATH
}
/
${
_version_filename
}
.txt
log
"code updated to version
\"
${
version
}
\"
"
fi
}
init_config
$@
main
# save_config
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment