Skip to content

Instantly share code, notes, and snippets.

@herpiko
Last active June 13, 2017 02:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save herpiko/def502dec77882a0f25859af4e6d59da to your computer and use it in GitHub Desktop.
Save herpiko/def502dec77882a0f25859af4e6d59da to your computer and use it in GitHub Desktop.

Membangun irgsh-node (Builder)

Mempersiapkan sertifikat

Sertifikat-sertifikat ini nantinya akan digunakan sebagai otentikasi antara taskinit dan pekerjanya.

Inisialisasi CA

Jika sudah ada CA (Certificate Authority), buat sertifikat baru untuk komponen irgsh-web. Jika belum ada, berikut cara menginisalisasi CA baru dan membuat sertifikat turunan.

  1. Kloning repo irgsh-web
  2. Masuk ke irgsh-web/certs/
  3. Inisialisasi CA, ./scripts/ca.pl -newcert. Anda akan diminta passphrase dan beberapa informasi sertifikat.
  4. Siapkan direktori untuk manajemen sertifikat, ./scripts/prepare.sh

Membuat sertifikat turunan untuk irgsh-web

  1. ./scripts/new-cert.sh irgsh-web, Anda akan dimintai passphrase CA untuk menandatangani sertifikat baru tersebut
  2. Sertifikat keluaran untuk irgsh-web terletak di /home/irgsh-web/irgsh-web/certs/irgsh-web/.

Python 2.6.6

  1. Pasang paket-paket yang diperlukan
  • sudo apt-get update
  • sudo apt-get install -y -qqq make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils sudo python python-pip python-lzma python-dev python-debian dpkg-dev rabbitmq-server git-core nginx libpq-dev git vim net-tools postgresql
  1. Buat pengguna baru dengan nama pengguna irgsh-node-namabuilder kemudian masuk sebagai pengguna tersebut.
  2. Siapkan Python 2.6.x dengan menggunakan pyenv
  • curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
  • Tambahkan potongan kode ini di ~/.bashrc :
export PATH="/home/irgsh-node-namabuilder/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
  • source ~/.bashrc
  • pyenv install 2.6.6
  • Jika belum memiliki virtualenv, pasang terlebih dahulu, sudo pip install virtualenv
  • pyenv shell 2.6.6
  • pyenv virtualenv irgsh-node-namabuilder
  • echo "export PYENV_VIRTUALENV_DISABLE_PROMPT=1" >> ~/.bashrc
  • echo "pyenv activate irgsh-node-namabuilder" >> ~/.bashrc
  • pyenv activate irgsh-node-namabuilder

Build

  1. cd ~/

  2. Kloning repo irgsh-node dan python-irgsh

  • git clone git://github.com/BlankOn/python-irgsh.git
  • git clone git://github.com/BlankOn/irgsh-node.git
  1. Buat symlink untuk python-irgsh :
  • cd irgsh-node
  • ln -s ../python-irgsh/irgsh
  1. Bangun, chmod a+x build.sh && ./build.sh.
  2. Pasang modul tambahan, pip install -r requirements.txt
  3. Coba jalankan untuk pertama kali, ./bin/irgsh-node -l DEBUG, akan terjadi galat karena pustaka lzma tidak cocok. Salin /usr/lib/pymodules/python2.7/lzma.so ke lokasi yang disebutkan di galat tersebut. Contoh, cp /usr/lib/pymodules/python2.7/lzma.so /home/builder-piko/.pyenv/versions/2.6.6/envs/builder-piko/lib/python2.6/site-packages/lzma.so
  4. Jalankan lagi ./bin/irgsh-node -l DEBUG

PBuilder

Konfigurasi /etc/pbuilderrc :

# this is your configuration file for pbuilder.
# the file in /usr/share/pbuilder/pbuilderrc is the default template.
# /etc/pbuilderrc is the one meant for overwriting defaults in
# the default template
#
# read pbuilderrc.5 document for notes on specific options.
MIRRORSITE=http://mirrors.digitalocean.com/debian
#DEBOOTSTRAPOPTS="--keyring=/root/blankon-archive-keyring.gpg"
  1. sudo pbuilder create --distribution jessie
  2. Hasilnya ada di /var/cache/pbuilder/base.tgz
  3. cd /home/irgsh-node-namabuilder/irgsh-node
  4. mkdir -p build/pbuilder/uluwatu/
  5. cd build/pbuilder/uluwatu/
  6. cp /var/cache/pbuilder/base.tgz .
  7. touch pbuilder.conf

Isi dari pbuilder.conf

BASETGZ=/home/irgsh-node-namabuilder/irgsh-node/build/pbuilder/uluwatu/base.tgz
MIRRORSITE=http://arsip.blankonlinux.or.id/blankon/
COMPONENTS="main restricted extras extras-restricted"
APTCACHE=/home/irgsh-node-namabuilder/irgsh-node/build/pbuilder/uluwatu/aptcache
BUILDRESULT=/home/irgsh-node-namabuilder/irgsh-node/build/pbuilder/uluwatu/result
DISTRIBUTION=uluwatu
BUILDPLACE=/home/irgsh-node-namabuilder/irgsh-node/build/pbuilder/uluwatu/build
OTHERMIRROR=
HOOKDIR=/home/irgsh-node-namabuilder/irgsh-node/build/pbuilder/uluwatu/hook

Konfigurasi

String sertifikat delimiternya pakai / dan diawal string dikasih delimiter juga. Contoh string subjek sertifikat yang bener : /C=ID/ST=DKI Jakarta/L=Jakarta/O=BlankOn Linux/OU=Infrastruktur/CN=builder-anto

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