Skip to content
Snippets Groups Projects
Commit cdb5a8a6 authored by Alexey Lunin's avatar Alexey Lunin
Browse files

increase helm speed

parent 4740af6e
No related branches found
No related tags found
No related merge requests found
...@@ -4,26 +4,37 @@ ...@@ -4,26 +4,37 @@
CHART_PATH="." CHART_PATH="."
# Get a list of all values-*.yaml files in the current directory # Get a list of all values-*.yaml files in the current directory
VALUES_FILES=$(ls custom-values/values*.yaml) VALUES_FILES=$(ls values*.yaml)
# Max number of parallel jobs
MAX_JOBS=10
CURRENT_JOBS=0
# Loop over each values file # Loop over each values file
for VALUES_FILE in $VALUES_FILES for VALUES_FILE in $VALUES_FILES
do do
# Extract the base name without extension # Extract the base name without the 'values-' prefix and '.yaml' extension
BASE_NAME=$(basename "$VALUES_FILE" .yaml) BASE_NAME=$(basename "$VALUES_FILE" .yaml)
BASE_NAME="${BASE_NAME#values-}"
# Use the base name as the release name # Use the base name as the release name
RELEASE_NAME="ocm-$BASE_NAME" RELEASE_NAME="$BASE_NAME"
# Run helm upgrade --install with the found values file in the background
echo "Starting deployment for $RELEASE_NAME with $VALUES_FILE"
helm upgrade --install "$RELEASE_NAME" "$CHART_PATH" -f "./$VALUES_FILE" &
# Run helm install with the found values file # Increment the current jobs counter
echo "Deploying $RELEASE_NAME with $VALUES_FILE" ((CURRENT_JOBS++))
helm install "$RELEASE_NAME" "$CHART_PATH" -f "./$VALUES_FILE"
# Check for errors # If the max number of jobs is reached, wait for all jobs to complete before continuing
if [ $? -ne 0 ]; then if (( CURRENT_JOBS >= MAX_JOBS )); then
echo "Helm install failed for $VALUES_FILE" wait
exit 1 CURRENT_JOBS=0
fi fi
done done
echo "Helm install completed for all values files." # Wait for the last batch of jobs to finish
wait
echo "Helm deployment completed for all values files."
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment