Skip to content

Commit

Permalink
clear debugs
Browse files Browse the repository at this point in the history
  • Loading branch information
yardenasadosa committed Apr 5, 2024
1 parent c418ddd commit 480cac4
Showing 1 changed file with 62 additions and 72 deletions.
134 changes: 62 additions & 72 deletions github.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,82 +37,72 @@ export RC_DIR_ENVSUBST=$rc_dir
export S3_BUCKET_ENVSUBST=$s3_bucket
export RC_TARBALL_ENVSUBST=$rc_tarball

echo "print ENVSUBST env:"
env | grep "ENVSUBST"

#append all "_ENVSUBST" env vars keys to a online commas separated.
b=""; for i in $(printenv | grep "_ENVSUBST" | sed 's;=.*;;'); do echo "$i"; b="$b\$$i,"; done; b=${b::-1};
envsubst_varlist="$b"
echo "$envsubst_varlist"

## Render Script Templates
#see doc in https://github.com/a8m/envsubst
envsubst "$envsubst_varlist" < ./pre_install.sh.tpl > ./pre_install.sh
envsubst "$envsubst_varlist" < ./rotate_version.sh.tpl > ./rotate_version.sh

echo "print script pre_install.sh:"
cat pre_install.sh
echo "print script rotate_version.sh:"
cat rotate_version.sh


### When deploying to production, run using the "rocketchat-deploy" role
#if [[ $environment == production ]] ; then
# assumed_role_json=$(
# aws \
# --output json \
# sts assume-role \
# --role-arn arn:aws:iam::618678420696:role/switch-account-deploy-rocket-chat \
# --role-session-name rocketchat-deploy
# )
# assumed_role_variables=$(
# echo "${assumed_role_json}" | jq -r \
# '
# "export AWS_SESSION_TOKEN=" + .Credentials.SessionToken + "\n" +
# "export AWS_ACCESS_KEY_ID=" + .Credentials.AccessKeyId + "\n" +
# "export AWS_SECRET_ACCESS_KEY=" + .Credentials.SecretAccessKey + "\n"
# '
# )
# eval "$assumed_role_variables"
#fi
#
### Get instance IPs one per line (multiline string)
#rc_instance_ips=$(
# aws ec2 describe-instances \
# --filters Name=instance-state-name,Values=running \
# Name=tag:aws:autoscaling:groupName,Values=rocketchat \
# --query "Reservations[*].Instances[*].NetworkInterfaces[0].PrivateIpAddress" \
# --output text
#)
#
#
### Install RC tarball (and its dependencies) onto all RC nodes
#hr
#echo "Installing new build onto all RC nodes:"
#parallel-ssh \
# -x "-o StrictHostKeyChecking=no" \
# --inline --timeout 600 --user deploy \
# --hosts <(echo "$rc_instance_ips") \
# --send-input < ./pre_install.sh
#hr
#
### Activate new version
#echo "Activating new build on all RC nodes:"
#parallel-ssh \
# -x "-o StrictHostKeyChecking=no" \
# --inline --timeout 600 --user deploy \
# --hosts <(echo "$rc_instance_ips") \
# --send-input < ./rotate_version.sh
#hr
#
### Update the version marker file
#echo "Mark which RC build is now active..."
#current_marker_file="rocket.chat-$environment.tgz"
#aws sts get-caller-identity
#aws s3 cp "s3://$s3_bucket/$rc_tarball" "s3://$s3_bucket/$current_marker_file" --acl public-read
#hr
#
### Flush CDN
#echo "Flushing $environment CDN"
#FASTLY_SERVICE=$(aws ssm get-parameter --name /rocketchat/fastly_service_id --with-decryption --query Parameter.Value --output text)
#FASTLY_TOKEN=$(aws ssm get-parameter --name /rocketchat/fastly_api_key --with-decryption --query Parameter.Value --output text)
#curl -X POST -H "Fastly-Key: $FASTLY_TOKEN" "https://api.fastly.com/service/$FASTLY_SERVICE/purge/$environment"
## When deploying to production, run using the "rocketchat-deploy" role
if [[ $environment == production ]] ; then
assumed_role_json=$(
aws \
--output json \
sts assume-role \
--role-arn arn:aws:iam::618678420696:role/switch-account-deploy-rocket-chat \
--role-session-name rocketchat-deploy
)
assumed_role_variables=$(
echo "${assumed_role_json}" | jq -r \
'
"export AWS_SESSION_TOKEN=" + .Credentials.SessionToken + "\n" +
"export AWS_ACCESS_KEY_ID=" + .Credentials.AccessKeyId + "\n" +
"export AWS_SECRET_ACCESS_KEY=" + .Credentials.SecretAccessKey + "\n"
'
)
eval "$assumed_role_variables"
fi

## Get instance IPs one per line (multiline string)
rc_instance_ips=$(
aws ec2 describe-instances \
--filters Name=instance-state-name,Values=running \
Name=tag:aws:autoscaling:groupName,Values=rocketchat \
--query "Reservations[*].Instances[*].NetworkInterfaces[0].PrivateIpAddress" \
--output text
)


## Install RC tarball (and its dependencies) onto all RC nodes
hr
echo "Installing new build onto all RC nodes:"
parallel-ssh \
-x "-o StrictHostKeyChecking=no" \
--inline --timeout 600 --user deploy \
--hosts <(echo "$rc_instance_ips") \
--send-input < ./pre_install.sh
hr

## Activate new version
echo "Activating new build on all RC nodes:"
parallel-ssh \
-x "-o StrictHostKeyChecking=no" \
--inline --timeout 600 --user deploy \
--hosts <(echo "$rc_instance_ips") \
--send-input < ./rotate_version.sh
hr

## Update the version marker file
echo "Mark which RC build is now active..."
current_marker_file="rocket.chat-$environment.tgz"
aws sts get-caller-identity
aws s3 cp "s3://$s3_bucket/$rc_tarball" "s3://$s3_bucket/$current_marker_file" --acl public-read
hr

## Flush CDN
echo "Flushing $environment CDN"
FASTLY_SERVICE=$(aws ssm get-parameter --name /rocketchat/fastly_service_id --with-decryption --query Parameter.Value --output text)
FASTLY_TOKEN=$(aws ssm get-parameter --name /rocketchat/fastly_api_key --with-decryption --query Parameter.Value --output text)
curl -X POST -H "Fastly-Key: $FASTLY_TOKEN" "https://api.fastly.com/service/$FASTLY_SERVICE/purge/$environment"

0 comments on commit 480cac4

Please sign in to comment.