NPM private git module on Heroku

后端 未结 10 1121
不知归路
不知归路 2020-12-07 13:05

I am trying to deploy my app to Heroku however I rely on using some private git repos as modules. I do this for code reuse between projects, e.g. I have a custom logger I us

10条回答
  •  执念已碎
    2020-12-07 14:04

    This answer is good https://stackoverflow.com/a/29677091/6135922, but I changed a little bit preinstall script. Hope this will help someone.

    #!/bin/bash
    # Generates an SSH config file for connections if a config var exists.
    
    echo "Preinstall"
    
    if [ "$GIT_SSH_KEY" != "" ]; then
      echo "Detected SSH key for git. Adding SSH config" >&1
      echo "" >&1
    
      # Ensure we have an ssh folder
      if [ ! -d ~/.ssh ]; then
        mkdir -p ~/.ssh
        chmod 700 ~/.ssh
      fi
    
      # Load the private key into a file.
      echo $GIT_SSH_KEY | base64 --decode > ~/.ssh/deploy_key
    
      # Change the permissions on the file to
      # be read-only for this user.
      chmod o-w ~/
      chmod 700 ~/.ssh
      chmod 600 ~/.ssh/deploy_key
    
      # Setup the ssh config file.
      echo -e "Host bitbucket.org\n"\
              " IdentityFile ~/.ssh/deploy_key\n"\
              " HostName bitbucket.org\n" \
              " IdentitiesOnly yes\n"\
              " UserKnownHostsFile=/dev/null\n"\
              " StrictHostKeyChecking no"\
              > ~/.ssh/config
    
      echo "eval `ssh-agent -s`"
      eval `ssh-agent -s`
    
      echo "ssh-add -l"
      ssh-add -l
    
      echo "ssh-add ~/.ssh/deploy_key"
      ssh-add ~/.ssh/deploy_key
    
      # uncomment to check that everything works just fine
      # ssh -v git@bitbucket.org
    fi
    

提交回复
热议问题