Rails 5.1 + Whenever gem + AWS Elastic Beanstalk - config file for 2018
Ok so as many others did before me, I just spent way too long trying to get the whenever CLI to work within my Rails application, when deployed on AWS through Elastic Beanstalk.
This is the content of the file which FINALLY did it for me. Create it under .ebextensions/whenever.config (or whatever other name .config) within your app's root folder and make sure it's correctly indented (2 spaces per level), as it will be interpreted as YAML:
files:
"/opt/elasticbeanstalk/hooks/appdeploy/post/update_cron_tab.sh":
mode: "000755"
owner: root
group: root
content: |
#!/bin/sh
EB_SCRIPT_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k script_dir)
EB_SUPPORT_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k support_dir)
EB_APP_CURRENT_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k app_deploy_dir)
. $EB_SUPPORT_DIR/envvars
. $EB_SCRIPT_DIR/use-app-ruby.sh
sudo su - ec2-user -c "cd $EB_APP_CURRENT_DIR; whenever --update-crontab"
sudo su - ec2-user -c "crontab -l"
PS: I am using the Puma + Ruby 2.5 EB platform v2.7.1
Written by coconup
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Ruby
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#