Pada era teknologi modern ini, banyak alat yang memudahkan proses pengembangan perangkat lunak, salah satunya adalah GitHub. GitHub adalah platform berbasis web yang memungkinkan pengguna untuk berkolaborasi dalam pengembangan perangkat lunak. Di antara berbagai fitur yang ditawarkan oleh GitHub, salah satu yang sangat berharga adalah GitHub Actions. Dalam artikel ini, kita akan membahas apa itu GitHub Actions, apa itu GitHub Actions Workflow, dan bagaimana cara menggunakannya.
Apa Itu GitHub Actions
GitHub Actions adalah sebuah fitur pada GitHub yang memungkinkan pengguna untuk mengotomatisasi, menyesuaikan, dan mengeksekusi rangkaian tugas pengembangan perangkat lunak langsung di dalam repositori GitHub. GitHub Actions memungkinkan Anda membuat skenario tertentu dan meresponsnya dengan serangkaian perintah yang telah ditentukan. Dengan kata lain, GitHub Actions memungkinkan Anda untuk mengotomatisasi proses pengujian dan penyebaran perangkat lunak.
Fitur ini memberikan fleksibilitas yang lebih besar dalam proses CI/CD (Continuous Integration/Continuous Deployment) dan memungkinkan Anda untuk mengintegrasikan pekerjaan Anda langsung ke dalam alur kerja GitHub Anda. Misalnya, Anda dapat mengonfigurasi GitHub Actions untuk menjalankan pengujian setiap kali ada perubahan yang didorong ke repositori Anda, atau Anda dapat mengotomatisasi proses penyebaran setiap kali ada rilis baru.
Apa Itu GitHub Actions Workflow
GitHub Actions Workflow adalah alur kerja otomatis yang dapat Anda konfigurasi langsung dalam repositori GitHub Anda. Alur kerja ini dibuat menggunakan sintaks YAML, dan setiap alur kerja terdiri dari satu atau lebih ‘tindakan’ atau ‘jobs’. Sebuah alur kerja dapat dipicu oleh berbagai acara GitHub, seperti dorongan ke repositori, permintaan tarik, atau bahkan acara berjadwal.
Workflow dapat terdiri dari satu atau lebih ‘jobs’, yang merupakan serangkaian langkah-langkah yang dieksekusi pada mesin virtual yang sama, atau pada mesin virtual yang berbeda. Setiap ‘job’ terdiri dari beberapa ‘langkah’ atau ‘steps’, yang merupakan perintah individu yang dieksekusi. Langkah-langkah ini bisa berupa perintah shell, atau bisa juga merupakan Actions yang sudah ada di GitHub.
Cara Menggunakan GitHub Actions
Menggunakan GitHub Actions membutuhkan beberapa langkah dasar. Pertama-tama, Anda harus memiliki repositori di GitHub. Kemudian, Anda perlu menambahkan file konfigurasi alur kerja ke repositori Anda. Ini biasanya dilakukan dengan membuat file .yml atau .yaml di direktori .github/workflows dalam repositori Anda. Berikut adalah contoh sederhana dari file alur kerja:
name: My first workflow on: [push, pull_request] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Run a one-line script run: echo Hello, world!
Di sini, name adalah nama dari alur kerja Anda.
Dalam kode di atas, name adalah nama dari alur kerja Anda. on menentukan kapan alur kerja tersebut harus dijalankan, dalam kasus ini, setiap kali ada dorongan (‘push’) atau permintaan tarik (‘pull_request’) ke repositori.
jobs mendefinisikan pekerjaan yang harus dijalankan. Setiap pekerjaan memiliki nama unik, dalam hal ini build. runs-on menentukan jenis runner yang digunakan untuk pekerjaan tersebut, yaitu mesin tempat pekerjaan itu berjalan. Dalam contoh ini, pekerjaan akan berjalan pada runner terbaru dari Ubuntu.
steps adalah serangkaian tugas yang akan dijalankan. Setiap langkah dapat berupa perintah shell atau action. Dalam contoh di atas, ada dua langkah. Langkah pertama menggunakan action actions/checkout@v2 yang mengunduh konten repositori ke runner. Langkah kedua adalah perintah shell sederhana yang mencetak “Hello, world!”.
Setelah file alur kerja ditambahkan dan dikirim ke repositori Anda, GitHub Actions akan secara otomatis menjalankan alur kerja tersebut setiap kali acara yang ditentukan terjadi. Anda dapat melihat hasil dari setiap alur kerja di tab ‘Actions’ repositori Anda.
Kesimpulan
GitHub Actions adalah fitur penting yang memungkinkan pengembang untuk mengotomatisasi dan menyesuaikan proses pengembangan perangkat lunak mereka. Dengan menggabungkan berbagai tugas menjadi alur kerja otomatis, pengembang dapat menghemat waktu dan sumber daya, serta memastikan bahwa proses seperti pengujian dan penyebaran selalu dijalankan dengan cara yang sama. Meskipun mungkin memerlukan waktu untuk membiasakan diri dengan sintaks dan konsepnya, belajar bagaimana menggunakan GitHub Actions dapat memberikan manfaat besar bagi proyek dan tim Anda.
Bagaimana cara menghubungkan github action ke jenkins?
Menghubungkan GitHub Actions ke Jenkins memungkinkan Anda untuk memanfaatkan kelebihan dari kedua alat ini. GitHub Actions bisa digunakan untuk melakukan aksi-aksi awal seperti build atau test, kemudian Jenkins bisa digunakan untuk tindakan lanjutan seperti deployment.
Berikut adalah cara menghubungkan GitHub Actions dengan Jenkins:
-
Siapkan Jenkins Anda
Pertama-tama, Anda harus memiliki instance Jenkins yang sudah berjalan dan dapat diakses melalui internet. Anda juga harus memiliki job yang siap untuk dijalankan. Misalkan Anda sudah memiliki job dengan nama “test-job”.
-
Buat Personal Access Token Jenkins
Dalam Jenkins, Anda harus membuat Personal Access Token. Ini diperlukan untuk otentikasi saat GitHub Actions memanggil Jenkins. Anda bisa membuat token ini melalui pengaturan profil Jenkins Anda. Simpan token ini untuk digunakan nanti.
-
Buat Secret di GitHub
GitHub Secrets adalah cara aman untuk menyimpan data sensitif seperti token akses. Di repositori GitHub Anda, buat Secret baru dengan token akses Jenkins yang telah Anda buat sebelumnya. Misalkan Anda membuat Secret dengan nama “JENKINS_TOKEN”.
-
Buat GitHub Actions Workflow
Dalam repositori Anda, buat file baru dalam direktori .github/workflows/ dengan ekstensi .yml atau .yaml. Misalkan kita buat file jenkins-integration.yml.
Dalam file tersebut, Anda bisa membuat workflow seperti berikut:
name: Trigger Jenkins Job on: [push] jobs: build: runs-on: ubuntu-latest steps: - name: Trigger Jenkins Job uses: appleboy/jenkins-action@v0.1.1 with: jenkins_url: ${{ secrets.JENKINS_URL }} job: test-job username: ${{ secrets.JENKINS_USERNAME }} token: ${{ secrets.JENKINS_TOKEN }}
Ganti secrets.JENKINS_URL dengan URL Jenkins Anda dan secrets.JENKINS_USERNAME dengan nama pengguna Jenkins Anda. secrets.JENKINS_TOKEN adalah Secret yang Anda buat sebelumnya dengan token akses Jenkins.
-
Dorong Perubahan ke GitHub
Setelah file workflow Anda selesai, dorong perubahan tersebut ke repositori GitHub Anda. GitHub Actions sekarang akan memicu job Jenkins setiap kali ada push ke repositori Anda.
Perhatikan bahwa ini adalah contoh sederhana. Anda mungkin perlu menyesuaikan workflow dan pengaturan Jenkins Anda sesuai dengan kebutuhan Anda. Selalu pastikan untuk mengamankan informasi sensitif dengan benar dan hanya memberikan akses yang diperlukan untuk sistem dan alat Anda.
-
Pemantauan dan Log
Setelah alur kerja Anda telah diatur dan dijalankan, Anda dapat memantau dan melihat log dari GitHub Actions dan Jenkins. Di GitHub, Anda dapat pergi ke tab ‘Actions’ repositori Anda untuk melihat status dan log dari setiap alur kerja yang telah dijalankan. Di Jenkins, Anda dapat melihat hasil dari setiap pekerjaan yang dijalankan melalui antarmuka Jenkins.
-
Debugging
Jika ada masalah atau kesalahan, pesan kesalahan akan ditampilkan dalam log yang dapat membantu Anda memahami apa yang salah. Misalnya, jika GitHub Actions tidak dapat memicu pekerjaan Jenkins, periksa apakah URL, nama pengguna, dan token yang digunakan benar dan apakah Jenkins dikonfigurasi dengan benar untuk menerima pemanggilan dari GitHub Actions.
-
Menerapkan Praktik Terbaik
Jika Anda menggunakan GitHub Actions dan Jenkins secara bersamaan, ada beberapa praktik terbaik yang harus Anda pertimbangkan. Pertama, jangan duplikat tugas di antara kedua alat tersebut. Sebaliknya, cobalah untuk memanfaatkan kekuatan dari masing-masing. Misalnya, GitHub Actions mungkin lebih baik untuk tugas pengujian dan integrasi awal, sementara Jenkins mungkin lebih baik untuk penyebaran dan alur kerja yang lebih kompleks.
Kedua, pastikan Anda mengamankan informasi sensitif. Selalu gunakan secrets untuk menyimpan data sensitif seperti token akses dan jangan pernah memasukkannya langsung ke dalam kode Anda.
Ketiga, monitor dan perbarui alat Anda secara teratur. GitHub dan Jenkins sama-sama memperbarui dan menambahkan fitur baru secara teratur, jadi pastikan Anda memanfaatkan fitur-fitur ini untuk memaksimalkan produktivitas dan keamanan Anda.
Penutup
Penggabungan GitHub Actions dan Jenkins dalam alur kerja pengembangan perangkat lunak Anda dapat memberikan kontrol, fleksibilitas, dan otomatisasi yang signifikan. Meski awalnya mungkin tampak kompleks, dengan pemahaman yang baik tentang bagaimana masing-masing alat berfungsi dan bagaimana mereka dapat bekerja sama, Anda dapat mengotomatisasi proses pengembangan Anda dan lebih fokus pada penulisan kode berkualitas tinggi. Ingatlah bahwa tujuan akhirnya adalah untuk mempermudah dan mempercepat proses pengembangan, jadi pilihlah alat dan pendekatan yang paling sesuai dengan kebutuhan dan kemampuan tim Anda.