设计与多媒体

CI Tools Pipeline

试用

Build and maintain GitLab CI/CD pipelines with the CI Tools Components Catalog at ci-tools.xrow.de. Use when creating or fixing .gitlab-ci.yml files, choosing CI Tools components, validating component inputs, or designing continuous delivery pipelines for applications, Helm charts, containers, packages, documentation, infrastructure, and GitOps.

它能做什么

Use this skill to build proper GitLab CI/CD pipelines from the CI Tools Components Catalog. Prefer catalog components over custom jobs when a component exists for the job type.

技能文档

CI Tools Pipeline Skill

Use this skill to build proper GitLab CI/CD pipelines from the CI Tools Components Catalog. Prefer catalog components over custom jobs when a component exists for the job type.

Quick Start

  1. Read the project AGENTS.md first, then inspect the repository layout, current .gitlab-ci.yml, and existing pipeline failures.
  2. Open the live catalog before choosing components:
    • Catalog: https://ci-tools.xrow.de/
    • Components index: https://ci-tools.xrow.de/Components/
    • Source: https://gitlab.com/xrow-public/ci-tools
  3. Select the smallest component set that covers the project:
    • Baseline: common, workflow, semantic-release
    • Hygiene: label, pre-commit, spellcheck, trivy
    • Languages and test runners: bash-unit-tests, lint-javascript, lint-json, lint-yaml, lint-markdown, lint-ansible, lint-helm, lint-tofu
    • Build and package: container, buildah, helm, helm-docs, package, package-skill, oras-push
    • Docs and sites: docusaurus, publish-sitemap, publish-wiki
    • Delivery: deploy-helm, deploy-argocd, gitops, app-of-apps
    • Project flow: workflow-trunkbased, workflow-gitflow
  4. Validate locally before pushing:
    • glab ci lint .gitlab-ci.yml
    • Lint any included template files when supported by the project.
    • Run the narrowest local test for scripts or generated configuration.

Pipeline Design

  • Keep root pipelines component-driven. Add handwritten jobs only when no component exists or a project-specific integration is unavoidable.
  • Use $CI_SERVER_FQDN/xrow-public/ci-tools/@main for component includes when package registry or fully-qualified host behavior matters; otherwise match the existing project style.
  • Put component inputs next to the include and keep names stable across related jobs.
  • Prefer continuous delivery defaults. Do not create automatic production deployment unless the project already does that or the issue explicitly asks for it.
  • Keep validation jobs independent of deployment jobs so a project can fail fast before writing to registries, clusters, or external systems.
  • Use needs and dependencies only when a real artifact or ordering relationship exists.
  • Never use allow_failure: true, when: manual, rules: when: never, or skipped tests to hide a broken required pipeline. Use them only when the job is genuinely optional, documented, or intentionally gated.

Component Selection Heuristics

Repository Bootstrap

Use these components for most repositories:

include:
  - component: $CI_SERVER_HOST/xrow-public/ci-tools/common@main
  - component: $CI_SERVER_HOST/xrow-public/ci-tools/label@main
  - component: $CI_SERVER_HOST/xrow-public/ci-tools/pre-commit@main
  - component: $CI_SERVER_HOST/xrow-public/ci-tools/trivy@main
  - component: $CI_SERVER_HOST/xrow-public/ci-tools/workflow@main
  - component: $CI_SERVER_HOST/xrow-public/ci-tools/semantic-release@main

Use label early when the project needs standard priority::*, size::*, type::*, and workflow::* labels for automation.

Containers

Use container for normal application images and buildah when the project needs direct image build control. Set name and path explicitly when the repository has multiple build roots.

include:
  - component: $CI_SERVER_HOST/xrow-public/ci-tools/container@main
    inputs:
      name: app
      path: container/app

Helm Charts

Use helm for chart build/test/publish flows and add helm-docs when chart documentation must be generated. Set test-enabled: false only when there is no safe cluster-backed test path.

include:
  - component: $CI_SERVER_HOST/xrow-public/ci-tools/helm@main
    inputs:
      name: chart
      path: chart

Review Testing

Keep review environments close to production while making destructive checks explicit and temporary. For Helm review tests, validate install, upgrade, readiness, ingress, cleanup, and storage behavior through chart values instead of ad hoc shell overrides. Document any review-only threshold or fixture in the MR so reviewers can see why it differs from production defaults.

Documentation

Use docusaurus for docs sites and pair it with publish-sitemap when the project publishes public pages. Pass name and path explicitly.

Infrastructure and GitOps

Use lint-ansible, ansible-collection, ansible-ee, ansible-runner, lint-tofu, tofu-module, gitops, deploy-argocd, and app-of-apps according to the repository type. Keep plan, build, and deploy stages separate unless the catalog component documents a tighter flow.

Validation Workflow

  1. Fetch the live component page and verify the input names before editing:

    curl -fsSL https://ci-tools.xrow.de/Components/ | sed -n '1,220p'
    
  2. Lint the pipeline:

    glab ci lint .gitlab-ci.yml
    
  3. For merge requests, push with CI skipped first, then start an MR pipeline through GitLab Agent rules:

    git push origin  -o ci.skip
    glab ci run --mr
    
  4. If CI fails, inspect the failed job trace and fix the underlying problem. If the failure comes from the catalog or main branch, open or link the dependency and mark the MR blocked rather than weakening the pipeline.

Review Checklist

  • The pipeline uses CI Tools components where available.
  • Component inputs match the live catalog documentation.
  • Protected branch behavior is respected.
  • Required checks are not hidden behind skips or allow_failure.
  • Registry, cluster, and deploy writes are gated by existing project rules.
  • The MR description lists the plan, acceptance criteria, and validation commands.

相关技能

把自然语言描述转为结构化 JSON,并由 mcp-diagram-generator MCP 服务生成 Draw.io、Mermaid 或 Excalidraw 图表文件。

作者 nssa.io1.0k 次安装47 星标

执行 Git 操作(提交、分支、合并、变基、冲突解决与恢复)时强制套用安全规则。

作者 Iván532 次安装31 星标

通过托管 OAuth 访问 Microsoft Graph Excel 接口,读写 OneDrive 中的工作簿、工作表、区域、表格与图表。

作者 byungkyu800 次安装42 星标

以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。

作者 johnpatternai21 次安装8 星标

按用户明确指令,在得到大脑(Get笔记)中保存、搜索并管理笔记与知识库。

作者 iswalle763 次安装66 星标

xrowgmbh 的更多技能

浏览全部技能

Operate assigned GitLab work with owner-verified project access and guarded MR delivery.

作者 xrowgmbh29 次安装1 星标

Plan and execute fair GitLab hackathon participation, including Quarterly and Transcend Hackathons, by analyzing rules, selecting qualifying issues/MRs, tracking scoring levers, and keeping an exploit watchlist.

作者 xrowgmbh23 次安装

Create or revise document, PDF, web, or review images with the requested format, sharp raster output, and artifact validation.

作者 xrowgmbh14 次安装1 星标

Maintain the GitLab agent profile page and static contribution performance chart.

作者 xrowgmbh11 次安装

Triage and answer support requests for the xrow-public/ci-tools GitLab components catalog.

作者 xrowgmbh6 次安装