一键导入
forge-cicd-docker-deploy
Build GitHub Actions CI/CD pipelines, Docker multi-stage builds, and deploy-verify patterns for VPS af-forge.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Build GitHub Actions CI/CD pipelines, Docker multi-stage builds, and deploy-verify patterns for VPS af-forge.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Produces a seven-repository federation release manifest proving tag, commit, CI, artifact, and deployed-runtime parity. Never overwrites existing tags — issues corrected tags when drift is detected. Outputs signed JSON manifest with per-repo evidence chain.
High-level governance layer for pull request review across the federation. Ensures separation of duties, required signers, and constitutional compliance before merge. This is the **policy layer** that decides who must approve. The **checklist** lives in `github-pr-review`; do not duplicate it here.
Controller skill for repository intelligence across the arifOS Federation. Exposes 9 modes (inventory, map, delta, pr_review, ci_diagnose, issue_triage, security, cross_repo_impact, release_audit) and orchestrates existing GitHub micro-skills rather than duplicating their logic. Every mode outputs a minimum evidence envelope with repo, ref, commit_sha, working_tree, tag_delta, changed_files, critical_paths, tests, ci, security, contract_impacts, runtime_probe, risk_tier, proposed_action, rollback, evidence_class, and unknowns.
End-of-session seal ritual for Grok/AAA agents: inventory done vs open, write forge_work receipt, update session-state and daily memory, hand off next-agent INIT prompt. Use when: seal session, end of turn, session seal, handoff, close session, DITEMPA seal.
Wire, verify, and operate federation Session Capability Tokens (SCT) across arifOS mint/validate and organ ingress gates (A-FORGE, GEOX, WEALTH, WELL, AAA). Use when: SCT gate, session_token, federation_sct, SCT_AMBIGUOUS, tool_authority, FORGE_SCT_REQUIRE_MUTATE, 65-case matrix, decision event.
Close remaining Seal-A gates after P0 proof/identity/SCT/T3a work. Use when: Seal-A, stage 000, SE stage engine, SOT v2, BOOT, T3a binding, free_nonce, constitutional_grade, remaining seal tasks.
| id | FORGE-cicd-docker-deploy |
| name | FORGE-cicd-docker-deploy |
| version | 1.0.0-2026.07.17 |
| description | Build GitHub Actions CI/CD pipelines, Docker multi-stage builds, and deploy-verify patterns for VPS af-forge. |
| owner | A-FORGE |
| risk_tier | high |
| floor_scope | ["F1","F2","F4","F11","F12","F13"] |
| autonomy_tier | T2 |
DITEMPA BUKAN DIBERI — Forged, Not Given.
Build GitHub Actions CI/CD pipelines, Docker multi-stage builds, and deploy→verify patterns for VPS af-forge. Cover test → build → deploy → smoke-test → rollback lifecycle.
/opt/<organ>/app, systemd restart, health verifyforge_infra_guardian or hostinger-vpspostgres-schema-design| Floor | Application |
|---|---|
| F1 AMANAH | Deploys are reversible — keep previous release, support rollback |
| F2 TRUTH | CI must pass lint + typecheck + test before deploy — no skip flags |
| F4 CLARITY | One Dockerfile per organ, one workflow per deploy target |
| F11 AUDIT | Every deploy logged to VAULT999 with commit hash + image digest |
| F12 INJECTION | Docker images scanned for CVEs before production push |
| F13 SOVEREIGN | Production deploy after green tests is T2 ANNOUNCE; broken tests = 888_HOLD |
# .github/workflows/deploy.yml — canonical pattern
name: Deploy
on:
push:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci && npm run lint && npm test
build:
needs: test
runs-on: ubuntu-latest
steps:
- uses: docker/build-push-action@v5
with:
push: true
tags: ghcr.io/ariffazil/${{ matrix.organ }}:${{ github.sha }}
deploy:
needs: build
runs-on: ubuntu-latest
steps:
- run: |
ssh af-forge "
cd /opt/${{ matrix.organ }}/app && \
git pull && \
systemctl restart ${{ matrix.organ }} && \
sleep 3 && \
curl -sf http://localhost:${{ matrix.port }}/health
"
# Multi-stage Dockerfile pattern
FROM node:22-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM node:22-alpine AS production
WORKDIR /app
COPY --from=build /app/dist ./dist
COPY --from=build /app/node_modules ./node_modules
HEALTHCHECK --interval=30s CMD node dist/health.js
USER node
CMD ["node", "dist/server.js"]
# Deploy → verify sequence
rsync -az --delete /root/<organ>/ /opt/<organ>/app/
systemctl restart <organ>
sleep 3
curl -sf http://localhost:<port>/health | jq .status
# Behavior smoke test: call one tool and verify expected output
latest tag only (must use commit SHA or date stamp)