前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Screwdriver 开源持续交付平台体验之旅

Screwdriver 开源持续交付平台体验之旅

作者头像
donghui
发布2020-03-03 16:00:22
8880
发布2020-03-03 16:00:22
举报
文章被收录于专栏:donghui的博客donghui的博客

Screwdriver 是一个为持续交付而设计的开源的构建平台。

其主要开发语言是 JavaScript。

2020年2月19日,CDF(持续交付基金会) 宣布 Screwdriver 作为 CDF 的第一个孵化项目加入 CDF。

在看到这个新闻时,对 Screwdriver 充满好奇,于是在本地体验了下 Screwdriver。

官方对于 demo 体验,提供了开箱即用的友好方式(SD-In-a-box),让我们开始 Screwdriver 体验之旅吧~

本地安装 Screwdriver

最低要求:

  • Python 2.7
  • 适用于Mac的Docker 1.12+
  • Docker Compose 1.8.1+
  • Mac OSX 10.10以上

在终端中运行以下命令,以在本地启动一个 Screwdriver 集群。

python <(curl -L https://git.io/sd-in-a-box)

该命令将运行一个脚本,该脚本将在本地创建一个 Docker Compose 文件,并使用生成的 JWT 和用户提供的 Oauth 客户端 ID 和密码以 Oauth 凭据完成。如果选择 yes,则 Docker 随后将拉取 Screwdriver API,UI 和日志存储镜像,以在本地调出整个 Screwdriver 实例。写入数据库的所有数据都将存储在 data 目录中。

脚本输出截图如下:

拉取 docker 镜像相对比较花时间,等出现下面截图中的 Lanuched!说明安装成功。

要注意的是:如果 ip 发生变化,需要更新 dokcer-compose.yml 和 SCM OAuth 应用;In-a-box 不支持 Webhook(包括 PullRequest )触发构建。

打开 Screwdriver web 界面,截图如下:

登陆并创建第一个 Pipeline

登陆之后,可以看到顶端导航栏有三列:Collections、Tools 以及 Create Pipeline 按钮,截图如下:

创建 Pipeline,只需要填写 git 地址,我这里 fork 了官方用于演示的仓库( https://github.com/screwdriver-cd-test):

点击 Start 启动流水线,运行截图如下:

Screwdriver 特性体验

在 Screwdriver 中,如果要创建 Pipeline,只需要填写 git 仓库地址,在 git 仓库需要包含一个文件:screwdriver.yaml

关于 screwdriver.yaml 的说明,请参考: https://docs.screwdriver.cd/user-guide/configuration/index

在这个文件中有 jobs、steps 等区块,工作流中定义了这些 job 的执行顺序。

工作流功能比较强大:

  • 支持 job 串行
  • 支持 job 并行
  • 支持 job 独立运行
  • 支持 Pipeline 上下游远程触发(Remote Trigger)
  • 支持参数化构建

此外,还支持与 Slack、SonarQube 等集成

下面对上述场景截图说明

job 串行(A—>B—>C),Pipelibe 运行情况截图如下:

job 并行(B、C 并行),Pipelibe 运行情况截图如下:

job 独立运行(job B 独立于 Pipeline 运行,需要手动触发),Pipelibe 运行情况截图如下:

Pipeline 上下游远程触发(job B 需要外部 Pipeline 触发),Pipelibe 运行情况截图如下:

参数化构建,Pipelibe 运行情况截图如下:

丰富多彩的 Loading... 提示语

此外,使用过程中发现 Loading.. 无处不在,并且 Loading 时间稍微有点延迟,比较有点意思的是 Loading.. 下方提示语丰富多彩

Screwdriver 资源

了解 Screwdriver 更多信息,请访问:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本地安装 Screwdriver
  • 登陆并创建第一个 Pipeline
  • Screwdriver 特性体验
  • 丰富多彩的 Loading... 提示语
  • Screwdriver 资源
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档