如何将GitHub Actions运行操作系统从macOS切换至Windows或Ubuntu?
切换GitHub Actions运行系统(从macOS到Ubuntu/Windows)的配置修改方法
核心修改点
只需要修改工作流YML中runs-on字段的值,就能切换运行系统,你的R爬虫脚本在Ubuntu/Windows环境下可正常运行:
- 若切换到Ubuntu(成本最低,分钟额度消耗仅为macOS的1/10):将
runs-on: macos-latest替换为runs-on: ubuntu-latest - 若切换到Windows(分钟额度消耗为macOS的1/2):将
runs-on: macos-latest替换为runs-on: windows-latest
修改后的Ubuntu版本完整配置
# 定时爬虫任务 name: amazonR Polite Price Checker # 触发时机:每周一、周四0点(UTC时间) on: schedule: - cron: '0 0 * * 1,4' jobs: autoscrape: # 切换为Ubuntu最新版运行器 runs-on: ubuntu-latest # 拉取代码并安装R环境 steps: - uses: actions/checkout@master - uses: r-lib/actions/setup-r@master # 安装R依赖包 - name: Install packages run: | R -e 'install.packages(c("tidyverse", "tibble", "openxlsx", "gdata", "lubridate", "rvest", "stringr", "dplyr", "purrr", "plyr", "polite", "xml2", "gt", "blastula"))' # 运行爬虫脚本 - name: Scrape with the polite package env: EMAIL_SENDER: ${{ secrets.EMAIL_SENDER }} EMAIL_PASSWORD: ${{ secrets.EMAIL_PASSWORD }} EMAIL_RECIPIENT: ${{ secrets.EMAIL_RECIPIENT }} EMAIL_CC_1: ${{ secrets.EMAIL_CC_1 }} EMAIL_CC_2: ${{ secrets.EMAIL_CC_2 }} EMAIL_CC_3: ${{ secrets.EMAIL_CC_3 }} run: Rscript polite_price_checker.R # 提交并推送更新的文件 - name: Commit files run: | git config --local user.name github-actions git config --local user.email "actions@github.com" git add polite_price/* git commit -am "GH ACTION Autorun POLITE PRICE $(date)" git push origin main --force env: REPO_KEY: ${{secrets.GITHUB_TOKEN}} username: github-actions
额外优化建议
原配置中多次调用R -e 'install.packages()'会增加运行时间,可将所有包合并到一个install.packages()调用中(如上面的配置所示),进一步节省分钟额度。
内容的提问来源于stack exchange,提问作者Andrea
相关产品推荐
相关产品推荐

