Gunakan tanda [] untuk mencari tag gan! contoh [flutter, javascript]

Deploy CI CD Menggunakan SSH Action

Deploy CI CD Menggunakan SSH Action

access_time 25 Jun 2022 remove_red_eye 1160 Kali spellcheck 551 Kata, 3668 Karakter
#ssh #deployment #github

Dalam proses development, terkadang sesuatu yang mempercepat kinerja tim sangat dibutuhkan oleh sebagian besar orang.

Salah satu cara meningkatkan kinerja tim adalah dengan membuat CI/CD deployment. CI/CD deployment adalah cara kita untuk mengunggah hasil kerja kita dalam sebuah branch tertentu pada git ke server secara otomatis. Sebelum masuk ke materi ini alangkah baik kita mengerti istilah-istilah berikut:


CI/CD


CI/CD adalah metode untuk sering mengirimkan aplikasi ke pelanggan dengan memperkenalkan otomatisasi ke dalam tahapan pengembangan aplikasi.Konsep utama yang dikaitkan dengan CI/CD adalah continuous integration, continuous delivery, dan continuous deployment. CI/CD adalah solusi untuk masalah mengintegrasikan kode baru yang dapat menyebabkan tim pengembangan dan operasi menjadi sangat dipermudah.

Secara khusus, CI/CD memperkenalkan otomatisasi berkelanjutan dan pemantauan berkelanjutan sepanjang siklus hidup aplikasi, mulai dari fase integrasi dan pengujian hingga pengiriman dan penerapan. Secara keseluruhan, praktik terhubung ini sering disebut sebagai "pipeline CI/CD" dan didukung oleh tim pengembangan dan operasi yang bekerja bersama secara gesit dengan pendekatan DevOps atau rekayasa keandalan situs (SRE).


SSH

Secure Shell Protocol (SSH) merupakan protokol jaringan kriptografi untuk mengoperasikan layanan jaringan secara aman melalui jaringan yang tidak aman.[1] Aplikasinya yang paling menonjol adalah login jarak jauh dengan menggunakan command line. SSH biasa digunakan oleh para devOps atau server administrator untuk mengolah server, contohnya untuk melakukan installasi aplikasi, menjalankan aplikasi, dan lain sebagainya.

Seiring pengembangan zaman, SSH juga digunakan untuk deployment aplikasi web (backend/front end) melalui CI/CD.


Penerapan SSH-Action CI/CD

Karena gambar sampul artikel ini saya buat dengan logo github, saya buat contoh bagaimana cara penerapan deployment aplikasi node.js menggunakan github workflow.

Buat file .github/workflow/namafile.yml pada repository anda. lalu tuliskan kode berikut:

#nama ci/cd
name: publish ke server

#menjelaskan bahwa hanya berjalan ketika ada push di branch master
on: 
  push:
    branches:
      - master

jobs:
  deploy-intima:
    runs-on: ubuntu-latest #Sistem operasi yang digunakan
    steps:
      - name: Mengunggah ke server
        uses: appleboy/ssh-action@master # package yang bisa kita gunakan untuk menjalankan ssh
        with: # We set all our secrets here for the action, these won't be shown in the action logs
          host: ${{secrets.HOST}} #variable host / ip vps anda
          username: ${{secrets.USER}} #user ssh anda
          password: ${{secrets.PASSWORD}} #password ssh anda
          port: ${{secrets.PORT}} #port ssh anda
          script: |
            cd /ke/path/aplikasi
            git pull
            PATH=${{secrets.NPM_BIN}}
            npm install
            pm2 restart aplikasi

beberapa penjelasan sudah saya tuliskan pada comment code diatas. Selanjutnya, untuk script akan saya jelaskan di bawah:

1.  cd /ke/path/aplikasi  adalah cara kita menuju ke directory aplikasi kita

2.  git pull  adalah cara untuk mengambil perubahan dari repository anda

3.  PATH=${{secrets.NPM_BIN}}  adalah opsi bagi pengguna nvm agar bisa menjalankan npm. Sedangkan secrets diambil dari menu setting->secrets->actions pada repository github anda

4.  npm install  adalah untuk menginstall package

5.  pm2 restart aplikasi  adalah untuk merestart aplikasi yang telah kita deploy pada saat awal clone repository di server

Navigasi Konten