Pages - Menu

2023年3月27日 星期一

[Drone] drone jsonnet 各種怪招

睡睡念

本文章內容包含許多寫drone jsonnet會碰到的寫法。


正文

  1. 在pipeline下comand的時候,有時會碰到多行指令湊在一起的情況,
    在drone.yaml是直接這樣寫



    但如果要用jsonnet的話,要用\n換行,



    轉換後就會變成下圖


  2. 在執行command的時候,因為要先用" 將指令包起來,如果裡面還要有" 的話,必須在前面加上 \



    執行drone jsonnet --stream --format



    這是因為 linux shell裡面,單引號跟雙引號的差別,詳細可看[[133. shell script字串處理|shell script 雙引號與單引號]]

  3. 如果碰到很長的一串指令,例如if else之類的,改使用 @’’ 將程式包起來。

@'
if [ -z $${TAG_FROM} ]

then

echo "錯誤:無來源TAG。";

exit 1

fi'
  1. 如果字串過長,想要換行的話, 可在雙引號內 使用 兩個\


  2. 用curl時,有些參數要用" ,所以在單引號使用 " " 固定參數,要先用 @ ‘’ 包起來
  @'OAUTH2_TOKEN=$(curl -XGET $${TOTP_AUTH_URL} \\
       -H "accept: application/json" \\
       -H "TOTP-PIN-CODE: $${pin}" \\
       -H "TOTP-USER: $${user}")', 

ref.

沒有留言:

張貼留言