iT邦幫忙

DAY 23
4

快快樂樂學會讓電腦幫我做事系列 第 20

[Shell Script] Day23-ShellScript真實案例練習之前言

  • 分享至 

  • xImage
  •  

這篇介紹雖然沒提到 shell script 的相關技術,不過他是一個案例說明,明天我就會跟大家介紹要怎麼利用 shell script 每分鐘都去問『有沒有程式碼變更阿』。
[簡介]
團隊合作之間最怕的就是人,所以在從A到A+這本書上才會一開始就說:『先挑對的人,再上車!。』

[故事內容]
在某一次的開發經驗中,我們團隊曾經遇到過以下情形,不過還是利用 bash shell script 自動的幫我們解決了這個問題,雖然解決的方式不是最佳的,但還是達到目的了。

故事內容是這樣的:
一開始開發時,因為團隊人數不是很多,再加上都是在同一間大辦公室裡開發,所以我們就選擇 SVN 做為我們開發的版本控制工具使用。

後來由於我們開發的案子已經有雛型了,所以上面的頭頭要求我們將程式碼從我們自行架設的 SVN Server 轉移到公司所用的版本控制工具 『Perforce』 上。但由於我們之前在使用 SVN 時有串接 Jenkins 做 Auto build 以及相關測試掃描功能,以達到持續整合的目的。因此我們也希望在 Perforce 上也可以做到相同的功能,只是,那我要怎麼將 post event trigger 加到 Perforce 呢?

後來查閱了相關資料後也找到能讓 Perforce 做 post event trigger 的方式,只不過礙於我們的『權限不夠』,所以無法在Perforce上針對我們要的地方做 post event trigger。

『那這該怎麼處理呢?』

詢問了一些人後,找到一位「可能」有權限的同事,他雖然人在對岸,但是非常的有熱忱。雖然他也沒做過增加 post event 這個功能,但是也很積極的詢問我們該怎麼做,只不過在他嘗試新增時也才發現「他也沒有權限!」於是他又詢問了他的直接主管才知道,真正有權限的人是一位在高雄的同事!!

『終於找到有權限可以完成這部分的人了』我心想。

正在開心事情終於得到解決的時候,莫非定律告訴我們該發生的就是會發生,事情總是不會那麼順利的!

『你們為什麼要加 post event 』高雄的同事問到。

『因為我們希望當 source code 有變動時,Perforce可幫我們去觸發自動建置的功能,只是抓一個網頁而已。』我開心的回答。

高雄同事:『可是你不知道這樣會增加我這邊伺服器的 Loading ?你們可不可以自己做!』

(中間討論過程省略…)

經過短暫的討論後,我知道他是不太願意幫我們做這件事情,因為這事情本就不是他應該做的。公司也沒要求一定要做持續整合,是我們想要讓開發更順暢才自己多做的!

我心想:「好吧!既然你怕增加 server 的 loading,那就由我來增加 server 的 loading 吧!」(我承認或許我的溝通能力也不是很好,才沒辦法說服對方!)

最後我就寫了一支 shell script 一天 24 小時,一個禮拜五天,每分鐘都去問那台 Server 『有程式碼變更嗎?有程式碼變更嗎?』如果有,我就自己去觸發自動建置,如果沒有就什麼是也不做!

最後,我們達到持續整合的目的了,而 Perforce Server 的負載好像也還好,並不會像他說的會增加 loading。

這篇介紹雖然沒提到 shell script 的相關技術,不過他是一個案例說明,明天我就會跟大家介紹要怎麼利用 shell script 每分鐘都去問『有沒有程式碼變更阿』。

鐵人賽文章分享
上一篇 常用的指令介紹之看頭看尾
下一篇 ShellScript真實案例練習之實做


上一篇
[Shell Script] Day22-常用的指令介紹之看頭看尾
下一篇
[Shell Script] Day24-ShellScript真實案例練習之實做
系列文
快快樂樂學會讓電腦幫我做事27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言