iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 21
0
自我挑戰組

用 laravel 尻出自己形狀的 line bot,還要撐三十天!系列 第 21

【第二十一天】衝刺吧!Docker!還是TravisCI?

  • 分享至 

  • xImage
  •  

【第二十一天】衝刺吧!Docker!還是TravisCI?

昨天我們已經嘗試使用Docker起了一個MySQL,現在我們要試著把他放進TravisCI裡面讓我們的測試可以順利執行!

沒錯!依照我這顆簡單的小腦袋猜測,我們只要照著昨天的指令把他納進.travis.yml我們就大功告成了!

所以我們的就照著輸入
.travis.yml

等了好久....什麼!少說十分鐘!

https://ithelp.ithome.com.tw/upload/images/20171226/20107380aCixnOzY6G.png

竟然出現跟昨天一樣的錯誤...WHY?

好吧!眼下這花費的時間也已經大大超出我們所預料,這時突然靈機一動!
既然travisCI可以有services出docker,那應該也可以services出mysql!

結果!真的跟我們所想的一樣欸!
文件

.............
https://ithelp.ithome.com.tw/upload/images/20171226/20107380AXE42MGvVy.jpg

好吧!那我們改變策略!
直接把我們的.travis.yml變成這樣

還是等了好久!!!好像也差不多十分鐘!

好不容易結束後,但卻跑出了另一個錯誤......
https://ithelp.ithome.com.tw/upload/images/20171226/20107380hz7vo4vPP0.png

稍微去估狗一下,發現了這個
大事上是說因為utf8mb4的關係,所以只要是跑在MySQL版本5.7.7以下的,都需要在AppServiceProvider.php裡面加入以下這行

    public function boot()
    {
        Schema::defaultStringLength(191);
    }

然後再花個十分鐘去等CI的綠勾勾吧!

這時你應該已經和我一樣想打算放棄這個測試的調整了...
我們為了可以在測試裡面掛載DatabaseTransactions這個trait!
要在每次跑CI浪費將近十分鐘!怎麼想都不對勁!
仔細想想,不掛載也可以正常在CI上執行,那我們只要把local的資料庫和雲上的資料庫在.env清楚隔離就好了!
所以我想這PR我們就......放生吧!它讓我們留下一點紀念就好!

認知錯誤!剛剛實際測起來發現#27#28其實是差不多慢的,猜測應該是排隊的時間就是要這麼久吧!畢竟是免費,現在又一直呈現滿載狀態!

已觀察驗證確定是排隊問題,請參考第二十四天

https://ithelp.ithome.com.tw/upload/images/20171227/20107380H4RNVyqSEz.png

雖然這兩天有一點瞎忙,對我們原本在作的專案好像也沒啥幫助,
但我們還是稍微認識了一些Docker的知識還有TravisCI的一些設定可以玩。

稍微整理一下這兩天的重點:

  • Docker
    • 我們瞭解了Image(映像), Container(容器), Repository(倉庫) 是在做些什麼。
      • docker pull mysql簡單來說就是從MySQL的倉庫拉下一個映像
      • docker run就是可以把你的映像給具現化出一個容器出來
      • 一個映像可以同時docker run出很多的容器出來,並且他們也不會相互影響
      • 可以透過docker ps查看具現化出來的容器
      • 雖然原本打算試試看,但還沒實作到就放棄的Dockerfile好像是可以自己生產出映像的檔案
    • 另外,我們還留了一個問題在這篇,就是CI上起了docker時卻會像昨天一樣死掉的問題沒解。
  • TravisCI
    • 上面有很多可以提供給測試時所使用的services!但目前還不知為何,速度極慢!
    • 為此還查了一下,traviscistatus但好像...就真的只是很慢

好吧!今天的分享就到這邊,這兩天算是跌了很慘的一跤了!慘RRRRR


上一篇
【第二十天】我們也來試試看Docker
下一篇
【第二十二天】來試著整理一下目前的程式碼
系列文
用 laravel 尻出自己形狀的 line bot,還要撐三十天!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言