最近我创建了这篇帖子,试图弄清楚如何在GitHub行动中引用GitHub Secrets。 我相信我已经解决了那个问题并找到了答案,现在我遇到了不同的问题。
以下是当前工作流程代码的示例,我需要帮助的问题是“创建和填充.Renviron文件”的部分。
on: [push, pull_request]
name: CI-CD
jobs:
CI-CD:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.os }} (${{ matrix.config.r }})
strategy:
# we keep a matrix for convenience, but we would typically just run on one
# single OS and R version, aligned with the target deployment environment
matrix:
config:
- {os: ubuntu-20.04, r: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"}
env:
# Enable RStudio Package Manager to speed up package installation
RSPM: ${{ matrix.config.rspm }}
# Access token for GitHub
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Setup R
uses: r-lib/actions/setup-r@v1
with:
r-version: ${{ matrix.config.r }}
- name: Install system dependencies
run: |
while read -r cmd
do
eval sudo $cmd
done < <(Rscript -e 'writeLines(remotes::system_requirements("ubuntu", "20.04"))')
- name: Install R dependencies
run: |
remotes::install_deps(dependencies = TRUE)
remotes::install_cran("rcmdcheck")
shell: Rscript {0}
- name: Create and populate .Renviron file
env:
AWS_HOST: ${{ secrets.AWS_HOST }}
AWS_PORT: ${{ secrets.AWS_PORT }}
AWS_PW: ${{ secrets.AWS_PW }}
AWS_USER: ${{ secrets.AWS_USER }}
DBNAME: ${{ secrets.DBNAME }}
run: |
touch .Renviron
echo aws_host="$AWS_HOST" >> .Renviron
echo aws_port="$AWS_PORT" >> .Renviron
echo aws_pw="$AWS_PW" >> .Renviron
echo aws_user="$AWS_USER" >> .Renviron
echo dbname="$DBNAME" >> .Renviron
ls ${{ github.workspace }}
shell: bash
- name: Deploy to shinyapps.io
# continuous deployment only for pushes to the main / master branch
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master'
env:
SHINYAPPS_ACCOUNT: ${{ secrets.SHINYAPPS_ACCOUNT }}
SHINYAPPS_TOKEN: ${{ secrets.SHINYAPPS_TOKEN }}
SHINYAPPS_SECRET: ${{ secrets.SHINYAPPS_SECRET }}
run: Rscript deploy/deploy-shinyapps.R
我相信这个.Renviron文件已经被创建了,但是我不知道它在哪里,而且它看起来肯定不在其他文件所在的位置。我已经尝试过很多文件路径目标,如:.Renviron
、~/.Renviron
、$github.workspace/.Renviron
、/home/runner/work/NBA-Dashboard/NBA-Dashboard/.Renviron
,但都行不通。在我创建该文件后,我列出了工作区目录的所有内容(这就是我想要的文件),但它从未被列在那里。
我需要在特定目录中创建和列出那个.Renvrion文件以及所有其他文件,这样当我继续使用rsconnect软件包构建和部署我的Shiny应用程序时,它就能够包含该文件以在用户使用应用程序时正确地检索环境变量。
我以为可能是.gitignore有问题,所以我把.Renviron从中删除了?但这并没有解决问题。如果有任何想法,我会感激不尽!
ls -a
命令来显示以点.
开头的文件。 - Allan Chain