iT邦幫忙

2021 iThome 鐵人賽

DAY 12
0
DevOps

運用皮毛技術與 AWS 平台、打造雲端蘿蔔服務三十天系列 第 12

【Day 12】使用 Systems Manager 的 Parameter Store 保存變數

tags: 鐵人賽 CodeBuild AWS SSM

前言

關於 Developer Tool - CodeBuild

  • 昨天,我們把 CodeBuild 的專案建立出來後,今天還需要完成兩件事情來驗證
    1. 撰寫程式碼片段
    2. 設計驗證程式碼片段的流程,因此需將流程撰寫成 buildspec.yml
  • 我現在想到的流程是這樣:
    1. 程式設計師上 code 到 master branch 時,觸發 CI 流程
      • 昨天漏講 ... Webhook 觸發事件勾起來
      • 事件的類型選 PUSHPULL_REQUEST_MERGED
    2. 理論上,程式設計師應該在自己當前開發功能的 feature branch 進行測試
    3. 直到確定功能穩定後、同事 code review 後,把程式碼合併到 master branch
    4. 流程開始時,先發信給觀察清單中的人
    5. 觀察清單嘛,我不想把它寫死寫在 code 裡面,而我們的流程呢,又要放到 CodeBuild 的環境中運作,所以我們需要把這個觀察清單的變數,存放在 CodeBuild 可以取得的地方! --> Systems Manager (SSM)
  • 廢話不多說,今天來寫 code

設置

寄信功能

  • 要透過程式發信
    • 我們可以透過設定 google smtp 方式登入信箱並且發信
      • 後續補上流程
    • 把寄件人資訊(我的 gmail 信箱位置)、登入所需使用的 Secret 存放到 SSM
    • 收件人清單也存到 ssm parameter store
    • 運行環境中的系統變數取得收件人郵件地址
      • 並且判斷如果系統變數中沒有收件者的時候,自動填上我的信箱
  • 將上述的寄信程式寫好!

設置 SSM

  • 首先從 Navigator 搜尋 SSM
  • 再來按下橘色按鈕建立變數時,輸入像是下列資訊 ...
  • 輸入 ~~我的豆花30塊~~ 我的 gmail 信箱啊
  • 再來,存放在 SSM 裡的 Standard tier 的免費一萬個變數,可以是 SecureString,他會被 KMS 中的 SSM 金鑰加密起來!
  • 好啦,兩個丟在 SSM 的變數,長得像是這樣 ...

寫 Code

主要新增內容如下

測試今天寫的 Code

  • 由於今天時間有限,我還沒寫 buildspec.yml
  • 所以我們直接在本地端直接運作他!!
  • 寄信成功!!

小結

  • 明天會來寫 buildspec

後記

  • 歐~要收假了!!??????

上一篇
【Day 11】設置與調整 AWS Developer Tool - CodeBuild
下一篇
【Day 13】顏立委:希望你們都學會,如何透過 SMTP 發信!
系列文
運用皮毛技術與 AWS 平台、打造雲端蘿蔔服務三十天30

尚未有邦友留言

立即登入留言