prod deployment
This commit is contained in:
36
bin/deploy
36
bin/deploy
@@ -28,6 +28,15 @@ if [ "$1" == "dev" ]; then
|
||||
DEV=1
|
||||
fi
|
||||
|
||||
if [ "$1" == "prod" ]; then
|
||||
shift
|
||||
ENV=prod
|
||||
KUBECTL="kubectl --context=prod"
|
||||
else
|
||||
ENV=dev
|
||||
KUBECTL="kubectl"
|
||||
fi
|
||||
|
||||
if [ "$PROJECT" == "dev" ]; then
|
||||
DEV=1
|
||||
# NO_CACHE=--no-cache
|
||||
@@ -183,7 +192,28 @@ echo "$TAG" >&2
|
||||
|
||||
if [ "$DEPLOY" == "1" ]; then
|
||||
docker push $REMOTE/ai-$PROJECT:$TAG
|
||||
YAML=$(sed "s#image: dexorder/ai-$PROJECT*#image: $REMOTE/ai-$PROJECT:$TAG#" deploy/k8s/$KUBERNETES.yaml)
|
||||
echo "$YAML" | kubectl apply -f - || echo "$YAML" "\nkubectl apply failed" && exit 1
|
||||
echo deployed $KUBERNETES.yaml $REMOTE/ai-$PROJECT:$TAG
|
||||
docker push $REMOTE/ai-$PROJECT:latest
|
||||
|
||||
if [ "$ENV" == "prod" ]; then
|
||||
case "$PROJECT" in
|
||||
flink)
|
||||
$KUBECTL set image deployment/flink-jobmanager flink-jobmanager=$REMOTE/ai-flink:$TAG
|
||||
$KUBECTL set image deployment/flink-taskmanager flink-taskmanager=$REMOTE/ai-flink:$TAG
|
||||
;;
|
||||
web)
|
||||
$KUBECTL set image deployment/ai-web ai-web=$REMOTE/ai-web:$TAG
|
||||
;;
|
||||
sandbox|lifecycle-sidecar)
|
||||
echo "Image pushed. New sandboxes will use $REMOTE/ai-$PROJECT:$TAG"
|
||||
;;
|
||||
*)
|
||||
$KUBECTL set image deployment/$PROJECT $PROJECT=$REMOTE/ai-$PROJECT:$TAG
|
||||
;;
|
||||
esac
|
||||
echo "deployed $PROJECT $REMOTE/ai-$PROJECT:$TAG"
|
||||
else
|
||||
YAML=$(sed "s#image: dexorder/ai-$PROJECT*#image: $REMOTE/ai-$PROJECT:$TAG#" deploy/k8s/$KUBERNETES.yaml)
|
||||
echo "$YAML" | kubectl apply -f - || { echo "$YAML"; echo "kubectl apply failed"; exit 1; }
|
||||
echo deployed $KUBERNETES.yaml $REMOTE/ai-$PROJECT:$TAG
|
||||
fi
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user