- Home
- Skills
- Hackur
- Web Standards Playground Showcase
- Ci Cd Pipeline
ci-cd-pipeline_skill
- TypeScript
1
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill hackur/web-standards-playground-showcase --skill ci-cd-pipeline- SKILL.md9.1 KB
Overview
This skill documents CI/CD Pipeline Management for a TypeScript-backed project using GitLab CI/CD. It focuses on pipeline architecture, build-time bottlenecks, caching strategies, and a practical path to a 3-stage deployment workflow that reduces build time by up to 60–65%. The goal is faster, more reliable builds with minimal ongoing maintenance.
How this skill works
The skill inspects the GitLab CI configuration, the build stage steps, and the before_script actions to identify costly operations like compiling PHP extensions every run. It recommends a three-layer caching strategy (APT, Node modules, Composer vendor) and a custom Docker image that ships pre-compiled extensions and system libraries. It also describes how to update .gitlab-ci.yml and push a one-time image to the GitLab Container Registry.
When to use it
- When you need to reduce CI build time and cost
- When builds fail due to missing system libraries or extension compile errors
- When you want deterministic, repeatable build environments
- When planning a staged rollout: validate → build → deploy
- When adding caching to speed dependency installs and asset builds
Best practices
- Build and publish a custom CI image with pre-installed system libs and PHP extensions
- Use cache keys tied to lockfiles (package-lock.json, composer.lock) to avoid stale caches
- Keep git submodule init in before_script for VCS path packages
- Test CI changes in a branch and monitor cache hit rates and stage durations
- Limit one-time setup in pipeline jobs and shift repeated work into the image
Example use cases
- Cutting build time from ~12 minutes to ~3–4 minutes by using a custom Docker image
- Fixing docker-php-ext-install failures by adding missing apt packages to the image
- Recovering from npm ci failures by regenerating package-lock.json and committing it
- Triggering staging deploys manually and production deploys via Git tags
- Tracking pipeline health via average build time, cache hit rate, and deploy frequency
FAQ
A custom image eliminates repeated system installs and extension compilation and typically saves 7–8 minutes, about 60–65% of build time.
Do I still need git submodule initialization?
Yes. Submodules are required for local VCS packages and add ~30 seconds; keep git submodule update --init --recursive in before_script.
What if docker-php-ext-install fails in CI?
Add the missing system libraries to the Dockerfile (for example libpng-dev) or include them in the image build to avoid runtime failures.