`

基于jenkins动态化参数化构建

阅读更多

       由于上一篇是通过触发git操作来实现自动化构建和发布,回滚和发布不太可控,可以采用动态参数获取发布分支的方式方便发布和回滚

目标: 选择合适版本发布到合适的服务器环境(目前分支策略是,提测时创建发布分支release- date  +%Y%m%d-%H%M%S  )

1.安装插件 Dynamic Parameter Plug-in

2.设置 参数化构建过程

3.使用groovy脚本动态获取发布分支

PHP

def ver_keys = [ 'bash', '-c', 'cd /gitrepos/project1; git pull>/dev/null; git branch -a|grep remotes|grep release|cut -d "/" -f3|sort -r |head -10 ' ]
ver_keys.execute().text.tokenize('\n')
其他方式参考: http://birdinroom.blog.51cto.com/7740375/1404930

4.构建脚本

PHP

echo $release_version
echo $deploy_server
case $deploy_server in
test)
            	 echo "This server is $deploy_server -----test enviroment"
             cd /gitrepos/project1/
             git checkout $release_version
             git pull origin $release_version
             rsync -avH --delete --progress  --exclude=robots.txt --exclude=.gitignore  --exclude=.git --exclude=.DS_Store --exclude="*.tar"    /gitrepos/project1/  /gitrepos/project1/               
                    ;;
            prod)
            echo "This server is $deploy_server  ------production enviroment"
            cd  /gitrepos/project1/
            git checkout $release_version
            git pull origin $release_version
            rsync -avH --delete --progress  --exclude=robots.txt --exclude=.gitignore  --exclude=.git --exclude=.DS_Store --exclude="*.tar"  '-e ssh -p 22000' /gitrepos/project1/  www@node1.simlinux.com:/gitrepos/project1/ 
        ;;
               *)
               	 exit
                    ;;
esac

5.测试

分享到:
评论

相关推荐

    Jenkins参数化构建指导教程(看一篇就够了).docx

    ### Jenkins参数化构建指导教程 #### 一、引言 在持续集成(CI)与持续部署(CD)的实践中,Jenkins作为一款流行的自动化工具,提供了丰富的插件支持,其中参数化构建是其核心功能之一。通过参数化构建,我们可以灵活...

    Jenkins高级篇之Pipeline技巧篇-2-如何处理多个参数化变量.rar

    本篇文章将深入探讨如何在Jenkins Pipeline中管理多个参数化变量,从而提高自动化构建的灵活性和可维护性。 1. **参数化构建** Jenkins的参数化构建功能允许用户在执行构建之前输入特定的值。这些参数可以是文本、...

    Jenkins项目实战之-Android基于Gradle参数化打不同环境安装包(二).rar

    在这里,我们将利用Gradle的参数化构建功能,这意味着我们可以传递参数到构建过程中,比如环境变量,然后根据这些参数动态调整构建配置。 1. **配置Jenkins作业**: - 创建新的Jenkins作业,选择“自由风格项目”...

    利用jenkins实现不同条件下执行不同的构建步骤.docx

    在 "General" 部分,勾选 "参数化构建过程"。这样,我们可以定义构建过程中的输入参数,这些参数可以影响构建步骤的执行。例如,我们可以添加一个布尔类型的参数 "IS_PACKAGE",用于决定是否执行特定的构建步骤。 ...

    利用jenkins实现git不同分支的构建.docx

    在配置页面的“General”模块,勾选“参数化构建”,这使得我们可以为Job提供动态输入参数,从而控制构建过程。接下来,来到“源码管理”模块。在这里,我们设置Git作为源码管理工具,并在“Branches to build”字段...

    Jenkins项目实战之-Android基于Gradle参数化打不同环境安装包(一).rar

    在本教程中,我们将深入探讨如何使用Jenkins和Gradle在Android项目中实现参数化构建,以便根据不同的环境(如开发、测试和生产)生成不同的安装包。这将帮助我们有效地管理和部署应用的不同版本,确保每个环境都有...

    Jenkins dynamic parameter插件+依赖插件,有安装说明

    本压缩包文件包含的“Jenkins dynamic parameter插件”是 Jenkins 社区开发的一款增强型插件,它的主要作用是在构建参数化过程中提供动态参数化的选项。安装此插件后,Jenkins 用户可以在构建配置页面添加新的动态...

    Tomcat基于Jenkins-Ansible的自动发布-1.pdf

    - **Build with Parameters**: 必须,支持参数化构建。 - **Git Plugin**: 必须,支持从Git仓库拉取代码。 - **JDK Parameter Plugin**: 可选,根据实际需求选择是否安装。 - **Mask Passwords Plugin**: 可选,...

    jenkins-plugins.zip

    这个插件扩展了 Jenkins 的参数化构建功能,允许创建更复杂的参数类型,如复选框、下拉列表和文本框等。这些参数可以在构建触发时让用户选择,从而实现动态构建逻辑,比如基于用户选择的不同值执行不同的构建步骤。...

    jenkins持续集成构建平台使用指南.docx

    2. **参数化构建**:允许在构建过程中动态传递参数,提高构建的灵活性。文档列举了几种常用的参数类型,如`Choice`参数、`Dynamic Parameter`参数等。 3. **分布式构建**:为了提高构建效率,文档建议采用Master-...

    Jenkins高级篇之Pipeline技巧篇-4-根据参数传入条件控制执行不同stage.rar

    参数化构建是Jenkins中的一个重要特性,允许用户在触发构建时输入特定的值。这些参数可以是文本、选择列表、密码等,使得构建可以根据不同的输入进行定制。 三、条件语句 在Pipeline中,我们可以通过条件语句来决定...

    Jenkins教程30-42

    参数化构建允许你在运行构建时传入动态参数,如环境变量或选择特定分支,以实现更灵活的构建策略。 3. **邮件服务整合**:34. 整合邮件服务-01-Jenkins配置邮箱服务.mp4 和 35. 整合邮件服务-02-项目构建结果发送...

    4.Jenkins持续集成Maven讲解

    - 使用参数化构建,根据需要动态配置构建参数。 - 配置Jenkins slaves(节点),在多台机器上并行执行构建,提高效率。 - 使用Jenkins的蓝绿部署或滚动更新策略,降低服务中断风险。 通过Jenkins和Maven的集成,...

    Jenkins_NAME

    3. **自动化脚本**:构建名称也可以用作自动化脚本中的参数,实现更灵活的构建策略。 4. **集成测试**:构建名称可用于标识特定构建对应的集成测试结果,帮助开发团队及时发现并修复问题。 #### 二、Jenkins构建...

    基于Python的Jenkins的二次开发操作

    在实际应用中,基于Python的Jenkins二次开发可以实现自动化部署、监控、报告生成等多种功能。例如,你可以编写一个Python脚本来自动拉取代码、构建项目、部署服务,并在出现问题时发送通知。通过结合其他Python库,...

    Packt Mastering Jenkins

    书中会讲解各种作业类型,如自由风格项目、Maven项目和多配置项目,以及如何通过参数化构建来实现动态的构建触发。 在持续集成的实践中,自动化的构建和测试是关键环节。《Mastering Jenkins》会深入讨论如何集成...

    jenkins plugin publish-over-ssh_1.22

    6. **集成其他Jenkins插件**:publish-over-SSH可以与其他Jenkins插件无缝集成,如使用Jenkins的参数化构建来动态指定传输的文件或执行的命令。 在实际使用中,为了确保安全,通常会使用SSH密钥对进行身份验证,而...

    Jenkins集成Jmeter进行Web自动化性能测试

    Jenkins集成Jmeter进行Web自动化性能测试的核心知识点涵盖了Jmeter和Jenkins的安装、配置,以及如何结合badboy工具进行脚本录制,并最终实现自动化性能测试的流程。 一、Jmeter的安装与配置 首先,Jmeter是一种开源...

    最全jenkins插件

    Jenkins 是一款开源的持续集成(Continuous Integration, CI)服务器,用于自动化各种软件开发过程,如构建、测试和部署。它具有丰富的插件生态系统,能够扩展其功能以满足不同项目需求。在您提供的标题和描述中,...

Global site tag (gtag.js) - Google Analytics