Compare commits
4 Commits
main
...
pm-custom-
| Author | SHA1 | Date | |
|---|---|---|---|
| 74b0792d00 | |||
| a085ca8756 | |||
| 27a6470ad9 | |||
| 53a96defe0 |
@ -26,14 +26,8 @@ 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,13 +30,6 @@ 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"
|
||||||
|
|
||||||
if [ -f "./run-webapp.sh" ]; then
|
|
||||||
echo "Running webapp with run-webapp.sh ..."
|
|
||||||
cd "${WORK_DIR}" || exit 1
|
|
||||||
./run-webapp.sh &
|
|
||||||
tpid=$!
|
|
||||||
wait $tpid
|
|
||||||
else
|
|
||||||
"$SCRIPT_DIR/apply-runtime-env.sh" "`pwd`" .next .next-r
|
"$SCRIPT_DIR/apply-runtime-env.sh" "`pwd`" .next .next-r
|
||||||
mv .next .next.old
|
mv .next .next.old
|
||||||
mv .next-r/.next .
|
mv .next-r/.next .
|
||||||
@ -70,4 +63,3 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
$CERC_BUILD_TOOL start . -- -p ${CERC_LISTEN_PORT:-80}
|
$CERC_BUILD_TOOL start . -- -p ${CERC_LISTEN_PORT:-80}
|
||||||
fi
|
|
||||||
|
|||||||
@ -56,6 +56,7 @@ class DeploymentContext:
|
|||||||
self.stack.init_from_file(self.get_stack_file())
|
self.stack.init_from_file(self.get_stack_file())
|
||||||
deployment_file_path = self.get_deployment_file()
|
deployment_file_path = self.get_deployment_file()
|
||||||
if deployment_file_path.exists():
|
if deployment_file_path.exists():
|
||||||
|
with deployment_file_path:
|
||||||
obj = get_yaml().load(open(deployment_file_path, "r"))
|
obj = get_yaml().load(open(deployment_file_path, "r"))
|
||||||
self.id = obj[constants.cluster_id_key]
|
self.id = obj[constants.cluster_id_key]
|
||||||
# Handle the case of a legacy deployment with no file
|
# Handle the case of a legacy deployment with no file
|
||||||
|
|||||||
@ -92,6 +92,7 @@ class Spec:
|
|||||||
return self.obj.get(item, default)
|
return self.obj.get(item, default)
|
||||||
|
|
||||||
def init_from_file(self, file_path: Path):
|
def init_from_file(self, file_path: Path):
|
||||||
|
with file_path:
|
||||||
self.obj = get_yaml().load(open(file_path, "r"))
|
self.obj = get_yaml().load(open(file_path, "r"))
|
||||||
self.file_path = file_path
|
self.file_path = file_path
|
||||||
|
|
||||||
|
|||||||
@ -27,4 +27,5 @@ class Stack:
|
|||||||
self.name = name
|
self.name = name
|
||||||
|
|
||||||
def init_from_file(self, file_path: Path):
|
def init_from_file(self, file_path: Path):
|
||||||
|
with file_path:
|
||||||
self.obj = get_yaml().load(open(file_path, "r"))
|
self.obj = get_yaml().load(open(file_path, "r"))
|
||||||
|
|||||||
@ -172,6 +172,7 @@ 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,
|
||||||
@ -214,21 +215,24 @@ 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:
|
||||||
extra_build_args = [] # TODO: pull from request
|
# SKIP BUILD
|
||||||
logger.log(f"Building container image: {deployment_container_tag}")
|
logger.log("TESTING: Skipping container build.")
|
||||||
build_container_image(
|
|
||||||
app, deployment_container_tag, extra_build_args, logger
|
# extra_build_args = [] # TODO: pull from request
|
||||||
)
|
# logger.log(f"Building container image: {deployment_container_tag}")
|
||||||
logger.log("Build complete")
|
# build_container_image(
|
||||||
logger.log(f"Pushing container image: {deployment_container_tag}")
|
# app, deployment_container_tag, extra_build_args, logger
|
||||||
push_container_image(deployment_dir, logger)
|
# )
|
||||||
logger.log("Push complete")
|
# logger.log("Build complete")
|
||||||
# The build/push commands above will use the unique deployment tag, so now we need to add the shared tag.
|
# logger.log(f"Pushing container image: {deployment_container_tag}")
|
||||||
logger.log(
|
# push_container_image(deployment_dir, logger)
|
||||||
f"(SKIPPED) Adding global app image tag: {app_image_shared_tag} to newly built image: {deployment_container_tag}"
|
# logger.log("Push complete")
|
||||||
)
|
# # The build/push commands above will use the unique deployment tag, so now we need to add the shared tag.
|
||||||
# add_tags_to_image(image_registry, deployment_container_tag, app_image_shared_tag)
|
# logger.log(
|
||||||
logger.log("Tag complete")
|
# f"(SKIPPED) Adding global app image tag: {app_image_shared_tag} to newly built image: {deployment_container_tag}"
|
||||||
|
# )
|
||||||
|
# # 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")
|
||||||
|
|
||||||
@ -241,7 +245,9 @@ def process_app_deployment_request(
|
|||||||
|
|
||||||
# 8. update k8s deployment
|
# 8. update k8s deployment
|
||||||
if needs_k8s_deploy:
|
if needs_k8s_deploy:
|
||||||
deploy_to_k8s(deployment_record, deployment_dir, recreate_on_deploy, logger)
|
# SKIP DEPLOY
|
||||||
|
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,11 +72,12 @@ 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
|
||||||
down_command = [sys.argv[0], "deployment", "--dir", deployment_dir, "down"]
|
main_logger.log("TESTING: Skipping stopping deployment.")
|
||||||
if delete_volumes:
|
# down_command = [sys.argv[0], "deployment", "--dir", deployment_dir, "down"]
|
||||||
down_command.append("--delete-volumes")
|
# if delete_volumes:
|
||||||
result = subprocess.run(down_command)
|
# down_command.append("--delete-volumes")
|
||||||
result.check_returncode()
|
# result = subprocess.run(down_command)
|
||||||
|
# result.check_returncode()
|
||||||
|
|
||||||
removal_record = {
|
removal_record = {
|
||||||
"record": {
|
"record": {
|
||||||
|
|||||||
@ -180,7 +180,9 @@ def get_k8s_dir():
|
|||||||
def get_parsed_deployment_spec(spec_file):
|
def get_parsed_deployment_spec(spec_file):
|
||||||
spec_file_path = Path(spec_file)
|
spec_file_path = Path(spec_file)
|
||||||
try:
|
try:
|
||||||
return get_yaml().load(open(spec_file_path, "r"))
|
with spec_file_path:
|
||||||
|
deploy_spec = get_yaml().load(open(spec_file_path, "r"))
|
||||||
|
return deploy_spec
|
||||||
except FileNotFoundError as error:
|
except FileNotFoundError as error:
|
||||||
# We try here to generate a useful diagnostic error
|
# We try here to generate a useful diagnostic error
|
||||||
print(f"Error: spec file: {spec_file_path} does not exist")
|
print(f"Error: spec file: {spec_file_path} does not exist")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user