Delivery
Series - 從無到有,使用 Go 開發應用程式
目錄
截至目前為止,應用程式該有基本功能都已經完備了,再來就是最後一哩路了--交付。
分析
交付前必須要經過建置([Build][])的過程,不過畢竟只是 side project,所以測試暫時先跳過吧!但有一個很重要的任務不能不做--編譯。
Go 的編譯還算簡單,直接下指令 build 就行了
$ go build接著就會出現與專案名稱同名的可執行檔,如 namer:
$ ls namer
namer交付的目標,應該直接放在 GitHub Release 即可。
Travis CI 的串接方法可以參考官方網站。
Travis CI 上做 cross compile 可以參考 gimme。
開工
首先要先安裝 travis 指令,安裝好應該就能看得到版本號了:
$ travis -v
1.8.8接著切換專案目錄,執行下面的指令:
$ travis setup releases
Detected repository as MilesChou/namer, is this correct? |yes|
Username:
Password for jangconan@gmail.com:
File to Upload: namer
Deploy only from MilesChou/namer? |yes|
Deploy from iron branch? |yes| no
Encrypt API key? |yes|它會問一些問題,其中記得 Encrypt API key 一定要選 yes,因為這個 key 是機敏資訊。
接著調整 .travis.yml 描述檔:
branches:
only:
- master
- /^\d+\.\d+\.\d+$/
env:
- GIMME_OS=linux GIMME_ARCH=amd64
- GIMME_OS=darwin GIMME_ARCH=amd64
- GIMME_OS=windows GIMME_ARCH=amd64
before_deploy:
- go build
deploy:
provider: releases
api_key:
secure: ENCRYPT_API_KEY
file: namer
skip_cleanup: true
on:
tags: true一切就緒,當打 tag 的時候,就會觸發 deploy 行為,然後把建置出來的執行檔都交付到 GitHub Release。
程式碼可以參考 PR Day 24。
參考資料
- [CI 起步走][Build] - CI 從入門到入坑