如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Screwdriver是一个自包含、可插拔的服务,帮助你使用最新的容器化技术构建、测试和持续交付软件。本镜像提供其API服务器组件,是Screwdriver持续交付服务的核心部分。
Screwdriver起源于2012年雅虎内部一个简化Jenkins交互的临时项目。随着构建量增加,Jenkins在大规模运行时的稳定性和可行性不足逐渐显现。2016年,我们基于最佳编码实践和持续集成/持续部署目标,从零开始重写了这个项目并开源。Screwdriver与执行器和源代码管理系统无关,你可以选择适合自己需求的插件或构建自定义插件。它完全免费开源,团队正在积极维护代码。
更多关于Screwdriver的信息,请访问官方网站。
此API预加载了16个资源插件:
三种数据存储选项:
sequelize)三种执行器选项:
k8s)docker)nomad)三种源代码管理(SCM)选项:
github)gitlab)bitbucket)使用Screwdriver需要以下前提条件:
bash$ git clone git@github.com:screwdriver-cd/screwdriver.git ./ $ npm install $ vim ./config/local.yaml # 配置说明见下文 $ npm start info: Server running at http://localhost:8080
bash$ vim ./local.yaml # 配置说明见下文 $ docker run --rm -it --volume=`pwd`/local.yaml:/config/local.yaml -p 8080 screwdrivercd/screwdriver:stable info: Server running at http://localhost:8080
我们的in-a-box脚本可在本地启动完整的Screwdriver实例(UI、API和日志存储)供你试用。请按照https://github.com/screwdriver-cd/in-a-box#screwdriver-in-a-box%E7%9A%84%E8%AF%B4%E6%98%8E%E6%93%8D%E4%BD%9C%E3%80%82
https://github.com/screwdriver-cd/screwdriver-chart%E5%8F%AF%E5%BC%95%E5%AF%BC%E6%95%B4%E4%B8%AAScrewdriver%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E4%BB%A5%E5%8F%8Anginx%E5%85%A5%E5%8F%A3%E6%8E%A7%E5%88%B6%E5%99%A8%E3%80%82
Screwdriver已默认大多数配置,但你可以使用local.yaml或环境变量覆盖默认值。
要继续设置,请遵循https://github.com/screwdriver-cd/guide/blob/master/docs/cluster-management/configure-api.md#managing-the-api%E3%80%82
local.yaml覆盖示例:
yamlexecutor: plugin: k8s k8s: options: kubernetes: host: kubernetes.default token: this-is-a-real-token launchVersion: stable scms: github: plugin: github config: oauthClientId: totally-real-client-id oauthClientSecret: another-real-client-secret secret: a-really-real-secret username: sd-buildbot email: dev-null@screwdriver.cd
环境变量覆盖示例:
bash$ export K8S_HOST=127.0.0.1 $ export K8S_TOKEN=this-is-a-real-token $ export SECRET_OAUTH_CLIENT_ID=totally-real-client-id $ export SECRET_OAUTH_CLIENT_SECRET=another-real-client-secret
所有可能的环境变量定义在此处。
bashnpm test
注意:运行所有单元测试时可能会遇到内存问题。你可以在~/.bashrc文件中添加以下行,确保有足够内存运行测试:
bashexport NODE_OPTIONS=--max_old_space_size=4096
从https://github.com/screwdriver-cd-test%E5%B0%86%60functional-*%60%E4%BB%93%E5%BA%93 Fork 到你的组织。
使用.func_config
在Screwdriver API文件夹根目录添加.func_config,包含测试用的用户名、GitHub令牌、访问密钥、主机和组织:
GIT_TOKEN=你的GitHub令牌 SD_API_TOKEN=你的SD API令牌 SD_API_HOST=你的SD API主机 SD_API_PROTOCOL=SD API协议 // 例如PROTOCOL=http;默认是https TEST_ORG=你的测试组织 TEST_USERNAME=你的GitHub用户名 TEST_SCM_HOSTNAME=你的测试SCM主机名 // 例如TEST_SCM_HOSTNAME=mygithub.com;默认是github.com TEST_SCM_CONTEXT=你的测试SCM上下文 // 例如TEST_SCM_CONTEXT=bitbucket;默认是github
使用环境变量
设置环境变量:
bash$ export GIT_TOKEN=你的GitHub令牌 $ export SD_API_TOKEN=你的SD API令牌 $ export SD_API_HOST=你的SD API主机 $ export SD_API_PROTOCOL=SD API协议 $ export TEST_ORG=你的测试组织 $ export TEST_USERNAME=你的GitHub用户名 $ export TEST_SCM_HOSTNAME=你的测试SCM主机名 $ export TEST_SCM_CONTEXT=你的测试SCM上下文
然后运行Cucumber测试:
bashnpm run functional
要开始为Screwdriver贡献代码,请查看我们的指南以及开始修改的建议,详见贡献指南。
代码采用BSD 3-Clause许可证授权。详见https://github.com/screwdriver-cd/screwdriver/blob/master/LICENSE%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务