V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ayanmw
V2EX  ›  DevOps

关于 Jenkins 的参数化构建,有没有更好的方式?

  •  
  •   ayanmw · 2019-11-05 13:04:29 +08:00 · 5963 次点击
    这是一个创建于 1836 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前 jenkins 的方式是 你配置什么就显示什么,而且弱到爆:

    1 choice 是下拉方式,怎么搞成全部显示的方式;

    2 不能根据一个 choice 来显示后续的选项,比如 option-A option-B 我需要使用不同的选项,只要能隐藏不相关的参数就好了,但是貌似 jenkins 不支持;

    3 无法动态展示参数,有一些插件比如 list git branch parameter, list filesystem ,我就希望能够提前运行我写的 shell,然后返回数组 (比如选择一个 scp/sftp/ftp 的远程文件 作为参数) ,你给我展示出来 这样 给你选择,但是 jenkins 没这样的插件或不支持;

    4 默认居然只允许一个项目只有一个版本库, 要么全 git,要么全 svn? 我有需求是 从 svn 拷贝到 git,或者反向操作的部分,只能 shell 来做;
    10 条回复    2021-02-22 09:31:33 +08:00
    ayanmw
        1
    ayanmw  
    OP
       2019-11-05 13:09:25 +08:00
    ps: 我司是做 mmo 游戏的,项目基本是 server.git client.git design.svn,而且策划要经常修改配置的,版本出的特别勤快; 我服务器用 go 的,还好,客户端就麻烦,H5 的,服务器多,客户端还比较大,git 十几个 GB,出包 1.8GB;

    jenkins 仅仅作为前端来用了, 全靠我写的脚本 和 提前部署好的环境来快速发布 部署了~
    tomczhen
        2
    tomczhen  
       2019-11-05 13:13:50 +08:00 via Android
    太复杂的需求可以自己做页面调用 Jenkins API,或者直接自己开发插件。记得可以用
    dif
        3
    dif  
       2019-11-05 13:41:24 +08:00
    可以啊,Jenkins 有个插件支持参数的联动 Active Choices,然后写点 Groovy Script 判断下即可。
    mritd
        4
    mritd  
       2019-11-05 13:59:17 +08:00 via iPhone
    虽然有点跑题,但是我真的推荐 gitlab ci
    ayanmw
        5
    ayanmw  
    OP
       2019-11-05 14:34:07 +08:00
    @dif 感谢,这个插件 貌似可用,回头研究下~ 参数其实挺多的,组合的情况都可能有,为了效率,有时候就要选择适当的效率,而不是全部打包这种;
    binfengxy
        6
    binfengxy  
       2019-11-05 19:22:44 +08:00 via Android
    @mritd 有没有代码看看
    mritd
        7
    mritd  
       2019-11-05 19:33:14 +08:00
    @binfengxy #6 https://mritd.me/2017/11/28/ci-cd-gitlab-ci/ 17 年的,不过现在没多大变动
    autotesting
        8
    autotesting  
       2019-11-05 22:47:42 +08:00
    @dif 我也准备推荐这个插件的。只是这个插件不支持 pipeline 的方式使用。
    tiancaiyong
        9
    tiancaiyong  
       2020-04-17 14:30:14 +08:00
    @autotesting 挖个坟。支持 pipeline,我就在用。
    autotesting
        10
    autotesting  
       2021-02-22 09:31:33 +08:00
    @tiancaiyong 这个支持也会有问题,比如你的改动需要生效的话,需要先提交完代码,然后手动刷新一下一个新的构建,重新拉取代码才可以吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5375 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 07:00 · PVG 15:00 · LAX 23:00 · JFK 02:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.