mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
update folder name of build tool integrations
This commit is contained in:
@@ -1,91 +0,0 @@
|
||||
---
|
||||
title: "Gradle"
|
||||
description: "How to use Infisical to inject environment variables with Gradle"
|
||||
---
|
||||
|
||||
# Using Infisical with Gradle
|
||||
|
||||
By integrating [Infisical CLI](../../cli/overview) with Gradle, you can configure your builds and scripts to different environments, CI/CD pipelines, and more without explicitly setting variables in the command line.
|
||||
|
||||
This documentation provides an overview of how to use Infisical with [Gradle](https://gradle.org/).
|
||||
|
||||
## Basic Usage
|
||||
|
||||
To run a Gradle task with Infisical, you can use the `run` command. The basic structure is:
|
||||
|
||||
```
|
||||
infisical run -- [Your command here]
|
||||
```
|
||||
|
||||
For example, to run the `generateFile` task in Gradle:
|
||||
|
||||
```groovy build.gradle
|
||||
task generateFile {
|
||||
doLast {
|
||||
String content = System.getenv('ENV_NAME_FROM_INFISICAL') ?: 'Default Content'
|
||||
file('output.txt').text = content
|
||||
println "Generated output.txt with content: $content"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```
|
||||
infisical run -- gradle generateFile
|
||||
```
|
||||
|
||||
With this command, Infisical will automatically inject the environment variables associated with the current Infisical project into the Gradle process.
|
||||
Your Gradle script can then access these variables using `System.getenv('VARIABLE_NAME')`.
|
||||
|
||||
## More Examples
|
||||
|
||||
### 1. Building a Project with a Specific Profile
|
||||
|
||||
Assuming you have different build profiles (e.g., 'development', 'production'), you can use Infisical to switch between them:
|
||||
|
||||
```
|
||||
infisical run -- gradle build
|
||||
```
|
||||
|
||||
Inside your `build.gradle`, you might have:
|
||||
|
||||
```groovy build.gradle
|
||||
if (System.getenv('PROFILE') == 'production') {
|
||||
// production-specific configurations
|
||||
}
|
||||
```
|
||||
|
||||
### 2. Running Tests with Different Database Configurations
|
||||
|
||||
If you want to run tests against different database configurations:
|
||||
|
||||
```
|
||||
infisical run -- gradle test
|
||||
```
|
||||
|
||||
Your test configuration in `build.gradle` can then adjust the database URL accordingly:
|
||||
|
||||
```groovy build.gradle
|
||||
test {
|
||||
systemProperty 'db.url', System.getenv('DB_URL')
|
||||
}
|
||||
```
|
||||
|
||||
### 3. Generating Artifacts with Versioning
|
||||
|
||||
For automated CI/CD pipelines, you might want to inject a build number or version:
|
||||
|
||||
```
|
||||
infisical run -- gradle assemble
|
||||
```
|
||||
|
||||
And in `build.gradle`:
|
||||
|
||||
```groovy build.gradle
|
||||
version = System.getenv('BUILD_NUMBER') ?: '1.0.0-SNAPSHOT'
|
||||
```
|
||||
|
||||
## Advantages of Using Infisical with Gradle
|
||||
|
||||
1. **Flexibility**: Easily adapt your Gradle builds to different environments without modifying the build scripts or setting environment variables manually.
|
||||
2. **Reproducibility**: Ensure consistent builds by leveraging the environment variables from the related Infisical project.
|
||||
3. **Security**: Protect sensitive information by using Infisical's secrets management without exposing them in scripts or logs.
|
||||
Reference in New Issue
Block a user