Some Scripts:
Scripts
Auxillary-Project
Github link: Bash
Quick Summary:
- fullAutoBuild.sh - Main script, calls everything in order
- Pull_Step_Full.sh - Gets latest code from repos
- autoBuildV3_Full.bash - Builds 7 packages, extracts artifact numbers from Jenkins console
- FileUpdatorV3.sh - Updates version numbers in project files
- Push_StepV3_Full.sh - Pushes updated code to GitHub
- buildExAll_Full.sh - Triggers 60+ app builds in Jenkins
- cloneDevops.sh - One-time setup to clone all repos
Jenkins Build Scripts - Simple Overview
Script Relationships
fullAutoBuild.sh (MAIN ORCHESTRATOR)
β
βββ Pull_Step_Full.sh (Pull/clone all repos)
β
βββ autoBuildV3_Full.bash (Build packages, extract artifacts)
β βββ Calls: FileUpdatorV3.sh (Updates version numbers in files)
β βββ Creates: MegaArtifacts_${branch}_${date}.txt
β
βββ Push_StepV3_Full.sh (Push updated repos to GitHub)
β βββ Reads: MegaArtifacts file
β
βββ buildExAll_Full.sh (Trigger 60+ app builds in Jenkins)
What Each Script Does
fullAutoBuild.sh - Main Script
- Orchestrates the entire pipeline
- Calls other scripts in sequence
- Tracks total execution time
Pull_Step_Full.sh - Get Latest Code
- Pulls latest code from all repos
- Clones repos if missing
- If pull fails: removes repo and re-clones
autoBuildV3_Full.bash - Build & Extract
- Builds 7 packages in order:
- WorkabilityFramework
- WKABCommon
- Workability
- ScriptEngine
- WorkabilityCustomerPortal
- BENEFITENGINE
- WkabBulkClosure
- For each package:
- Edits Jenkinsfile (SNAPSHOT/RELEASE)
- Pushes to GitHub
- Triggers Jenkins build
- Extracts artifact number from Jenkins console
- Saves to MegaArtifacts file
- Updates all repos with new version
FileUpdatorV3.sh - Update Version Numbers
- Updates package version numbers in:
- packages.config
- .csproj files
- .vbproj files
- Handles SNAPSHOT vs RELEASE builds
Push_StepV3_Full.sh - Push Updated Code
- Reads MegaArtifacts file
- Updates all app repos with package versions
- Commits and pushes to GitHub
- Moves MegaPackage repos to temp (to skip them)
- Has retry logic if push fails
buildExAll_Full.sh - Trigger App Builds
- Triggers 60+ Jenkins jobs (WEB_SERVICES + WINDOWS_SERVICES)
- All triggered in parallel
- Uses curl POST to Jenkins API
cloneDevops.sh - One-Time Setup
- Initial setup script
- Clones all repos listed in repo.txt
- Checks out specific branch
Data Flow
1. autoBuildV3_Full.bash builds packages
β
2. Extracts artifact numbers: "WorkabilityFramework 2021.1234.0"
β
3. Saves to: MegaArtifacts_B.R.04042020_02-27-21.txt
β
4. FileUpdatorV3.sh reads this file
β
5. Updates version in all repo files
β
6. Push_StepV3_Full.sh pushes changes
β
7. buildExAll_Full.sh triggers app builds
Phase 1: BUILD (First set of scripts)
autoBuildV3_Full.bash+buildExAll_Full.sh- Builds all packages and apps
- Extracts artifacts in real-time while building
Phase 2: EXTRACT (New scripts you just shared)
Art_extract.sh- Reads already-completed Jenkins builds
- Extracts artifact versions from console output
- Creates:
ArtifactsVersions.txt
Phase 3: DEPLOY (singleclickdeploy.sh)
- Reads
version.txt(artifact versions) - Generates deploy scripts with artifact versions
- Executes deploys to X environment
Hereβs a strong answer that explains the technical details clearly: