Some Scripts: Scripts
Auxillary-Project


Github link: Bash

Quick Summary:

  1. fullAutoBuild.sh - Main script, calls everything in order
  2. Pull_Step_Full.sh - Gets latest code from repos
  3. autoBuildV3_Full.bash - Builds 7 packages, extracts artifact numbers from Jenkins console
  4. FileUpdatorV3.sh - Updates version numbers in project files
  5. Push_StepV3_Full.sh - Pushes updated code to GitHub
  6. buildExAll_Full.sh - Triggers 60+ app builds in Jenkins
  7. 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:
    1. WorkabilityFramework
    2. WKABCommon
    3. Workability
    4. ScriptEngine
    5. WorkabilityCustomerPortal
    6. BENEFITENGINE
    7. 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: