云效流水线 Flow测评报告

本文涉及的产品
云效 DevOps 流水线,基础版人数 不受限
云效 DevOps 测试管理,基础版人数 不受限
云效 DevOps 代码管理,基础版人数 不受限
简介: 该内容是一位维护人员对于CI/CD工具Flow的使用体验和改进建议。他提到Flow对新人友好,但主要与云效和Codeup关联性强。他建议:1) YML和可视化编排能互相转换;2) 流水线部署时可按参数选择主机组;3) Webhook触发器应可修改或重置地址以应对人事变动;4) 优化部署脚本执行,解决如`#!/bin/bash`导致的执行问题;5) 强化部署脚本模板和检查机制;6) 解决偶现的node.js打包异常。


目前角色是维护人员,之前使用过Jenkins、coding、建木等工具,对CI/CD工具目前就是要求高效,便捷的部署。

从目前使用上来看flow在新人上手方便还是比较简单。

从目前使用看flow如果没有与云效捆绑在一起,几乎只有少量的使用,主要是与codeup的关联性非常强,因为使用了云效才选择flow使用的。

同时对flow有如下的一些建议。

  1. 建议YMAL化编排与可视化编排直接可以进行转换
  2. 建议同一个流水线部署时可以根据参数确定部署在那个主机组下面

比如默认某个主机组,但是手动运行选择某个主机组,或者Webhook传递某个参数确定使用那个主机组进行部署,简单点就是脚本在不同的环境变量下部署不同的主机组

比如预发环境部署A主机组(默认),正式环境部署B主机组。

3. 建议流水线触发设置中Webhook触发可以修改或者重置(随机生成)触发地址

因为目前webhook无法修改,这个就涉及到如果有人事变动等情况发生,可能需要新建一个流水线,之前的流水线只能作废。

4. 加强流水线部署脚本的执行或者编译,目前就遇到一个疑惑,比如在主机有个test.sh 脚本包含如下代码

  脚本方法中 如果不加上#!/bin/bash这一行通过部署脚本执行,就不能创建文件夹,但是去掉这一行,直接在主机上运行 sh test.sh rename 却可以创建文件夹

#!/bin/bash
source /etc/profile
path=$(cd `dirname $0`; pwd)

rename(){
    #!/bin/bash 如果不加这一行通过部署脚本执行,就不能创建文件夹,但是去掉这一行,直接在主机上运行 sh test.sh rename 却可以创建文件夹
    mkdir -p $path/backup
    ymd=$(date +%F_%H%M)
    jar_name=$(find .  -maxdepth 1  -name *.jar)
    sudo -u www mv ${jar_name} $path/backup/${jar_name}."${ymd}"
}


case "$1" in
    rename)
        rename
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|status|rename}"
        RETVAL=1
esac
  1. 加强部署脚本模板,或者提供模板市场。同时可以新增部署检查模板市场,比如部署脚本执行后,程序是否如期运行检查通知等。
  2. 目前有时会出现node.js打包异常问题,比如package.json 未更改,偶尔打包会出现如下异常,只编辑工作目录后,就可以正常打包部署(其他未做任何更改,包括代码)        image.png                        
相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
SVN版本控制系统
SVN是现在软件开发之中的主流软件版本控制工具,在工作之中利用SVN可以有效的解决多人开发的代码管理问题,本课程将为读者讲解SVN服务器的配置以及基于MyEclipse的SVN客户端插件的配置与使用,并且在讲解之中着重讲解了冲突的产生于解决。
目录
相关文章
|
8天前
|
运维 Kubernetes Java
阿里云云效操作报错合集之npm包已经发布到了制品仓库,但流水线中拉取依赖时出现404错误,该如何排查
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
阿里云云效操作报错合集之npm包已经发布到了制品仓库,但流水线中拉取依赖时出现404错误,该如何排查
|
2天前
|
存储 弹性计算 监控
为什么要在云效平台创建发布流水线并将源代码编译环节替换为从OSS下载构建部署物
为什么要在云效平台创建发布流水线并将源代码编译环节替换为从OSS下载构建部署物
|
8天前
|
存储 缓存 运维
阿里云云效操作报错合集之流水线在部署到函数计算时,出现报错:"ConcurrentUpdateError",该如何处理
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
8天前
|
域名解析 运维 Java
阿里云云效操作报错合集之流水线构建过程中出现了实时查询异常,该怎么解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
8天前
|
敏捷开发 Shell 测试技术
阿里云云效产品使用合集之如何用私有构建机运行shell命令打出的镜像作为下一个阶段的入参
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
8天前
|
持续交付 开发工具 对象存储
阿里云云效产品使用合集之构建物如何上传到阿里云OSS
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
8天前
|
敏捷开发 Java Shell
阿里云云效产品使用合集之构建并将依赖包放置到私服的过程该如何进行
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
8天前
|
敏捷开发 Kubernetes 测试技术
阿里云云效产品使用合集之如何通过内网推送镜像到镜像仓库
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
8天前
|
敏捷开发 Java API
阿里云云效产品使用合集之如何使用JDK 21进行打包
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
8天前
|
敏捷开发 Java 持续交付
阿里云云效产品使用合集之S{DATETIME}是否可以使用其他变量
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。

相关产品