papakay

papakay

Current shell error with edeliver

Hello, please i’m having issue deploying to a digitalocean droplet (Ubuntu 16.04.3).

Please find below the error details:

Output of the command is shown above and the command executed
on that host is printed below for debugging purposes:

FAILED with exit status 255:

    current_shell="$0" || :
    [ -z "$current_shell" ] && current_shell="$SHELL"
    case "$current_shell" in
      (*bash*) echo 'bash is installed and the default shell'  ;;
      (*zsh*)  echo  'zsh is installed and the default shell'  ;;
      (*)
       echo
       echo "You are using an unsupported shell: '$current_shell'"
       echo "edeliver requires either bash or zsh to be installed"
       echo "and the default shell for the build user 'kehinde'"
       echo "on your build host: '46.101.30.23'."
       exit 1
       ;;
    esac
    set -e
    if [ ! -d /home/kehinde/app_name/builds ]
    then
      mkdir -p /home/kehinde/app_name/builds
      cd /home/kehinde/app_name/builds
      git init
      git config receive.denyCurrentBranch ignore
    else
      cd /home/kehinde/app_name/builds
      git config receive.denyCurrentBranch ignore
    fi

Marked As Solved

papakay

papakay

I found the issue to be a port issue. Please refer to this link

https://github.com/edeliver/edeliver/issues/230#issuecomment-382800734

Also Liked

kokolegorille

kokolegorille

I am sorry, I have little experience with edeliver as I deploy manually.

But what I can tell is the user shell is ok, that would mean the rest is in error.

I cannot really help You, but I would try to run each commands separately, to check which one is failing.

alexandrubagu

alexandrubagu

Do you have git installed ? Edeliver adds your build machine as remote and uses the ssh protocol to push the source code of your app there. you can check that by running git remote -v show in you project directory after building on the build host. It shows something like that:

$ git remote -v show
$BUILD_USER@$BUILD_HOST $BUILD_USER@$BUILD_HOST:$BUILD_AT (fetch)
$BUILD_USER@$BUILD_HOST $BUILD_USER@$BUILD_HOST:$BUILD_AT (push)
origin git@your_remote(fetch)
origin git@your_remote(push)

Last Post!

joaquinalcerro

joaquinalcerro

So I am following this thread to solve the same issue without success. I will appreciate your help in this matter.

Environment

Elixir 1.6.6 (compiled with OTP 20)
edeliver v1.4.5 | GitHub - edeliver/edeliver: Deployment for Elixir and Erlang · GitHub
distillery 1.5.3
OpenSuse Leap 15 (my laptop) with name: linux-6h0b
Build Server: Ubuntu 16.04
Production Server: Ubuntu 16.04

The problem

BUILDING RELEASE OF EPR APP ON BUILD HOST

-----> Authorizing hosts
-----> Ensuring hosts are ready to accept git pushes
ssh: connect to host linux-6h0b port 22: Connection refused

A remote command failed on:

  jalcerro@linux-6h0b

Output of the command is shown above and the command executed
on that host is printed below for debugging purposes:

FAILED with exit status 255:

    current_shell="$0" || :
    [ -z "$current_shell" ] && current_shell="$SHELL"
    case "$current_shell" in
      (*bash*) echo 'bash is installed and the default shell' &> /dev/null ;;
      (*zsh*)  echo  'zsh is installed and the default shell' &> /dev/null ;;
      (*)
       echo
       echo "You are using an unsupported shell: '$current_shell'"
       echo "edeliver requires either bash or zsh to be installed"
       echo "and the default shell for the build user 'jalcerro'"
       echo "on your build host: 'linux-6h0b'."
       exit 1
       ;;
    esac
    set -e
    if [ ! -d /home/jalcerro/app_build ]
    then
      mkdir -p /home/jalcerro/app_build
      cd /home/jalcerro/app_build
      git init &> /dev/null
      git config receive.denyCurrentBranch ignore
    else
      cd /home/jalcerro/app_build
      git config receive.denyCurrentBranch ignore
    fi

My .deliver/config file

#!/usr/bin/env zsh

APP="epr"

BUILD_HOST="build-server.local"
BUILD_USER="jalcerro"
BUILD_AT="/home/jalcerro/app_build"

PRODUCTION_HOSTS="prod-app.local"
PRODUCTION_USER="support" 
DELIVER_TO="/home/support/epr" 

pre_erlang_get_and_update_deps() {
  local _prod_secret_path="/home/jalcerro/app_config/prod.secret.exs"
  if [ "$TARGET_MIX_ENV" = "prod" ]; then
    __sync_remote "
      ln -sfn '$_prod_secret_path' '$BUILD_AT/config/prod.secret.exs'
    "
  fi
}

I have configured

  • I am able to ssh into my build server without password
  • Configured .ssh/config file proppery
  • Used ssh-copy-id to add key to authorized-keys file
  • check my shell to by zsh in passwd

I don’t understand

  • Why is edeliver trying to use my computer name “linux-6h0b” instead of the the build_host “build-server.local”?

Thanks for your help.

Where Next?

Popular in Questions Top

Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
New
PeterCarter
There are pre-rolled solutions for other frameworks that do work. However, Phoenix does not seem to have these. Have people had good expe...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New

Other popular topics Top

JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 49134 226
New
sergio
Kind of like when jquery came out, it was super necessary. Existing drag and drop libraries have a bunch of baggage to support old browse...
New

We're in Beta

About us Mission Statement