Build_scripts: Add deployment type to the build_scripts

This commit is contained in:
Ilija Lazoroski 2021-09-15 14:13:26 +02:00
parent 60e34636ec
commit c4ab6f4362
4 changed files with 21 additions and 3 deletions

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
LINUXDEPLOY_URL="https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage" LINUXDEPLOY_URL="https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage"
PYTHON_VERSION="3.7.11" PYTHON_VERSION="3.7.12"
PYTHON_APPIMAGE_URL="https://github.com/niess/python-appimage/releases/download/python3.7/python${PYTHON_VERSION}-cp37-cp37m-manylinux1_x86_64.AppImage" PYTHON_APPIMAGE_URL="https://github.com/niess/python-appimage/releases/download/python3.7/python${PYTHON_VERSION}-cp37-cp37m-manylinux1_x86_64.AppImage"
APPIMAGE_DIR="$(realpath $(dirname $BASH_SOURCE[0]))" APPIMAGE_DIR="$(realpath $(dirname $BASH_SOURCE[0]))"
APPDIR="$APPIMAGE_DIR/squashfs-root" APPDIR="$APPIMAGE_DIR/squashfs-root"
@ -27,6 +27,7 @@ install_package_specific_build_prereqs() {
setup_build_dir() { setup_build_dir() {
local agent_binary_dir=$1 local agent_binary_dir=$1
local monkey_repo=$2 local monkey_repo=$2
local deployment_type=$3
pushd $APPIMAGE_DIR pushd $APPIMAGE_DIR
@ -36,6 +37,7 @@ setup_build_dir() {
copy_monkey_island_to_build_dir "$monkey_repo/monkey" "$BUILD_DIR" copy_monkey_island_to_build_dir "$monkey_repo/monkey" "$BUILD_DIR"
copy_server_config_to_build_dir copy_server_config_to_build_dir
modify_deployment "$deployment_type" "$BUILD_DIR"
add_agent_binaries_to_build_dir "$agent_binary_dir" "$BUILD_DIR" add_agent_binaries_to_build_dir "$agent_binary_dir" "$BUILD_DIR"
install_monkey_island_python_dependencies install_monkey_island_python_dependencies

View File

@ -20,6 +20,7 @@ exit_if_missing_argument() {
echo_help() { echo_help() {
echo "usage: build_package.sh [--help] [--agent-binary-dir <PATH>] [--branch <BRANCH>]" echo "usage: build_package.sh [--help] [--agent-binary-dir <PATH>] [--branch <BRANCH>]"
echo " [--monkey-repo <PATH>] [--version <MONKEY_VERSION>]" echo " [--monkey-repo <PATH>] [--version <MONKEY_VERSION>]"
echo " [--deployment <DEPLOYMENT_TYPE>]"
echo "" echo ""
echo "Creates a package for Infection Monkey." echo "Creates a package for Infection Monkey."
echo "" echo ""
@ -45,6 +46,9 @@ echo_help() {
echo "--version A version number for the package." echo "--version A version number for the package."
echo " (Default: dev)" echo " (Default: dev)"
echo "" echo ""
echo "--deployment A deployment type for the package."
echo " (Default: develop)"
echo ""
echo "--package Which package to build (\"appimage\" or \"docker.\")" echo "--package Which package to build (\"appimage\" or \"docker.\")"
exit 0 exit 0
@ -108,7 +112,7 @@ branch="develop"
monkey_repo="$DEFAULT_REPO_MONKEY_HOME" monkey_repo="$DEFAULT_REPO_MONKEY_HOME"
monkey_version="dev" monkey_version="dev"
package="" package=""
deployment_type="develop"
while (( "$#" )); do while (( "$#" )); do
case "$1" in case "$1" in
@ -143,6 +147,12 @@ while (( "$#" )); do
monkey_version=$2 monkey_version=$2
shift 2 shift 2
;; ;;
--deployment)
exit_if_missing_argument "$1" "$2"
deployment_type=$2
shift 2
;;
--package) --package)
exit_if_missing_argument "$1" "$2" exit_if_missing_argument "$1" "$2"
@ -188,7 +198,7 @@ install_build_prereqs
install_package_specific_build_prereqs "$WORKSPACE" install_package_specific_build_prereqs "$WORKSPACE"
setup_build_dir "$agent_binary_dir" "$monkey_repo" setup_build_dir "$agent_binary_dir" "$monkey_repo" "$deployment_type"
build_package "$monkey_version" "$DIST_DIR" build_package "$monkey_version" "$DIST_DIR"
log_message "Finished building package: $package" log_message "Finished building package: $package"

View File

@ -15,6 +15,11 @@ copy_monkey_island_to_build_dir() {
"$src"/monkey_island "$build_dir/" "$src"/monkey_island "$build_dir/"
} }
modify_deployment() {
local deployment_file_path="$2/monkey_island/cc/deployment.json"
echo -e "{\n \"deployment\": \"$1\"\n}" > $deployment_file_path
}
add_agent_binaries_to_build_dir() { add_agent_binaries_to_build_dir() {
local agent_binary_dir=$1 local agent_binary_dir=$1
local island_binaries_path="$2/monkey_island/cc/binaries/" local island_binaries_path="$2/monkey_island/cc/binaries/"

View File

@ -18,6 +18,7 @@ setup_build_dir() {
copy_monkey_island_to_build_dir "$monkey_repo/monkey" "$build_dir" copy_monkey_island_to_build_dir "$monkey_repo/monkey" "$build_dir"
copy_server_config_to_build_dir "$build_dir" copy_server_config_to_build_dir "$build_dir"
modify_deployment "$deployment_type" "$build_dir"
add_agent_binaries_to_build_dir "$agent_binary_dir" "$build_dir" add_agent_binaries_to_build_dir "$agent_binary_dir" "$build_dir"
generate_ssl_cert "$build_dir" generate_ssl_cert "$build_dir"