forked from cerc-io/stack-orchestrator
Compare commits
2 Commits
pm-custom-
...
main
Author | SHA1 | Date | |
---|---|---|---|
0e814bd4da | |||
873a6d472c |
@ -26,8 +26,14 @@ fi
|
|||||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
WORK_DIR="${1:-/app}"
|
WORK_DIR="${1:-/app}"
|
||||||
|
|
||||||
|
if [ -f "${WORK_DIR}/build-webapp.sh" ]; then
|
||||||
|
echo "Building webapp with ${WORK_DIR}/build-webapp.sh ..."
|
||||||
cd "${WORK_DIR}" || exit 1
|
cd "${WORK_DIR}" || exit 1
|
||||||
|
|
||||||
|
./build-webapp.sh || exit 1
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -f "next.config.mjs" ]; then
|
if [ -f "next.config.mjs" ]; then
|
||||||
NEXT_CONFIG_JS="next.config.mjs"
|
NEXT_CONFIG_JS="next.config.mjs"
|
||||||
IMPORT_OR_REQUIRE="import"
|
IMPORT_OR_REQUIRE="import"
|
||||||
|
@ -30,36 +30,44 @@ fi
|
|||||||
CERC_WEBAPP_FILES_DIR="${CERC_WEBAPP_FILES_DIR:-/app}"
|
CERC_WEBAPP_FILES_DIR="${CERC_WEBAPP_FILES_DIR:-/app}"
|
||||||
cd "$CERC_WEBAPP_FILES_DIR"
|
cd "$CERC_WEBAPP_FILES_DIR"
|
||||||
|
|
||||||
"$SCRIPT_DIR/apply-runtime-env.sh" "`pwd`" .next .next-r
|
if [ -f "./run-webapp.sh" ]; then
|
||||||
mv .next .next.old
|
echo "Running webapp with run-webapp.sh ..."
|
||||||
mv .next-r/.next .
|
cd "${WORK_DIR}" || exit 1
|
||||||
|
./run-webapp.sh &
|
||||||
|
tpid=$!
|
||||||
|
wait $tpid
|
||||||
|
else
|
||||||
|
"$SCRIPT_DIR/apply-runtime-env.sh" "`pwd`" .next .next-r
|
||||||
|
mv .next .next.old
|
||||||
|
mv .next-r/.next .
|
||||||
|
|
||||||
if [ "$CERC_NEXTJS_SKIP_GENERATE" != "true" ]; then
|
if [ "$CERC_NEXTJS_SKIP_GENERATE" != "true" ]; then
|
||||||
jq -e '.scripts.cerc_generate' package.json >/dev/null
|
jq -e '.scripts.cerc_generate' package.json >/dev/null
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
npm run cerc_generate > gen.out 2>&1 &
|
npm run cerc_generate > gen.out 2>&1 &
|
||||||
tail -f gen.out &
|
tail -f gen.out &
|
||||||
tpid=$!
|
tpid=$!
|
||||||
|
|
||||||
count=0
|
count=0
|
||||||
generate_done="false"
|
generate_done="false"
|
||||||
while [ $count -lt $CERC_MAX_GENERATE_TIME ] && [ "$generate_done" == "false" ]; do
|
while [ $count -lt $CERC_MAX_GENERATE_TIME ] && [ "$generate_done" == "false" ]; do
|
||||||
sleep 1
|
sleep 1
|
||||||
count=$((count + 1))
|
count=$((count + 1))
|
||||||
grep 'rendered as static' gen.out > /dev/null
|
grep 'rendered as static' gen.out > /dev/null
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
generate_done="true"
|
generate_done="true"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ $generate_done != "true" ]; then
|
||||||
|
echo "ERROR: 'npm run cerc_generate' not successful within CERC_MAX_GENERATE_TIME" 1>&2
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
|
||||||
|
|
||||||
if [ $generate_done != "true" ]; then
|
kill $tpid $(ps -ef | grep node | grep next | grep generate | awk '{print $2}') 2>/dev/null
|
||||||
echo "ERROR: 'npm run cerc_generate' not successful within CERC_MAX_GENERATE_TIME" 1>&2
|
tpid=""
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
kill $tpid $(ps -ef | grep node | grep next | grep generate | awk '{print $2}') 2>/dev/null
|
|
||||||
tpid=""
|
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
|
|
||||||
$CERC_BUILD_TOOL start . -- -p ${CERC_LISTEN_PORT:-80}
|
$CERC_BUILD_TOOL start . -- -p ${CERC_LISTEN_PORT:-80}
|
||||||
|
fi
|
||||||
|
@ -172,7 +172,6 @@ def process_app_deployment_request(
|
|||||||
logger.log(
|
logger.log(
|
||||||
f"Creating webapp deployment in: {deployment_dir} with container id: {deployment_container_tag}"
|
f"Creating webapp deployment in: {deployment_dir} with container id: {deployment_container_tag}"
|
||||||
)
|
)
|
||||||
# CREATES DEPLOYMENT DIR, NOT SKIPPING FOR TESTING
|
|
||||||
deploy_webapp.create_deployment(
|
deploy_webapp.create_deployment(
|
||||||
ctx,
|
ctx,
|
||||||
deployment_dir,
|
deployment_dir,
|
||||||
@ -215,24 +214,21 @@ def process_app_deployment_request(
|
|||||||
# add_tags_to_image(image_registry, app_image_shared_tag, deployment_container_tag)
|
# add_tags_to_image(image_registry, app_image_shared_tag, deployment_container_tag)
|
||||||
logger.log("Tag complete")
|
logger.log("Tag complete")
|
||||||
else:
|
else:
|
||||||
# SKIP BUILD
|
extra_build_args = [] # TODO: pull from request
|
||||||
logger.log("TESTING: Skipping container build.")
|
logger.log(f"Building container image: {deployment_container_tag}")
|
||||||
|
build_container_image(
|
||||||
# extra_build_args = [] # TODO: pull from request
|
app, deployment_container_tag, extra_build_args, logger
|
||||||
# logger.log(f"Building container image: {deployment_container_tag}")
|
)
|
||||||
# build_container_image(
|
logger.log("Build complete")
|
||||||
# app, deployment_container_tag, extra_build_args, logger
|
logger.log(f"Pushing container image: {deployment_container_tag}")
|
||||||
# )
|
push_container_image(deployment_dir, logger)
|
||||||
# logger.log("Build complete")
|
logger.log("Push complete")
|
||||||
# logger.log(f"Pushing container image: {deployment_container_tag}")
|
# The build/push commands above will use the unique deployment tag, so now we need to add the shared tag.
|
||||||
# push_container_image(deployment_dir, logger)
|
logger.log(
|
||||||
# logger.log("Push complete")
|
f"(SKIPPED) Adding global app image tag: {app_image_shared_tag} to newly built image: {deployment_container_tag}"
|
||||||
# # The build/push commands above will use the unique deployment tag, so now we need to add the shared tag.
|
)
|
||||||
# logger.log(
|
# add_tags_to_image(image_registry, deployment_container_tag, app_image_shared_tag)
|
||||||
# f"(SKIPPED) Adding global app image tag: {app_image_shared_tag} to newly built image: {deployment_container_tag}"
|
logger.log("Tag complete")
|
||||||
# )
|
|
||||||
# # add_tags_to_image(image_registry, deployment_container_tag, app_image_shared_tag)
|
|
||||||
# logger.log("Tag complete")
|
|
||||||
else:
|
else:
|
||||||
logger.log("Requested app is already deployed, skipping build and image push")
|
logger.log("Requested app is already deployed, skipping build and image push")
|
||||||
|
|
||||||
@ -245,9 +241,7 @@ def process_app_deployment_request(
|
|||||||
|
|
||||||
# 8. update k8s deployment
|
# 8. update k8s deployment
|
||||||
if needs_k8s_deploy:
|
if needs_k8s_deploy:
|
||||||
# SKIP DEPLOY
|
deploy_to_k8s(deployment_record, deployment_dir, recreate_on_deploy, logger)
|
||||||
logger.log("TESTING: Skipping deployment to k8s.")
|
|
||||||
# deploy_to_k8s(deployment_record, deployment_dir, recreate_on_deploy, logger)
|
|
||||||
|
|
||||||
logger.log("Publishing deployment to registry.")
|
logger.log("Publishing deployment to registry.")
|
||||||
publish_deployment(
|
publish_deployment(
|
||||||
|
@ -72,12 +72,11 @@ def process_app_removal_request(
|
|||||||
# TODO(telackey): Call the function directly. The easiest way to build the correct click context is to
|
# TODO(telackey): Call the function directly. The easiest way to build the correct click context is to
|
||||||
# exec the process, but it would be better to refactor so we could just call down_operation with the
|
# exec the process, but it would be better to refactor so we could just call down_operation with the
|
||||||
# necessary parameters
|
# necessary parameters
|
||||||
main_logger.log("TESTING: Skipping stopping deployment.")
|
down_command = [sys.argv[0], "deployment", "--dir", deployment_dir, "down"]
|
||||||
# down_command = [sys.argv[0], "deployment", "--dir", deployment_dir, "down"]
|
if delete_volumes:
|
||||||
# if delete_volumes:
|
down_command.append("--delete-volumes")
|
||||||
# down_command.append("--delete-volumes")
|
result = subprocess.run(down_command)
|
||||||
# result = subprocess.run(down_command)
|
result.check_returncode()
|
||||||
# result.check_returncode()
|
|
||||||
|
|
||||||
removal_record = {
|
removal_record = {
|
||||||
"record": {
|
"record": {
|
||||||
|
Loading…
Reference in New Issue
Block a user