如何启用 github 操作访问 gradle 属性?
How to enable github actions access gradle properties?
我的 android 项目在 gradle 属性 ~/.gradle/gradle.properties
中使用了一些键。 git 故意忽略了这一点。有没有办法让 git 集线器操作访问这些属性?
~/.gradle/gradle.properties
是用户特定的属性,不应进行版本控制。
如果您有要与您的 Github 操作共享的密钥或任何敏感数据,请考虑使用加密的秘密。
根据这个 page,可以在三个地方放置 gradle.properties
文件,其中之一包括项目的根文件夹。
如果在 git 集线器操作中需要 gradle.properties
,请在项目的根文件夹中创建一个并提交到 git。您的主目录中的那个应该保留在那里。
如果您真的不想将任何 gradle.properties 文件提交给 git,我的第一个问题是为什么?
这是使用 secrets 的另一种方法。
假设您调用了秘密 GRADLE_PROPERTIES
,那么您可以在其中一个步骤中执行类似的操作:
steps:
- uses: actions/checkout@v2
- name: Restore gradle.properties
env:
GRADLE_PROPERTIES: ${{ secrets.GRADLE_PROPERTIES }}
shell: bash
run: |
mkdir -p ~/.gradle/
echo "::set-env name=GRADLE_USER_HOME::$HOME/.gradle"
echo ${GRADLE_PROPERTIES} > ~/.gradle/gradle.properties
此步骤运行后,gradle 现在将使用该文件进行自我配置,您的项目也将如此。
2021 年解决方案
我们需要使用 $GITHUB_ENV
environment variable to store GRADLE_USER_HOME
because the old ::set-env
is depecated.
这是一个示例工作流程:
name: build
on: [ push ]
jobs:
build-app:
runs-on: ubuntu-latest
steps:
- name: Checkout the code
uses: actions/checkout@v2
- name: Restore gradle.properties
env:
GRADLE_PROPERTIES: ${{ secrets.GRADLE_PROPERTIES }}
shell: bash
run: |
mkdir -p ~/.gradle/
echo "GRADLE_USER_HOME=${HOME}/.gradle" >> $GITHUB_ENV
echo "${GRADLE_PROPERTIES}" > ~/.gradle/gradle.properties
- name: Build the app
run: ./gradlew build
我的 android 项目在 gradle 属性 ~/.gradle/gradle.properties
中使用了一些键。 git 故意忽略了这一点。有没有办法让 git 集线器操作访问这些属性?
~/.gradle/gradle.properties
是用户特定的属性,不应进行版本控制。
如果您有要与您的 Github 操作共享的密钥或任何敏感数据,请考虑使用加密的秘密。
根据这个 page,可以在三个地方放置 gradle.properties
文件,其中之一包括项目的根文件夹。
如果在 git 集线器操作中需要 gradle.properties
,请在项目的根文件夹中创建一个并提交到 git。您的主目录中的那个应该保留在那里。
如果您真的不想将任何 gradle.properties 文件提交给 git,我的第一个问题是为什么?
这是使用 secrets 的另一种方法。
假设您调用了秘密 GRADLE_PROPERTIES
,那么您可以在其中一个步骤中执行类似的操作:
steps:
- uses: actions/checkout@v2
- name: Restore gradle.properties
env:
GRADLE_PROPERTIES: ${{ secrets.GRADLE_PROPERTIES }}
shell: bash
run: |
mkdir -p ~/.gradle/
echo "::set-env name=GRADLE_USER_HOME::$HOME/.gradle"
echo ${GRADLE_PROPERTIES} > ~/.gradle/gradle.properties
此步骤运行后,gradle 现在将使用该文件进行自我配置,您的项目也将如此。
2021 年解决方案
我们需要使用 $GITHUB_ENV
environment variable to store GRADLE_USER_HOME
because the old ::set-env
is depecated.
这是一个示例工作流程:
name: build
on: [ push ]
jobs:
build-app:
runs-on: ubuntu-latest
steps:
- name: Checkout the code
uses: actions/checkout@v2
- name: Restore gradle.properties
env:
GRADLE_PROPERTIES: ${{ secrets.GRADLE_PROPERTIES }}
shell: bash
run: |
mkdir -p ~/.gradle/
echo "GRADLE_USER_HOME=${HOME}/.gradle" >> $GITHUB_ENV
echo "${GRADLE_PROPERTIES}" > ~/.gradle/gradle.properties
- name: Build the app
run: ./gradlew build