diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cc0f905..419bbef 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -619,35 +619,16 @@ propose-prod-image-bump: fi # 4. Commit + push branch. + # printf '%b' разворачивает \n в реальные newlines внутри одной shell + # строки — избегаем multi-line YAML quoting issues (literal block scalar + # ломается на unindented continuation lines). git add charts/ordinis/values-prod.yaml - git commit -m "chore(release): bump prod image к ${IMAGE_TAG} - -Auto-generated ordinis-CI release pipeline. - -Source: ${CI_PROJECT_URL}/-/commit/${CI_COMMIT_SHA} -Pipeline: ${CI_PIPELINE_URL} -Tag: ${VERSION} -" + COMMIT_MSG=$(printf '%b' "chore(release): bump prod image к ${IMAGE_TAG}\n\nAuto-generated ordinis-CI release pipeline.\n\nSource: ${CI_PROJECT_URL}/-/commit/${CI_COMMIT_SHA}\nPipeline: ${CI_PIPELINE_URL}\nTag: ${VERSION}") + git commit -m "$COMMIT_MSG" git push origin "$BRANCH" # 5. Create MR через GitLab API. - # description через --data-urlencode сохраняет переносы строк. - MR_DESC="Auto-generated ordinis CI release pipeline после semantic-release ${VERSION}. - -**Что меняется:** \`image.tag\` в \`charts/ordinis/values-prod.yaml\` → \`${IMAGE_TAG}\` (immutable SHA tag, гарантирует что ноды pull'нут именно этот digest). - -**Source:** -- Ordinis commit: ${CI_PROJECT_URL}/-/commit/${CI_COMMIT_SHA} -- Tag pipeline: ${CI_PIPELINE_URL} - -**Deploy после merge:** infra-pipeline auto-катит helm upgrade в \`ordinis-prod\` namespace через manual-gated \`deploy-prod\` job (как обычно). - -**Verify checklist:** -- [ ] CI 'helm-lint' pipeline зелёный (validate charts) -- [ ] После merge play 'deploy-prod' job -- [ ] \`curl /api/v1/version\` показывает \`commit: ${CI_COMMIT_SHORT_SHA}\` и \`tag: ${VERSION}\` -- [ ] Pods Running 2/2 на обоих writer replicas -- [ ] Все 5 deployment'ов на одном digest (no split-brain)" + MR_DESC=$(printf '%b' "Auto-generated ordinis CI release pipeline после semantic-release ${VERSION}.\n\n**Что меняется:** \`image.tag\` в \`charts/ordinis/values-prod.yaml\` → \`${IMAGE_TAG}\` (immutable SHA tag, гарантирует что ноды pull'нут именно этот digest).\n\n**Source:**\n- Ordinis commit: ${CI_PROJECT_URL}/-/commit/${CI_COMMIT_SHA}\n- Tag pipeline: ${CI_PIPELINE_URL}\n\n**Deploy после merge:** infra-pipeline auto-катит helm upgrade в \`ordinis-prod\` namespace через manual-gated \`deploy-prod\` job (как обычно).\n\n**Verify checklist:**\n- [ ] CI 'helm-lint' pipeline зелёный (validate charts)\n- [ ] После merge play 'deploy-prod' job\n- [ ] \`curl /api/v1/version\` показывает \`commit: ${CI_COMMIT_SHORT_SHA}\` и \`tag: ${VERSION}\`\n- [ ] Pods Running 2/2 на обоих writer replicas\n- [ ] Все 5 deployment'ов на одном digest (no split-brain)") curl -sS --fail \ --request POST \