Github Multiple Repositories Deploy Keys Dalam Satu Mesin

17 Januari 2020 • 2 menit untuk membaca artikel ini

Github mempunyai fitur Deploy Keys per repository, tempat untuk menaruh public key mesin supaya bisa pull/push tanpa password. Berbeda dengan fitur SSH and GPG Keys yang ada di Personal Setting, Deploy keys bisa spesifik per repository dan bisa diatur ijinnya apakah allow pull only atau allow pull+push. Deploy Keys dibuat untuk memudahkan proses CI/CD atau otomasi ketika deploy project.

Deploy Keys dapat diakses melalui Repo > Settings > Deploy Keys, cek gambar berikut: Github Deploy Keys

Permasalahannya adalah ketika kita hanya punya satu mesin, dan punya banyak repository, ketika kita memasukan public key yang sudah digunakan dalam repo lain, maka github akan komplain kalau key sudah digunakan. Untuk mengatasi hal ini, berikut ini caranya:

Sebagai contoh kasus, aku akan menambahkan Deploy Key untuk dua repo:

  • git@github.com:nalakawula/lumens.git
  • git@github.com:nalakawula/fast-api.git Pertama, Bikin ssh key pakai ssh-keygen sebanyak jumlah repo, masing-masing keypair disimpan dengan nama yang berbeda
ssh-keygen -t ed25519 -f ~/.ssh/repo1 -C "mesin1"
ssh-keygen -t ed25519 -f ~/.ssh/repo2 -C "mesin1"

Selanjutnya, tambahkan public key ke masing-masing repo

cat ~/.ssh/repo1.pub
cat ~/.ssh/repo2.pub

Outputnya copas ke masing-masing deploy keys repo

Bikin ssh config ssh yang isinya

Host lumens github.com
        Hostname github.com
        IdentityFile /home/blackops/.ssh/repo1
Host fast-api github.com
        Hostname github.com
        IdentityFile /home/blackops/.ssh/repo2

Terakhir tinggal pull reponya, tapi harus disesaikan

git pull git@github.com:nalakawula/lumens.git

Harus diubah menjadi

git pull git@lumens:nalakawula/lumens.git

Begitu juga untuk repo satunya lagi. Yes betul, yang diubah adalah hostnya.

Sekian dan terima gaji

Techlinuxgithubgitssh

Sumarsono

System Administrator
Kembali ke atas

Debian 10 Bikin Email Alias Untuk Root>>

<<Cara Mudah Upgrade Ingress Controller Traefik V1 Ke V2 Tanpa Downtime