Last active
August 29, 2015 14:19
-
-
Save silvioq/e7e6da002e3ff67115f8 to your computer and use it in GitHub Desktop.
Config pm for CPAN on openshift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
read -p "Enter your app name: " APP | |
if [ q$APP == q ] ; then | |
echo "No app ... aborting" | |
exit 1 | |
fi | |
rhc create-app -t diy-0.1 -a $APP | |
export APPSHOW=`rhc app-show -a $APP` | |
export APPSSH=`echo "$APPSHOW" | grep SSH | cut -d ":" -f 2 | xargs echo` | |
export APPGIT=`echo "$APPSHOW" | grep "Git URL" | cut -d ":" -f 2-3 | xargs echo` | |
# install perl modules | |
ssh $APPSSH "curl -s https://gist.githubusercontent.com/silvioq/e7e6da002e3ff67115f8/raw/47fce975539bc3eb3263ca2e7cdd9b080aff213a/myconfig-creator.sh | bash -s" | |
# Echo example | |
git clone https://github.com/silvioq/echo-example-app.git | |
cd echo-example-app | |
git remote add openshift -f $APPGIT | |
git merge openshift/master -m "Merging openshift" | |
# | |
# Hook modification | |
cat > .openshift/action_hooks/start <<EOF | |
#!/bin/bash | |
# The logic to start up your application should be put in this | |
# script. The application will work only if it binds to | |
# \$OPENSHIFT_DIY_IP:8080 | |
export PERL5LIB=\$OPENSHIFT_DATA_DIR/modperl/lib/perl5/ | |
export HOME=\$OPENSHIFT_DATA_DIR | |
nohup perl \$OPENSHIFT_REPO_DIR/diy/echo.pl daemon \ | |
-m production \ | |
-l http://\$OPENSHIFT_DIY_IP:\$OPENSHIFT_DIY_PORT \ | |
|& /usr/bin/logshifter -tag diy & | |
EOF | |
cat > .openshift/action_hooks/stop <<EOF | |
#!/bin/bash | |
source \$OPENSHIFT_CARTRIDGE_SDK_BASH | |
# The logic to stop your application should be put in this script. | |
if [ -z "\$(ps -ef | grep echo.pl | grep -v grep)" ] | |
then | |
client_result "Application is already stopped" | |
else | |
kill \`ps -ef | grep echo.pl | grep -v grep | awk '{ print \$2 }'\` > /dev/null 2>&1 | |
fi | |
EOF | |
git commit -am "Hooks modification" | |
git rm diy/index.html diy/testrubyserver.rb | |
git commit -m "Removes unuseful files" | |
git push openshift master | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
if [ ! -d $OPENSHIFT_DATA_DIR/.cpan ]; then | |
mkdir $OPENSHIFT_DATA_DIR/.cpan | |
fi; | |
if [ ! -d $OPENSHIFT_DATA_DIR/.cpan/CPAN ]; then | |
mkdir $OPENSHIFT_DATA_DIR/.cpan/CPAN | |
fi; | |
cat > $OPENSHIFT_DATA_DIR/.cpan/CPAN/MyConfig.pm << EOF | |
\$CPAN::Config = { | |
'auto_commit' => q[0], | |
'build_cache' => q[5], | |
'build_dir' => q[$OPENSHIFT_DATA_DIR/.cpan/build], | |
'build_requires_install_policy' => q[yes], | |
'cache_metadata' => q[1], | |
'check_sigs' => q[0], | |
'commandnumber_in_prompt' => q[1], | |
'connect_to_internet_ok' => q[0], | |
'cpan_home' => q[$OPENSHIFT_DATA_DIR/data/.cpan], | |
'dontload_hash' => { }, | |
'ftp' => q[/usr/bin/ftp], | |
'ftp_passive' => q[1], | |
'ftp_proxy' => q[], | |
'getcwd' => q[cwd], | |
'gzip' => q[/usr/bin/gzip], | |
'halt_on_failure' => q[0], | |
'histfile' => q[$OPENSHIFT_DATA_DIR/.cpan/histfile], | |
'histsize' => q[100], | |
'http_proxy' => q[], | |
'inactivity_timeout' => q[0], | |
'index_expire' => q[1], | |
'inhibit_startup_message' => q[0], | |
'keep_source_where' => q[$OPENSHIFT_DATA_DIR/.cpan/sources], | |
'load_module_verbosity' => q[v], | |
'lynx' => q[ ], | |
'make' => q[/usr/bin/make], | |
'make_arg' => q[], | |
'make_install_arg' => q[], | |
'make_install_make_command' => q[/usr/bin/make], | |
'makepl_arg' => q[PREFIX=$OPENSHIFT_DATA_DIR/modperl/ SITELIBEXP=$OPENSHIFT_DATA_DIR/modperl/lib/perl5 LIB=$OPENSHIFT_DATA_DIR/modperl/lib/perl5 INSTALLMAN1DIR=$OPENSHIFT_DATA_DIR/modperl/share/man/man1 INSTALLMAN3DIR=$OPENSHIFT_DATA_DIR/modperl/share/man/man3 INSTALLSITEMAN1DIR=$OPENSHIFT_DATA_DIR/modperl/share/man/man1 INSTALLSITEMAN3DIR=$OPENSHIFT_DATA_DIR/modperl/share/man/man3], | |
'mbuild_arg' => q[], | |
'mbuild_install_arg' => q[], | |
'mbuild_install_build_command' => q[./Build], | |
'mbuildpl_arg' => q[--install_base $OPENSHIFT_DATA_DIR/modperl], | |
'ncftp' => q[ ], | |
'ncftpget' => q[ ], | |
'no_proxy' => q[], | |
'pager' => q[less], | |
'perl5lib_verbosity' => q[v], | |
'prefer_installer' => q[MB], | |
'prerequisites_policy' => q[follow], | |
'proxy_user' => q[], | |
'scan_cache' => q[atstart], | |
'shell' => q[/bin/sh], | |
'show_upload_date' => q[0], | |
'tar' => q[/usr/bin/tar], | |
'tar_verbosity' => q[v], | |
'term_is_latin' => q[0], | |
'term_ornaments' => q[1], | |
'trust_test_report_history' => q[0], | |
'unzip' => q[/usr/bin/unzip], | |
'urllist' => [q[http://cpan.llarian.net/], q[ftp://cpan.nas.nasa.gov/pub/perl/CPAN/], q[ftp://cpan.pair.com/pub/CPAN/], q[ftp://ftp.duke.edu/pub/perl/], q[ftp://ftp.cs.colorado.edu/pub/perl/CPAN/], q[ftp://ftp.sunsite.utk.edu/pub/CPAN/], q[http://www.perl.com/CPAN/]], | |
'use_sqlite' => q[0], | |
'wait_list' => [q[wait://ls6.informatik.uni-dortmund.de:1404]], | |
'wget' => q[/usr/bin/wget], | |
'yaml_load_code' => q[0], | |
}; | |
1; | |
__END__ | |
EOF | |
echo "################################################" | |
echo "Starting Mojolicious installation" | |
echo "################################################" | |
PERL5LIB=$OPENSHIFT_DATA_DIR/modperl/lib/perl5 HOME=$OPENSHIFT_DATA_DIR cpan -i Time::HiRes | |
PERL5LIB=$OPENSHIFT_DATA_DIR/modperl/lib/perl5 HOME=$OPENSHIFT_DATA_DIR cpan -f -i Mojolicious | |
echo "################################################" | |
echo "" | |
echo "" | |
echo "Mojo version installed: " `PERL5LIB=$OPENSHIFT_DATA_DIR/modperl/lib/perl5 perl -e "print \\$Mojolicious::VERSION . \"\\n\"" -MMojolicious` | |
echo "################################################" | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment