mirror of
https://github.com/vitodeploy/vito.git
synced 2025-04-17 17:01:37 +00:00
60 lines
1.6 KiB
Bash
60 lines
1.6 KiB
Bash
#!/bin/bash
|
|
|
|
# Check if AWS CLI is installed
|
|
if ! command -v aws &> /dev/null
|
|
then
|
|
echo "AWS CLI is not installed. Installing..."
|
|
|
|
# Detect system architecture
|
|
ARCH=$(uname -m)
|
|
if [ "$ARCH" == "x86_64" ]; then
|
|
CLI_URL="https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip"
|
|
elif [ "$ARCH" == "aarch64" ]; then
|
|
CLI_URL="https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip"
|
|
else
|
|
echo "Unsupported architecture: $ARCH"
|
|
exit 1
|
|
fi
|
|
|
|
# Download and install AWS CLI
|
|
sudo curl "$CLI_URL" -o "awscliv2.zip"
|
|
sudo unzip awscliv2.zip
|
|
sudo ./aws/install --update
|
|
sudo rm -rf awscliv2.zip aws
|
|
|
|
echo "AWS CLI installation completed."
|
|
else
|
|
echo "AWS CLI is already installed."
|
|
/usr/local/bin/aws --version
|
|
fi
|
|
|
|
# Configure AWS CLI with provided credentials
|
|
/usr/local/bin/aws configure set aws_access_key_id "__key__"
|
|
/usr/local/bin/aws configure set aws_secret_access_key "__secret__"
|
|
|
|
# Use the provided endpoint in the correct format
|
|
ENDPOINT="__endpoint__"
|
|
BUCKET="__bucket__"
|
|
REGION="__region__"
|
|
|
|
# Ensure that DEST does not have a trailing slash
|
|
SRC="__src__"
|
|
DEST="__dest__"
|
|
|
|
# Upload the file
|
|
echo "Uploading __src__ to s3://$BUCKET/$DEST"
|
|
upload_output=$(/usr/local/bin/aws s3 cp "$SRC" "s3://$BUCKET/$DEST" --endpoint-url="$ENDPOINT" --region "$REGION" 2>&1)
|
|
upload_exit_code=$?
|
|
|
|
# Log output and exit code
|
|
echo "Upload command output: $upload_output"
|
|
echo "Upload command exit code: $upload_exit_code"
|
|
|
|
# Check if the upload was successful
|
|
if [ $upload_exit_code -eq 0 ]; then
|
|
echo "Upload successful"
|
|
else
|
|
echo "Upload failed"
|
|
exit 1
|
|
fi
|