To integrate a Jenkins pipeline script with parameterized builds and link it to a GitHub repository, you can follow these steps:
1. **Set Up a GitHub Repository**:
- Ensure that you have a GitHub repository where your Jenkinsfile (Pipeline script) will be stored.
2. **Create a Jenkins Pipeline**:
- In Jenkins, create a new pipeline item (or job).
- In the pipeline configuration, select "Pipeline script from SCM" as the definition.
3. **Configure Your GitHub Repository**:
- Under the "SCM" section, choose "Git" as the SCM.
- Provide the URL of your GitHub repository (e.g., `https://github.com/yourusername/your-repo.git`).
- You can choose to use credentials for authentication or use a username/password combination if required.
4. **Specify Your Jenkinsfile Location**:
- In the "Script Path" field, specify the relative path to your Jenkinsfile within the repository (e.g., `Jenkinsfile` or `folder/Jenkinsfile`).
5. **Parameterized Builds**:
- To create parameterized builds, you can define parameters in your Jenkinsfile. For example, you can define a string parameter named "BRANCH" and a choice parameter for selecting options.
```groovy
pipeline {
agent any
parameters {
string(name: 'BRANCH', defaultValue: 'master', description: 'Branch to build')
choice(name: 'ENVIRONMENT', choices: 'development\nstaging\nproduction', description: 'Select environment')
}
stages {
stage('Checkout') {
steps {
script {
checkout([$class: 'GitSCM', branches: [[name: params.BRANCH]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/yourusername/your-repo.git']]])
}
}
}
stage('Build and Deploy') {
steps {
// Add build and deployment steps here using the parameters
echo "Building on ${params.BRANCH} for ${params.ENVIRONMENT} environment."
}
}
}
}
```
6. **Save and Run**:
- Save your Jenkins pipeline configuration.
- Trigger a build to see the parameterized options in action.
With this setup, when you run the Jenkins job, it will prompt you to enter the values for the "BRANCH" and "ENVIRONMENT" parameters. The Jenkinsfile will use these parameters to determine how to build and deploy the project.
Make sure you have installed the necessary plugins in Jenkins to work with Git repositories and parameterized builds. You can also customize the Jenkinsfile and parameter options to suit your specific project and build requirements.