如何在gitlab CI中为gradle wrapper命令设置环境变量


./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时,更好的方法是

  1. 设置"存储库">设置>CI/CD>变量。例如:MYVAR1,"xyz">
  2. 在build.gradle中读取为ex:ext.myProjVarName = System.getEnv('ENV_VAR_NAME')
  3. 之后,您可以像"$myProjVarName">

最新更新