
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
This repository contains shell (sh) scripts that assist in implementing a release management strategy that is based on one release branch per minor version.
In this strategy, the master branch contains the latest & greatest code, and branches are created for each minor version (vx.y) and all patches for that release go into its minor branch.
TL;DR: This is a minor-release-per-branch strategy, and all that the scripts do is manipulate versions, create release commits & tags, and push so that your CI/CD process can actually perform releases based on branch & tag names. You can override certain defaults; see the
release-xxxscripts for more information, or issue./release-xxx --helpto get usage information.
We currently support release management for
release-chart)Dockerfile's LABEL directive with a version label (release-image)codefresh.yml (release-image-codefresh)release-nodejs) using package.jsonVERSION file (by any name)If you need to support other project types, see below for developer information.
master is pre (ie, 1.0.0-pre.0), and is not yet configurable.rc for "release candidate" (ie, 1.0.0-rc.0), and is not yet configurable.master branch always contains the latest & greatest code line. The name of this branch is configurable.origin, but is configurable.git cherry-picked into your master branch, or even backported to prior release branches.git.master branch.
0.1.0-pre.0.0, like 1.0.0-pre.0 or whatever you need.master with the command ./release-xxx pre in the master branch.
master branch with ./release-xxx rc.
vx.y where x is your master branch's current major version and y is the minor version. The initial version in the vx.y branch will have the suffix -rc.0, which will be released, then it will be immediately bumped to -rc.1 in preparation for your next release candidate.master; git cherry-pick is a simple tool with which to do that../release-xxx minor.
vx.y.0, and the script will bump your prerelease number in the release branch to x.y.1-rc.0.master as you see fit../release-xxx patch or prereleases with ./release-xxx rc.master for your next minor release, vx.z where z is y + 1.You need to have a Unix-like system with git & docker installed.
You can even reference the raw script content in your own scripts in order to stay up to date if you'd like to, piping them to sh for execution (if you trust doing that):
$ VERSION=master \curl -sSL \ https://raw.githubusercontent.com/SciSpike/release-mgmt/$VERSION/release-xxx | \ sh -s -- pre # or rc, minor, ...`
You can also forgo all dependencies except docker and use this strategy via its Docker containers, as these scripts have been Dockerized under the scispike organization on [***]
For example, see https://hub.docker.com/r/scispike/release-nodejs & similar Docker repositories.
All you really have to do is map a volume containing the root of your git repo to /gitrepo and set the EMAIL environment variable.
You might also want to include other environment variables supported by git; see https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables.
If your current directory is the root of your git repo:
$ docker run --rm -i -v "$PWD:/gitrepo" -e EMAIL=you@example.com scispike/release-xxx pre # or rc, minor, patch, ...
Just replace xxx above with image-codefresh, chart, nodejs, version, or whatever else we support in the future.
test/
test/test-all.shrelease-xxx, xxx.Dockerfile, VERSION-xxx, & test/xxx from an existing release script to make a new one, then remember to
test/test-all.sh to add your new type to those testedscispike/release-xxx similar to an existing one./release xxx level where xxx is your type (nodejs, version, ...) & level is the release level (pre, rc, ...)NOTE: this is a monorepo, so tags & branches are prefixed with types in order to distinguish them from one another! The Docker Hub build settings for the various repositories leverage this to only publish what's necessary for that respective repository.
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务