- Release script added to tag in both git and docker
This commit is contained in:
60
docker/release_and_tag_eveai.sh
Normal file
60
docker/release_and_tag_eveai.sh
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Initialize variables
|
||||||
|
RELEASE_VERSION=""
|
||||||
|
RELEASE_MESSAGE=""
|
||||||
|
DOCKER_ACCOUNT="josakola" # Your Docker account name
|
||||||
|
|
||||||
|
# Parse input arguments
|
||||||
|
while getopts r:m: flag
|
||||||
|
do
|
||||||
|
case "${flag}" in
|
||||||
|
r) RELEASE_VERSION=${OPTARG};;
|
||||||
|
m) RELEASE_MESSAGE=${OPTARG};;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 -r <release_version> -m <release_message>"
|
||||||
|
exit 1 ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# Ensure both version and message are provided
|
||||||
|
if [ -z "$RELEASE_VERSION" ]; then
|
||||||
|
echo "Error: Release version not provided. Use -r <release_version>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$RELEASE_MESSAGE" ]; then
|
||||||
|
echo "Error: Release message not provided. Use -m <release_message>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Path to your docker-compose file
|
||||||
|
DOCKER_COMPOSE_FILE="compose_dev.yaml"
|
||||||
|
|
||||||
|
# Get all the services defined in the docker-compose file
|
||||||
|
SERVICES=$(docker-compose -f $DOCKER_COMPOSE_FILE config --services)
|
||||||
|
|
||||||
|
# Tag and push images for all services that belong to your Docker account
|
||||||
|
for SERVICE in $SERVICES; do
|
||||||
|
DOCKER_IMAGE="your-docker-repo/$SERVICE"
|
||||||
|
|
||||||
|
# Check if the image starts with your Docker account name
|
||||||
|
if [[ $DOCKER_IMAGE == $DOCKER_ACCOUNT* ]]; then
|
||||||
|
echo "Tagging Docker image for service: $SERVICE with version: $RELEASE_VERSION"
|
||||||
|
|
||||||
|
# Tag the 'latest' image with the new release version
|
||||||
|
docker tag $DOCKER_IMAGE:latest $DOCKER_IMAGE:$RELEASE_VERSION
|
||||||
|
|
||||||
|
# Push the newly tagged image to Docker Hub
|
||||||
|
docker push $DOCKER_IMAGE:$RELEASE_VERSION
|
||||||
|
else
|
||||||
|
echo "Skipping service: $SERVICE (not part of Docker account $DOCKER_ACCOUNT)"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Step 3: Tag the Git repository with the release version
|
||||||
|
echo "Tagging Git repository with version: $RELEASE_VERSION"
|
||||||
|
git tag -a v$RELEASE_VERSION -m "Release $RELEASE_VERSION: $RELEASE_MESSAGE"
|
||||||
|
git push origin v$RELEASE_VERSION
|
||||||
|
|
||||||
|
echo "Release process completed for version: $RELEASE_VERSION"
|
||||||
Reference in New Issue
Block a user