Skip to content

Instantly share code, notes, and snippets.

@jimsynz
Last active November 4, 2018 22:24
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 8 You must be signed in to fork a gist
  • Save jimsynz/44f8962cddef781ab830 to your computer and use it in GitHub Desktop.
Save jimsynz/44f8962cddef781ab830 to your computer and use it in GitHub Desktop.
I use this to install Elixir on Codeship.
#!/bin/sh
# I use this to install Elixir on our codeship instances for testing. YMMV.
# curl -O https://gist.githubusercontent.com/jamesotron/44f8962cddef781ab830/raw/e75599e95587cbca26e707505fd40dd0f26eb0f5/install_ex.sh
# . ~/install_ex.sh
# You can override your Elixir and Erlang versions from your shell when you call ./install_ex.sh.
export ERLANG_VERSION=${ERLANG_VERSION:-18.0.3}
export ELIXIR_VERSION=${ELIXIR_VERSION:-1.0.5}
# Erlang
echo Installing Erlang version ${ERLANG_VERSION}
curl -O "https://s3.amazonaws.com/heroku-buildpack-elixir/erlang/cedar-14/OTP-${ERLANG_VERSION}.tar.gz"
tar zxf OTP-${ERLANG_VERSION}.tar.gz
ERL_PATH=$(realpath ~/OTP-${ERLANG_VERSION})
${ERL_PATH}/Install -minimal ${ERL_PATH}
export PATH="${ERL_PATH}/bin:$PATH"
# Elixir
echo Installing Elixir version ${ELIXIR_VERSION}
curl -O "https://s3.amazonaws.com/s3.hex.pm/builds/elixir/v${ELIXIR_VERSION}.zip"
mkdir ~/elixir-${ELIXIR_VERSION}
EX_PATH=$(realpath ~/elixir-${ELIXIR_VERSION})
cd ${EX_PATH}
unzip -q ../v${ELIXIR_VERSION}.zip
export PATH="${EX_PATH}/bin:$PATH"
mix local.hex --force
mix local.rebar
@tomodutch
Copy link

curl -O "https://s3.amazonaws.com/s3.hex.pm/builds/erlang/cedar-14/OTP-${ERLANG_VERSION}.tar.gz"

Then link seems to not work anymore

@jimsynz
Copy link
Author

jimsynz commented Feb 24, 2016

Link updated to match the elixir buildpack (which is where I got it in the first place)

@owyongsk
Copy link

Seems like realpath is not available on new codeship as of this comment. I'm switching to readlink -f based on http://unix.stackexchange.com/questions/101080/realpath-command-not-found

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment