This repo contains scripts to administrate the CI infrastructure at the Eclipse Foundation.
Most scripts will not work without access to the password store or the internal network.
- CI Admin
The easiest way to use the CI Admin tools is through the unified CLI interface:
# Install the CLI tool (automatic detection of best location)
./install.sh
# Or install to a specific location
./install.sh ~/.local/bin
# Get help
ci-adm help
# List all available commands
ci-adm list
# Get help for a specific module
ci-adm help githubThe install script automatically detects the best installation directory:
~/.local/binfor regular users (no sudo required)
# Auto-detect installation location
./install.sh
# Or specify a custom directory
./install.sh ~/my/custom/binMake sure the installation directory is in your PATH. If not, add this to your ~/.bashrc or ~/.zshrc:
export PATH="$PATH:~/.local/bin"You can also run scripts directly from their respective directories without installing the CLI.
ci-adm <module> <command> [arguments...]| Module | Description |
|---|---|
github |
GitHub integration management |
gitlab |
GitLab integration management |
gpg |
GPG key and signing management |
nexus |
Nexus repository management |
pass |
Password store management |
matrix |
Matrix bot management |
sonarcloud |
SonarCloud project management |
develocity |
Develocity bot setup |
project |
Project configuration management |
gitlab-runner |
GitLab runner provisioning |
service-accounts |
Service account management |
central-sonatype |
Maven Central / Sonatype setup |
projects-storage |
Projects storage setup |
buildtools |
Build tools management |
# Setup GitHub bot for a project
ci-adm github setup-bot technology.cbi
# Create GitHub webhook
ci-adm github create-webhook technology.cbi
# Setup OtterDog
ci-adm github setup-otterdog technology.cbi
# Deploy SSH key
ci-adm github deploy-key technology.cbi
# Generate GitHub credentials
ci-adm github gen-credentials technology.cbi# Create GitLab bot user
ci-adm gitlab create-bot technology.cbi
# Create GitLab webhook
ci-adm gitlab create-webhook technology.cbi
# Setup Jenkins-GitLab integration
ci-adm gitlab setup-jenkins technology.cbi
# Setup GitLab runner
ci-adm gitlab setup-runner technology.cbi
# Setup license vetting workflow
ci-adm gitlab setup-license-vetting technology.cbi
# GitLab admin commands
ci-adm gitlab admin --help# Setup GPG signing for a project
ci-adm gpg setup-signing technology.cbi
# Change GPG key passphrase
ci-adm gpg change-passphrase technology.cbi
# GPG key administration
ci-adm gpg key-admin --help# Create Nexus repositories for a project
ci-adm nexus create-repos technology.cbi# Add credentials
ci-adm pass add-creds technology.cbi
# Add GPG credentials
ci-adm pass add-creds-gpg technology.cbi
# Generate SSH key
ci-adm pass gen-ssh-key technology.cbi
# Change SSH key passphrase
ci-adm pass change-ssh-passphrase technology.cbi
# Show password store statistics
ci-adm pass stats# Setup Matrix bot
ci-adm matrix setup-bot technology.cbi
# Matrix administration
ci-adm matrix admin --help# Create SonarCloud project
ci-adm sonarcloud create-project technology.cbi
# Create SonarCloud project token
ci-adm sonarcloud create-token adoptium# Setup Develocity bot
ci-adm develocity setup-bot technology.cbi# Check secrets structure
ci-adm project check-secrets technology.cbi
# Fetch projects from API
ci-adm project fetch-api
# Show project statistics
ci-adm project stats
# Rename a project
ci-adm project rename old.project new.project# Provision GitLab runner (GRAC)
ci-adm gitlab-runner provision --help# Setup PyPI service account
ci-adm service-accounts setup-pypi technology.cbi# Setup Maven Central publishing
ci-adm central-sonatype setup technology.cbi# Setup projects storage
ci-adm projects-storage setup technology.cbi# Add new Maven version
ci-adm buildtools add-maven-version 3.9.5
# Check JDK configuration
ci-adm buildtools check-jdk --helpFor scripts that use Playwright (automated browser interactions):
sudo apt install oathtool
sudo apt install python-is-python3
python -m pip install --upgrade pip
python -m pip install playwright
python -m pip install pyperclip
playwright installTo uninstall the ci-adm CLI:
# If installed in system directory
sudo rm /usr/local/bin/ci-adm
# If installed in user directory
rm ~/.local/bin/ci-admSee CONTRIBUTING.md for guidelines on how to contribute to this project.
Parts of this codebase were developed with the assistance of AI tools including GitHub Copilot. These tools helped accelerate development while maintaining code quality and consistency with Eclipse Foundation services.
Copyright (c) 2026 Eclipse Foundation and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at http://www.eclipse.org/legal/epl-v20.html
SPDX-License-Identifier: EPL-2.0