Jenkins 初用心得

這本來算是我在前公司要弄的項目,種種原因下搞到最近我才敢講我有玩過一輪。實務部分,大概從 jenkins 建立到整合 git / svn ,成功 build 完一個 jar / android apk。理論的部分則是翻完了下面這本名字落落長的書(有機會在寫心得)。

本文記錄一下,我在 jenkins 建構完這兩個專案的想法。


Continuous Delivery中文版:利用自動化的建置、測試與部署完美創造出可信賴的軟體發佈

如果你是主管,我建議要強迫導入。

原因很簡單,下面人放假了或是人跑了,只要其他人有能力拉 code 下來修改重新 commit 回 Version Control Server,jenkins 就能直接從 Version Control Server 拉下來建立要部署的檔案。

寫的很夢幻,前面該做的苦工還是要做,比如怎麼在 linux 上包出 apk(所有 IDE 幫你做的事情你都要自己搞一次)...

如果你已經懂 ant / maven / gradle,可以看情況。

會這樣說是因為,如果專案只有你在寫,也沒 Q 要測你的東西,那我覺得只要 unit test / 整合測試在開發環境做好一套即可,多在 jenkins 搞一套,除非你時間多想多學習,要不之後對專案幫助不大。

如果別人有要測你的東西,導入 jenkins 讓大家都是在同一個地方抓檔案,不會有搞不清楚再測哪一版的狀況(我是測你昨天下午五點半給我的那一版 --> 有沒有很熟悉的感覺)。
如果有人跟你一起開發,加上單元測試,每次整合完就能知道初步結果,你的主管也能在 jenkins 上看到專案最近幾次的整合結果,大家對於整合完的結果也會有更多信心,而不是憑感覺發佈。

接下來的工作

目前已經是來當作發佈檔案(war / jar / apk)的網站使用,接下來會加入單元測試來加強整合後的驗證工作,後續會試看看整合 asp.net 和自動發佈的功能,有機會的話會寫第二篇。

[讀書心得] 少,但是更好



人生定期總是要買些洗腦書來看才有動力,這本書濃縮一句話當作心得就是,一次把一件事好好做好。

p.36~39
又是從清除衣櫥開始,找出自己真正喜歡的衣服,不要捨不得丟已經花很多錢買卻穿不到的衣服,決定好要哪些要丟就去丟了,不要在想著下一次。上面衣服換成其他事物都適用。

東西少,留下的東西都是自己最重要最好用的,把心力放在真正好的事物,而不用花時間去處理那些普通好的事物。

p.68~69
學會分辨那些才是真正投資報酬率高的事物,都想做好但都做不好,不如好好做好最重要得事情。承認自己必不完美,沒辦法做好所有事情。

P.78~80
引述本書"一個爐口代表你的家庭,一個代表你的朋友,第三個是你的健康,第四個是你的工作。為了事業有成,你必須關掉其中一個爐口。而為了真正的功成名就,你必須關掉其中兩個。"

每個人追求的目標不同,但要了解取捨,有得必有失,才不會永遠羨慕別人。你現在得到的你失去的,都是你過去的選擇。不要負面思考為何失去,這本來就是當初的取捨。

p.129~133
面對選擇,列出權值,只要你對他評價低於90%,那就是不夠好,那就要拒絕。

p.151
要清楚自己的人生目標,當我們走到人生盡頭,是否一路走來沒有遺憾,多想想就會知道哪些是自己真正該做的事情。

p.159~163
要有說不的勇氣,當別人與你價值觀不同時,要能堅定自己的信念。

p.223~230
解決問題的根本原因,而非想出一堆應急的解決方案。

p.255~259
活在當下,不去想過去的錯誤,不去擔心還沒發生的事情,活在當下。

引述本書"輸球和被痛宰是兩回事。被痛宰表示他們比你們好。他們更快、更強、更有天賦。...輸球則是另一回事。它代表你失去焦點。它代表你沒有專注在必要的事情上。"

p.262~p265
"當下,何者為重"。弄清楚最重要的項目,按優先順序排列,寫下來,劃掉現在不重要的事情,開始做。

寫在紙上,減少了必須記在腦中的壓力。

三分鐘用 Vagrant 裝好一個 Jenkins

標題殺人法,前提要先把下載過 Box 下載。在上一篇 用 Vagrant 建立 CentOS 6.4,我上網抓了一個 CentOS 6.4(64 位元)的 Box 到本機。

接著我們利用這個 Box 快速做出一個新的 VM 上面跑了 Jenkins。步驟參考下方 gist,然後實體機器瀏覽器打開 http://127.0.0.1:38080/ 就可以看到 Jenkins 老頭了。然後按照之前教的匯出 box,別人或是要搬到機房,就連三分鐘都不用,一分鐘就可以了。

螢幕快照 2014-11-07 上午11.28.19