GitHub Actions 中 python 脚本获取仓库 secrets

GitHub Actions 提供的 CI/CD(持续集成/持续部署) 服务非常方便,可以帮助我们自动完成一些功能。但是当我们在跑一些脚本的时候,不免会存放一些密码、密钥之类的内容。我们期望跑脚本的同时,不以明文的方式存储这类密码

将 GitHub Actions 与 GitHub 仓库的 Secrets 结合,可以轻松帮助我们满足这项需求

下面以基于 ServerChan 的 LeetCode 周赛提醒功能为例

1. 添加 Secrets

ServerChan 的推送功能需要设置 SCKEY 字段,但是该字段不应以明文方式存储

打开仓库「Settings」中的「Secrets」,点击「New secret」

2. 配置 GitHub Actions

用来向 ServerChan 接口发送请求的文件名为 main.py

git bash 中键入命令,新建文件

mkdir -p .github/workflows && touch .github/workflows/leetcode-weekly.yml

编辑 leetcode-weekly.yml,键入以下内容

name: 'GitHub Actions LeetCode Weekly Bot'

on:
  push:
    branches: 
      - master
  schedule:
    - cron: '0 2 * * 0'

jobs:
  leetcode-weekly:
    runs-on: ubuntu-latest
    steps:
      - name: 'Checkout'
        uses: actions/checkout@v2
      - name: 'Set up Python'
        uses: actions/setup-python@v1
        with:
          python-version: 3.7
      - name: 'Install requirements'
        run: pip install -r leetcode-weekly/requirements.txt
      - name: 'Working'
        env:
          SCKEY: ${{ secrets.SCKEY }}
        run: python leetcode-weekly/main.py

其中,在 Working 步骤中,指定了环境变量 SCKEY,并将它的 value 设为 secrets.SCKEY

3. python 脚本中获取环境变量

import os

if __name__ == '__main__':
    SCKEY = os.environ["SCKEY"]

同理,对于一些需要登录的脚本也可以使用以上方式实现加密

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值