feat: add deploy command

This commit is contained in:
Michael Vines 2018-10-13 11:21:20 -07:00
parent 3f2d1c4352
commit e739ac1424
1 changed files with 24 additions and 2 deletions

View File

@ -7,7 +7,7 @@ usage() {
echo "Error: $*"
fi
cat <<EOF
usage: $0 [update|up|down|logs] [command-specific options]
usage: $0 [update|up|down|logs|deploy] [command-specific options]
Operate a local testnet
@ -15,6 +15,7 @@ Operate a local testnet
up - Start the network
down - Stop the network
logs - Display network logging
deploy - Deploy a native program.
logs-specific options:
@ -27,8 +28,11 @@ Operate a local testnet
down-specific options:
none
deploy-specific options:
program - The program to deploy.
Note that deployments are discarded on network stop
Assumes that docker is installed
EOF
exit $exitcode
}
@ -101,6 +105,24 @@ logs)
docker logs solana-localnet
)
;;
deploy)
program=$1
[[ -n $program ]] || usage
[[ -f $program ]] || usage "file does not exist: $program"
basename=$(basename "$program")
if docker exec solana-localnet test -f /usr/bin/"$basename"; then
echo "Error: $basename has already been deployed"
exit 1
fi
(
set -x
docker cp "$program" solana-localnet:/usr/bin/
)
docker exec solana-localnet ls -l /usr/bin/"$basename"
echo "$basename deployed successfully"
;;
*)
usage "Unknown command: $cmd"
esac