Screwdriver是一个自包含、可插拔的服务,帮助你使用最新的容器化技术构建、测试和持续交付软件。本镜像提供其API服务器组件,是Screwdriver持续交付服务的核心部分。
Screwdriver起源于2012年雅虎内部一个简化Jenkins交互的临时项目。随着构建量增加,Jenkins在大规模运行时的稳定性和可行性不足逐渐显现。2016年,我们基于最佳编码实践和持续集成/持续部署目标,从零开始重写了这个项目并开源。Screwdriver与执行器和源代码管理系统无关,你可以选择适合自己需求的插件或构建自定义插件。它完全免费开源,团队正在积极维护代码。
更多关于Screwdriver的信息,请访问***网站。
此API预加载了16个资源插件:
三种数据存储选项:
sequelize)三种执行器选项:
k8s)docker)nomad)三种源代码管理(SCM)选项:
github)gitlab)bitbucket)使用Screwdriver需要以下前提条件:
bash$ git clone ***: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和日志存储)供你试用。请按照[***]
此Chart可引导整个Screwdriver生态系统以及nginx入口控制器。
Screwdriver已默认大多数配置,但你可以使用local.yaml或环境变量覆盖默认值。
要继续设置,请遵循集群管理说明。
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 *** ***
环境变量覆盖示例:
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
从screwdriver-cd-test将functional-*仓库 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许可证授权。详见LICENSE文件。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429