Lewati ke konten utama

Custom Composition

Custom Profile Composition

Advanced

Gabungkan supported public profiles menjadi satu deduplicated pipeline dengan safe global phase order.

Commandcusty run PROFILE PROFILE

Category

Pipelines

Quick Command

custy run PROFILE PROFILE [PROFILE ...] [OPTIONS]

profile mergededuplicationglobal ordering

Ringkasan​

Memberikan beberapa public names tidak menjalankan beberapa isolated pipelines. Custy membuat satu combined pipeline dari union expanded steps milik selected profiles.


Normalization Process

Cara Profiles Digabungkan

1
Validate profile names
Setiap input harus termasuk salah satu dari enam accepted public names.
completed
2
Expand nested profiles
Ganti profile references dengan concrete registered step definitions.
completed
3
Collect all steps
Tambahkan expanded steps dari setiap selected profile.
completed
4
Deduplicate by name
Pertahankan first instance dari setiap repeated step name.
completed
5
Apply global order
Sort unique steps berdasarkan phase priorities Custy sebelum execution.
current

Worked Example: commit + push

Kedua profiles menyumbang overlapping repository dan workflow steps. Setelah expansion, deduplication, dan priority sorting, Custy menghasilkan exact 19-step sequence berikut:

custy run commit push
text
01  ensure_git_repo_step
02  ensure_staged_changes_step
03  ensure_commit_validation_provider_step
04  ensure_commit_hook_policy_step
05  ensure_commit_message_file_step
06  ensure_commit_message_file_exists_step
07  ensure_remote_exists_step
08  prepare_version_step
09  workflow_init_step
10  generate_artifacts_step
11  edit_files_step
12  validate_edited_step
13  apply_version_step
14  generate_changelog_step
15  backup_commit_message_files_step
16  cleanup_backup_step
17  stage_step
18  commit_step
19  push_step

Membalik input menjadi custy run push commit saat ini menghasilkan normalized order yang sama. Lihat Step Priority and Ordering untuk priority setiap line.


Examples

Examples

Practical command examples.

Commit and push

Preview satu flow yang menyiapkan commit lalu melakukan synchronization.

CLI
custy --dry-run run commit push

Commit, tag, and push

Preview merged step set yang saat ini sama dengan Release profile.

CLI
custy --dry-run run commit tag push

Input order is normalized

Push tetap ditempatkan setelah commit oleh global ordering.

CLI
custy --dry-run run push commit

Important Comparisons

Mirip Tidak Selalu Berarti Sama

commit + tag + push

Current resolved step set sama dengan Release, tetapi named Release profile menyampaikan intent lebih jelas.

commit + push

Ini berbeda dari Dev: composition ini menambahkan commit dan push validation serta version application.

dev

Deliberate profile ini memiliki source-defined stage list sendiri serta tidak menerapkan version atau membuat tag.

full

Full adalah Release plus finalization; menggabungkan focused profiles tidak menambahkan finalization step.

Lanjutkan