Skip to content

Latest commit

 

History

History
69 lines (53 loc) · 3.09 KB

ci_cd_with_jenkins_bitbucket.md

File metadata and controls

69 lines (53 loc) · 3.09 KB

問題

在Lambda,之前都使用 "手動更改程式" 或 "手動上傳程式碼" 來更新程式。
常導致不知道程式現在版本,或哪段程式現在是否有加到prod、dev環境。

解決方法

加入自動部屬,讓Lambda上的程式進度可以與git上的branch相對應。
當有branch push到bitbucket上,自動執行部屬。達到Lambda與git同步。

步驟

1. 需準備好 BitBucket RepositoryJenkins server

2. Jenkins安裝 Bitbucket Plugin

Bitbucket Plugin

3. 在Jenkins新增作業,選擇Free style

image

4. 設定Jenkins組態

(1) 原始碼管理

image image

(2) 建置觸發程序

image

(3) 建置環境

image

(4) 建置

image

備註:

此處用到的 "npm run deploy" ,會抓取現在的branch,利用 aws-sdk 將程式deploy到對應的Lambda上。

image

aws-sdk 參考文件

5. BitBucket設定

(1) 建立Jenkins API Token (用於BitBucket Webhook)

image

(2) 至Bitbucket專案設定 "Add webhook"

image

image

備註:

webhook url:

http://[jenkins 帳號]:[jenkins api token]@[jenkins url]/git/notifyCommit?url=[bitbucket ssh]

  • (1) 建立該 Jenkins api token 的 Jenkins User ID
  • (2) 剛剛在 jenkins 建立的 api token
  • (3) jenkins server url (後面可加port) EX. "1.2.3.4:8080"
  • (4) bitbucket ssh EX. "[email protected]:????.git"

6. 測試 CI/CD

(1) PUSH程式到 bitbucket repository 的該branch

(2) 檢查 Jenkins 是否自動觸發建置

image

(3) 檢查建置過程是否正常運作

image

image

若印出來的log一切正常,表示建置成功。