Skip to content

Instantly share code, notes, and snippets.

@blvz
Last active August 23, 2023 23:15
Show Gist options
  • Save blvz/8eeebacae11011c25fc79eff12f49ae9 to your computer and use it in GitHub Desktop.
Save blvz/8eeebacae11011c25fc79eff12f49ae9 to your computer and use it in GitHub Desktop.
Creates a deploy key and clones the repository.
#!/usr/bin/env bash
read -r -d '' usage << EOM
Usage:
gh-deploy-clone user/repo [ENVIRONMENT]
EOM
[ -z "$1" ] && echo && echo "$usage" && echo && exit 1
repo="$1"
repo_name="${repo#*/}"
env=$([ -n "$2" ] && echo "$2_" || echo)
key="github_$env$repo_name"
key_path="$HOME/.ssh/$key.rsa"
cat >> "$HOME/.ssh/config" << EOM
Host $repo_name.github.com
HostName github.com
User git
IdentityFile $key_path
IdentitiesOnly yes
EOM
ssh-keygen -f "$key_path" -N '' -t rsa -C "$key"
echo
echo
echo Add the deploy key below to
echo "https://github.com/$repo/settings/keys"
echo and press enter to clone the repo.
echo
echo
cat "$key_path.pub"
echo
echo
read -p "Press enter to continue..." </dev/tty
git clone "git@$repo_name.github.com:$repo.git"
@ricardo
Copy link

ricardo commented Jan 24, 2021

Thank you.

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