./gradlew -i dev_task -Pdb_user=user1 -Pdb_pwd=pwd1
上面的命令在windows上运行良好,可以访问环境变量db_user和db_pwd,但在使用相同命令或在运行命令之前导出变量时,不能在gitlab CI中访问
Dev task:
image: gradle:7.5.1-jdk11
stage: dev-task
before_script:
- export ORG_GRADLE_PROJECT_db_user=user1 # set env variable and didn't work
- export ORG_GRADLE_PROJECT_db_pwd=pwd1 # set env variable and didn't work
script:
- ./gradlew -i dev_db_migration -Pdb_user=user1 -Pdb_pwd=pwd1 # set env variable here also and didn't work
在build.gradle中,我正在使用读取这两个属性
user1 = project.properties['db_user']
pwd1 = project.properties['db_pwd
如何在gitlab CI中设置环境变量并在build.gradle文件中读取它,有什么建议吗?
设置ENV变量时,需要将其读取为System.getEnv('ENV_VAR_NAME')
当使用gitlab CI/CD时,更好的方法是
- 设置"存储库">设置>CI/CD>变量。例如:MYVAR1,"xyz">
- 在build.gradle中读取为ex:
ext.myProjVarName = System.getEnv('ENV_VAR_NAME')
- 之后,您可以像"$myProjVarName">