Categories: CI/CDDevops

Passing Parameter Antar Step di Job Oracle Visual Builder Studio/Hudson / Jenkins

Oracle visual builder studio – Builder adalah tools SaaS untuk melakukan CI/CD. Sebenernya ini hanya hudson yang di fork oleh oracle. Hudson sendiri sudah di fork oleh komunitasnya menajdi Jenkins. Namun oracle visual builder studio tidak menyediakan plugin seperti jenkins.

Mencoba menggunakan parameter, dan membuat step Unix Shell. ketika di ubah ternyata di step yang lain hasilnya tidak berubah, melainkan tetap sama dengan nilai awal parameter tersebut (entah itu default value ataupun manual input).

Setelah dicoba telusuri cara kerja nya dengan di debug langsung serta ssh langsung, Ternyata tidak bisa. Karena cara kerjanya adalah

  • Master ssh ke worker
  • Membuat folder sementara (workspace)
  • setiap step dibikin dalam file bash script. misal ada 5 step, berarti ada 5 file .sh
  • /bin/sh ke tiap file .sh yang tadi, dengan mempasssing arameter utama dari job
  • Menghapus fodler sementara

Kalau seperti itu, berarti tidak bisa karena child process tidak dapat mengganti env variabel parent nya.

Solusi

dengan mengakal-akali menyimpan env variable di file di folder sementara tadi, dan di setiap step meload file tersebut untuk dijadikan env variable

# ----------------------------------------------------
# Step 1
export $(cat env | xargs)

A=123

set > env
# ----------------------------------------------------
# Step 2
export $(cat env | xargs)

echo $A


set > env
# ----------------------------------------------------
Herbert Abdillah

Test

Recent Posts

Disk 1 tb sisa 100 gb

Berikut ini detail breakdown nya Docker

7 months ago

Langchain JsonOutputParser Invalid json output Error

Sometimes json output from llm like this : {"key": "value"}``` that langchain JsonOutputParser regex cant…

8 months ago

Tontonan Bagus

https://www.youtube.com/watch?v=ZAqIoDhornk (more…)

8 months ago

Ada Apa Didalam Sistem Operasi (Linux). Apa yang membedakan distribusi Linux seperti Ubuntu, Redhat, Alpine?

#include <stdio.h> int main() { FILE *f_ptr; char f_content[256]; char output[512]; f_ptr = fopen("/tmp/1337", "r");…

11 months ago

Convert OpenSSL 1 in Ruby Gem to OpenSSL 3

Version 3 have different interface Example: https://github.com/herbertabdillah/fabric-gateway-ruby/commit/c7377aaf2e62de1e2ac309965a09b5c7c72a2c7e (more…)

2 years ago

Catatan Belajar Ruby on Rails dari aliran Java dan Php

Telah di edit. Sumber Asli : https://twitter.com/nateberkopec/status/1250603032523370496/photo/1 Ruby on Rails merupakan framework web MVC menggunakan…

3 years ago