Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Integrasi Berkesinambungan untuk React Native

Integrasi Berkesinambungan untuk React Native

https://www.meetup.com/JakartaJS/events/259667773/

Lancar jaya di lokal tapi kok gagal deploy ya? Kemarin jalan tapi hari ini malah berantakan? Pengen ngecek aplikasi di iPhone tapi kok provisioningnya ribet abis? Laptop ngadat gimana mau rilis nih? Gila aja, pull request-nya banyak tapi nggak pakai unit test?

Pernah mengalami mimpi buruk seperti di atas? Nah, ini karena dari awal nggak mau sih disuruh pakai CI/CD. Akhirnya developer pun hidupnya sengsara. Dalam proses rekayasa perangkat lunak yang benar, begitu pengerjaan melibatkan lebih dari hanya satu kelompok kecil, maka akan sangat masuk akal untuk langsung menerapkan praktek CI/CD, atau Integrasi/Deploy Berkesinambungan.

Dalam acara JakartaJS kali ini, kita akan mengupas secara tuntas faedah mengikut aliran CI/CD ini untuk memelihara sekaligus juga senantiasa meningkatkan kualitas kode yang kita hasilkan. Dijamin, lusinan sumber kepeningan bisa lenyak seketika.

Sebagai ilustrasi, akan ditunjukkan pula secara praktis bagaimana menerapkan CI/CD untuk aplikasi Android atau iOS yang ditulis dengan JavaScript/TypeScript dan menggunakan pustaka React Native.

Ariya Hidayat

March 25, 2019
Tweet

More Decks by Ariya Hidayat

Other Decks in Programming

Transcript

  1. Integrasi Berkesinambungan

    View Slide

  2. Di laptop saya
    jalan kok!
    Bungkus laptop kamu.
    Kita kirim ke server!

    View Slide

  3. Developer
    *.apk
    Tester

    View Slide

  4. https://martinfowler.com/articles/continuousIntegration.html
    Martin Fowler
    Continuous Integration is a software
    development practice where members of a
    team integrate their work frequently,
    usually each person integrates at least daily -
    leading to multiple integrations per day.

    View Slide

  5. https://martinfowler.com/articles/continuousIntegration.html
    Martin Fowler
    Each integration is verified by an
    automated build (including test) to detect
    integration errors as quickly as possible.

    View Slide

  6. View Slide

  7. Cabang Utama

    View Slide

  8. Cabang Utama
    Cabang Fitur

    View Slide

  9. Cabang Utama
    Cabang Fitur

    View Slide

  10. Azure Pipelines
    github.com/ariya/hello-react-native

    View Slide

  11. View Slide

  12. View Slide

  13. - job: Android
    pool:
    vmImage: 'macOS 10.13’
    steps:
    - task: [email protected]
    inputs:
    versionSpec: '8.x’
    - script: yarn install
    - task: [email protected]
    inputs:
    workingDirectory: 'android/’
    gradleWrapperFile: 'android/gradlew’
    tasks: 'assembleDebug'
    azure-pipelines.yml

    View Slide

  14. View Slide

  15. View Slide

  16. View Slide

  17. View Slide

  18. Developer juga
    MANUSIA

    View Slide

  19. Di laptop saya
    jalan kok!
    Kalau gitu, production
    server kita ganti sama
    laptop kamu aja.

    View Slide

  20. View Slide

  21. View Slide

  22. App Center
    github.com/ariya/hello-react-native

    View Slide

  23. View Slide

  24. View Slide

  25. View Slide

  26. View Slide

  27. Tester

    View Slide

  28. View Slide

  29. View Slide

  30. Akhir Kata

    View Slide

  31. App Center
    Azure Pipelines

    View Slide

  32. Anti Khilaf
    1

    View Slide

  33. Jaminan Konsistensi
    2

    View Slide

  34. Rujukan Resmi
    3

    View Slide

  35. Otomasi Intensif
    4

    View Slide

  36. Arsip & Riwayat
    5

    View Slide

  37. View Slide

  38. CI/CD itu asik lho!

    View Slide

  39. Terima Kasih
    Some artworks are from unsplash.com/ and openclipart.org.
    @ariya114

    View Slide