check-codedeploy check-codedeploy shipper
January 30, 2018 · View on GitHub
#!/bin/bash
check-codedeploy check-codedeploy shipper
chkconfig: 2345 98 02
description: Starts and stops a single check-codedeploy instance on this system
BEGIN INIT INFO
Provides: check-codedeploy
Required-Start: network $syslog
Required-Stop: network $syslog
Default-Start: 2 3 4 5
Default-Stop: 0 1 6
END INIT INFO
This gives us our custom tags that are applied to each instance
ENVIRONMENT, PRODUCT, ROLE, TEAM
We will use these variables to determine it's application and deployment group it needs to check
. /usr/bin/get-meta . /etc/bashrc
function ensureTagsSet() { echo "----------------------------------------------------------------------------------" echo "" while [[ $PRODUCT == 'template' ]]; do echo "Tags not set yet. Waiting 5 seconds and checking again." sleep 5 . /usr/bin/get-meta . /etc/bashrc done }
function setDeploymentGroup() { echo "" echo "Getting Deployment Group" case ROLE == 'cron' ]] || [[ {PRODUCT}{PRODUCT}DEPLOYMENTGROUP" }
function update-instance() { ensureTagsSet setDeploymentGroup echo ""
echo "- Checking if code has been deployed to this instance"
CREATE_DEPLOYMENT=$(aws deploy create-deployment --application-name $PRODUCT --deployment-group $DEPLOYMENTGROUP --update-outdated-instances-only)
DEPLOYMENT_RESULT=$?
echo ""
echo "- Deploy Command: aws deploy create-deployment --application-name $PRODUCT --deployment-group $DEPLOYMENTGROUP --update-outdated-instances-only"
echo "- Deploy Code: $DEPLOYMENT_RESULT"
echo "----------------------------------------------------------------------------------"
echo ""
}
update-instance 2>&1 | tee /var/log/check-codedeploy.log