iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0
自我挑戰組

30天打造自己的RSS閱讀器:Go語言與DevOps的實戰應用系列 第 8

Day 8:Proxy 和 GitHub Actions 的環境變數設定

  • 分享至 

  • xImage
  •  

代理設定

有時,在公司內網路有資安考量或是其他安全考慮(比如說機器要走跳板才能連外),我們可能需要將 GitHub Actions 的流量通過代理伺服器來發送。
設定代理一般有以下幾種方式:

環境變數

最簡單的方式是設定環境變數 HTTP_PROXYHTTPS_PROXY

jobs:
  build:
    runs-on: ubuntu-latest
    env:
      HTTP_PROXY: http://your-proxy-server.com
      HTTPS_PROXY: http://your-proxy-server.com

使用代碼設定

在執行任何需要網絡的操作之前,也可以使用腳本來設定代理:

steps:
  - name: Set up proxy
    run: export HTTP_PROXY=http://your-proxy-server.com

GitHub Actions 的環境變數設定

除了基本的代理設定,還可以進一步自定義環境變數,這對於配置複雜的工作流程,或是將敏感資訊抽離 workflow 定義檔時非常有用。

密碼和密鑰

儲存敏感資訊 (e.g., API 密鑰或密碼) 最好是使用 GitHub Secrets。
使用 GitHub Secrets 的好處在於,沒有權限的人是看不到 secret 的內容的,而且執行 job 時如果遇到會 print secret 內容的情況,GitHub Actions 還會將 secret 的內容打碼,避免機密外洩。
Actions Secrets 設定頁面

當在上述頁面加入 secret 後,就可以在工作流程中引用這些 secrets:

jobs:
  build:
    env:
      API_KEY: ${{ secrets.API_KEY }}

使用工作流程命令設定多步驟變數

有時候,一個步驟的輸出需要被用作另一個步驟的輸入,這時候可以用工作流程命令來設定多步驟變數:

steps:
  - name: Step 1
    run: echo "MY_VARIABLE=my-value" >> $GITHUB_ENV
  - name: Step 2
    run: echo ${{ env.MY_VARIABLE }}


上一篇
Day 7:安裝 Self-Hosted Runner 一步一腳印
下一篇
Day 9:介紹要被CI/CD的RSS閱讀器專案
系列文
30天打造自己的RSS閱讀器:Go語言與DevOps的實戰應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言