Skip to content

Commit

Permalink
Update Installers Script Name
Browse files Browse the repository at this point in the history
Before it was deploy-actions-kubernetes.sh
  • Loading branch information
AvocadoMoon committed Jan 8, 2025
1 parent 5665b1f commit 0194e6c
Show file tree
Hide file tree
Showing 4 changed files with 117 additions and 130 deletions.
7 changes: 3 additions & 4 deletions .github/workflows/site_deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -181,16 +181,15 @@ jobs:
ssh-keyscan $VCELL_MANAGER_NODE >> ~/.ssh/known_hosts
cd docker/swarm
scp ${{ secrets.CD_FULL_USER }}@${VCELL_MANAGER_NODE}:${VCELL_DEPLOY_REMOTE_DIR}/${VCELL_CONFIG_FILE_NAME} .
- name: deploy installers and web help to vcell.org
- name: deploy installers to vcell.org
run: |
set -ux
cd docker/swarm
ssh -t ${{ secrets.CD_FULL_USER }}@${VCELL_MANAGER_NODE} sudo docker login -u ${{ github.actor }} -p "${{ secrets.GITHUB_TOKEN }}" ghcr.io
if ${{ github.event.inputs.server_only != 'true' }}; then
# build and install the client installers, and the web help (kubernetes cluster deployments are separate)
./deploy-action-kubernetes.sh \
# build and install the client installers (kubernetes cluster deployments are separate)
./deploy-installers.sh \
--ssh-user ${{ secrets.CD_FULL_USER }} \
--deploy-installers \
--installer-deploy-dir $VCELL_INSTALLER_REMOTE_DIR \
${VCELL_MANAGER_NODE} \
./${VCELL_CONFIG_FILE_NAME}
Expand Down
125 changes: 0 additions & 125 deletions docker/swarm/deploy-action-kubernetes.sh

This file was deleted.

113 changes: 113 additions & 0 deletions docker/swarm/deploy-installers.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
#!/usr/bin/env bash

set -ux

show_help() {
echo "Deploys vcell client installers."
echo ""
echo "usage: deploy-installers.sh [OPTIONS] REQUIRED-ARGUMENTS"
echo ""
echo " REQUIRED-ARGUMENTS"
echo " manager-node any node for ssh access (e.g. vcellapi.cam.uchc.edu)"
echo ""
echo " local-config-file local config file for setting environment"
echo ""
echo " [OPTIONS]"
echo " -h | --help show this message"
echo ""
echo " --ssh-user user user for ssh to node [defaults to current user id using whoami]"
echo " (user must have passwordless sudo for docker commands on manager-node)"
echo ""
echo " --installer-deploy-dir /path/to/installer/dir"
echo " directory for installers accessible to users"
echo " typically a web-accessible location to download the client installers for each platform"
echo ""
echo ""
echo ""
echo "example:"
echo ""
echo "deploy-installers.sh \\"
echo " --ssh-user vcell \\"
echo " --installer_deploy_dir /share/apps/vcell3/apache_webroot/htdocs/webstart/Alpha \\"
echo " vcellapi.cam.uchc.edu \\"
echo " ./server.config"
exit 1
}

if [[ $# -lt 2 ]]; then
show_help
fi

ssh_user=$(whoami)
installer_deploy_dir=
while :; do
case $1 in
-h|--help)
show_help
exit
;;
--ssh-user)
shift
ssh_user=$1
;;
--installer-deploy-dir)
shift
installer_deploy_dir=$1
;;
-?*)
printf 'ERROR: Unknown option: %s\n' "$1" >&2
echo ""
show_help
;;
*) # Default case: No more options, so break out of the loop.
break
esac
shift
done

if [[ $# -ne 2 ]] ; then
show_help
fi

manager_node=$1
local_config_file=$2

# get settings from config file
vcell_siteCamel=$(grep VCELL_SITE_CAMEL "$local_config_file" | cut -d"=" -f2)
vcell_version=$(grep VCELL_VERSION_NUMBER "$local_config_file" | cut -d"=" -f2)
vcell_build=$(grep VCELL_BUILD_NUMBER "$local_config_file" | cut -d"=" -f2)


#
# if --installer-deploy-dir, then copy the installers from ./generated_installers directory to the installer deploy directory
#
if [ ! -z "$installer_deploy_dir" ]; then
# vcell_siteCamel=Alpha
# vcell_version=7.0.0
# vcell_build=19
# version=7_0_0_19
version=$(echo "${vcell_version}_${vcell_build}" | tr '.' _)
if ! scp "./generated_installers/VCell_${vcell_siteCamel}_windows-x64_${version}_64bit.exe" \
"./generated_installers/VCell_${vcell_siteCamel}_unix_${version}_32bit.sh" \
"./generated_installers/VCell_${vcell_siteCamel}_macos_${version}_64bit.dmg" \
"./generated_installers/VCell_${vcell_siteCamel}_windows-x32_${version}_32bit.exe" \
"./generated_installers/VCell_${vcell_siteCamel}_unix_${version}_64bit.sh" \
"./generated_installers/updates.xml" \
"./generated_installers/updates_linux32.xml" \
"./generated_installers/updates_linux64.xml" \
"./generated_installers/updates_mac64.xml" \
"./generated_installers/updates_win32.xml" \
"./generated_installers/updates_win64.xml" \
"./generated_installers/output.txt" \
"./generated_installers/md5sums" \
"./generated_installers/sha256sums" \
"$ssh_user@$manager_node:${installer_deploy_dir}";
then
echo "failed to copy installers";
exit 1;
fi
fi

echo "exited normally"

exit 0
2 changes: 1 addition & 1 deletion docker/swarm/serverconfig-uch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ VCELL_SSH_CMD_RESTORE_TIMEOUT=5

#
# write out the environment file to be for:
# 1. deployment actions (e.g. deploy-action-kubernetes.sh)
# 1. deployment actions (e.g. deploy-installers.sh)
# 2. runtime environment for the docker stack run command (kubernetes uses ConfigMaps in vcell-fluxcd repo), what about VCell Installers?
#
cat <<EOF >"$_outputfile"
Expand Down

0 comments on commit 0194e6c

Please sign in to comment.