CI/CD Pipeline Migration to TeamCity Cloud & S3-Based Artifact Deployment
1. Core Objective:
Project Details
1. Core Objective:
Replace SMB/Shared folder artifact delivery (\\devops\pipeline\...) with versioned Amazon S3 approach - s3://<bucket>/modules/builds/<VERSION>/
Keep existing deployment logic unchanged: Local Stage -> IIS (bin, views, scripts, content)
Enable versioned deployments, rollback and eliminate SMB dependency
2. Build System (TeamCity):
Migrate 5+ Repos from GitHub to Bitbucket: B2GNow-IAC, B2GNow-api, B2GNow-sdk, b2g-core, b2g-review-hub, FAD, Intranet, SPA, B2G-AI-Control-Center, Certifier Agent
Setup TeamCity pipelines (DEV/UAT/QA/MAIN) for all projects
Implement VERSION = %build.number% and S3 upload step: aws s3 sync / upload to s3://<bucket>/modules/builds/#{Version}/
Convert B2GNow-IAC to GitOps approach
3. Deployment System (Octopus Deploy):
Change source from \\devops\pipeline\... to aws s3 sync s3://<bucket>/modules/builds/#{Version}/ C:\pipeline\blackcat\modules\
Fix deployment targets: C:\inetpub\wwwroot\#{WebRoot.FolderName}\wwwroot (dev/qa/test/stage/prod scoped)
Handle web.config protection, IAM roles (s3:ListBucket, s3:GetObject)
4. Cloud Migration:
Migrate all TeamCity + Octopus projects to TeamCity Cloud with naming convention B2G- (B2G projects) and BC- (BlackCat projects)
Setup Linux Build Agent B2G-BUILD-LINUX-03 for Docker Linux images (python:3.14.2-slim)
Resolve licensing (130-135 config limits), committer slots (32 seats), MSBuild 18->17, agent compatibility
5. Extended Standardization
Apply same S3 pattern to eComply (SQL scripts, SSRS files) and B2G Now (ASP project) using centralized shared S3 bucket for BlackCat, eComply, B2G Now
Flow: Build -> Publish artifact to S3 -> Target server downloads from S3 -> Deploy