SSH and GPG with gitpod
- Your Git Config is located at
~/.gitconfig
- Encode the File with base64:
cat .gitconfig | base64 -w 0
-
Create a variable on gitpod.
- Enter Name
GITCONFIG
. - Enter output of previous command as Value.
- Enter Name
-
Add following task to your
.gitpod.yml
:
tasks:
- before: >
[[ ! -z $GITCONFIG ]] &&
echo $GITCONFIG | base64 -d > ~/.gitconfig &&
chmod 644 ~/.gitconfig
-
To sign commit using GPG you must first add GPG keys to Github and/or Gitlab.
-
Your GPG Keys are stored in
~/.gnupg
folder. Encode this folder with base64.
tar -czf - ~/.gnupg | base64 -w 0
- Create a variable on gitpod.
- Enter Name
GNUPG
. - Enter output of previous command in Value.
- Enter Name
- Add following task to your
.gitpod.yml
:
tasks:
- before: >
[[ ! -z $GNUPG ]] &&
cd ~ &&
rm -rf .gnupg &&
echo $GNUPG | base64 -d | tar --no-same-owner -xzf -
-
Add SSH Keys to Github and/or Gitlab
-
Get your SSH Public Key from
id_rsa.pub
- Create a variable on gitpod.
- Enter Name
SSH_PUBLIC_KEY
. - Paste the contents of file in Value.
-
Get your SSH Public Key from
id_rsa
- Create a variable on gitpod.
- Enter Name
SSH_PRIVATE_KEY
. - Encode the File
id_rsa
with base64.
cat id_rsa | base64 -w 0
- Paste the output of previous command in Value.
-
Add Following tasks to your
.gitpod.yml
:
tasks:
- before: >
mkdir -p ~/.ssh &&
[[ ! -z $SSH_PUBLIC_KEY ]] &&
echo $SSH_PUBLIC_KEY > ~/.ssh/id_rsa.pub &&
chmod 644 ~/.ssh/id_rsa.pub &&
[[ ! -z $SSH_PRIVATE_KEY ]] &&
echo $SSH_PRIVATE_KEY | base64 -d > ~/.ssh/id_rsa &&
chmod 600 ~/.ssh/id_rsa