Just My Life & My Work

Posts tagged ‘jenkins’

[Flutter] iOS CICD 流程

原本 App Team 包含我僅有兩位開發者,我負責領導開發忙得不可開交。去年 Q4,親自招募兩位新人進駐,我終於可以有空閒時間做 Flutter App 的 CICD。🙂

2019 年在港商工作時,已有建置 iOS CICD 流程經驗,所以首選 Jenkins 來作為持續整合工具,節省研究時間,稍微比較其他工具後,認為 Jenkins 相關套件外掛多,未來有需有可以擴充。另因 Jenkins 有直覺的操作介面,使得無論是工程人員或是團隊其他成員,都能迅速上手。

註:

  • CI(Continuous Integration,持續整合)
  • CD(Continuous Delivery / Continuous Deployment,持續交付 / 持續部署)

簡單比喻

  • CI:像是每次寫完一小段文章就馬上拼到全文裡,再跑拼字檢查。
  • CD:檢查通過後,自動把這篇文章印刷出版(交付)或直接送到讀者家(部署)。

我將 Shell Scrip 流程圖解如下:

.

(繼續閱讀…)

[iOS] Jenkins 建置 CI/CD 流程

夥伴們正如火如荼趕上線,我也趕緊利用開發閒置的時間,進行 Jenkins 建置 CI/CD 流程

此流程對於大型團隊相當有助益,不過就算是一人團隊,若產品專案需要每隔一段時間釋出給他人測試,有持續部署機制就會節省許多時間!

早在 2018 年,我香港團隊就實施 Jenkins CI/CD 流程,我們 iOS 和 Android 團隊各有四個工程師,有此持續整合迭代流程,就可以很順暢地進行開發~😀

(繼續閱讀…)

Jenkins 與 Gitlab

記得在偉大的港商上班時,我們有三個iOS開發者,共同開發維護一個產品。此產品歷經1.5年開發,最後沒有上線,產品還直接被停掉。

當時我們每隔一週就要發布一個測試版本,後來主管指示此過程要全面自動化,於是我們帶頭的同事捲起袖子,把Jenkins 與 Gitlab串接起來,成為幾乎自動化的發佈過程!🤠

此圖是我統整所有過程,寫出來的四大部分和五大行為。未來可給大家參考用囉!

香港的同事負責送審,他會指定發佈到「獅子山」這個國家,我還以為他在開玩笑,查詢之後真有這個國家呢!😛

為什麼還沒開發完就要送審?因為我們要確保臨時要上架是沒有問題的!所以送審的頻率一個禮拜一次,而且都只上架到獅子山。

結論

在港商上班最大的收穫之一,是跟香港同事合作,並見識到同年紀的香港CEO和CTO如何處理部屬~😏

技術上的精進比較沒太多可以著墨,因為是產品開發元老的架構為基礎往上開發,離開公司後那些複雜的流程不怎麼好用啦⋯⋯

總之,我還是認為,一個人就能開發App,是最過癮且最有成就感的事啦!💪

現學現賣 Shell Script

由於Jenkins中需要寫Shell Script來陸續執行某些動作,簡單的都已經打好收工,不過就在要Git Pull下來Release Branch時發生問題,其實就只是想要獲取特定的Branch,只是需要寫點邏輯流程。若是使用最熟悉的Objective C語言肯定沒問題,現在得以Shell Script來實現,不太曉得語法規則的我,只好現學現賣 Shell Script:P~

想要嘗試寫Shell Script?好在現今網路發達,Bash Shell Script Online信手粘來就能邊寫邊執行。

網址:https://www.jdoodle.com/test-bash-shell-script-online

Shell Script主要用途就是用來協助使用者在UNIX or Linux環境上,以更方便、更自動化的方式來執行想要執行的指令,它也可以很快速的協助使用者 or 管理者大量地執行重複性的動作與指令。做為一個系統管理者,學會Shell Script絕對可以事半功倍。

想起研究所時代,為了實驗影像處理演算法,在Windows上寫簡單的指令。

(繼續閱讀…)

標籤雲