jenkins选择不同构建环境

这篇具有很好参考价值的文章主要介绍了jenkins选择不同构建环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、业务在有些情况下需要选择不同的环境来构建服务,使用同一套代码读取不同的配置
2、jenkins使用如下配置即可实现构建环境的选择
2.1、配置构建选项
jenkins选择不同构建环境
2.2、配置构建tag
jenkins选择不同构建环境
2.3、选择构建时间参数
jenkins选择不同构建环境
3、使用如下pipeline实现jenkins构建环境选择

pipeline {
    agent any
	environment {
	    server_name = "phl-clean-service"
        image_name = "192.168.122.150/risk-test/phl-clean-service:${date}"
     }

    parameters {
        choice(
            choices: ['test', '190'],
            description: '选择构建环境',
            name: 'ENVIRONMENT'
        )
    }

    stages {
        stage('Printenv') {
           steps {
                script{
                  sh 'printenv'
           }
       }
	 }

        stage('pull code') {
            steps {
                checkout([$class: 'GitSCM', 
                branches: [[name: "${params.TAG}"]], 
                extensions: [], 
                userRemoteConfigs: [[credentialsId: 'xxxxxx', 
                url: 'https://codeup.aliyun.com/62d8eebfdasf87dgd6/hc-risk/hc-risk-phl.git']]])
                updateGitlabCommitStatus(name: env.STAGE_NAME, state: 'success')
                   script{
                       env.BUILD_TASKS = env.STAGE_NAME + "√..." + env.TAB_STR
                   }
            }
        }
        stage('Code Build'){ 
	        steps {
                retry(2) { sh "/opt/maven/bin/mvn   -U -pl risk-clean/clean-service -am -Dmaven.test.skip=true clean package " }
			    updateGitlabCommitStatus(name: env.STAGE_NAME, state: 'success')
                   script{
                       env.BUILD_TASKS += env.STAGE_NAME + "√..." + env.TAB_STR
                }
             }  
         }

        stage('Docker Build') {
            steps {
                script {
                // 根据选择的环境执行不同的构建操作
            if (params.ENVIRONMENT == "test") {
                retry(2) { 
sh '''
docker build  -t "${image_name}" --build-arg projectEnv=${ENVIRONMENT} -f risk-clean/clean-service/Dockerfile .
docker login -urisk-test -pAa123456 192.168.122.150
docker push ${image_name} && docker rmi ${image_name}
''' 
    }
                } else if (params.ENVIRONMENT == "190") {
                retry(2) { 
sh '''
docker build  -t "${image_name}" --build-arg projectEnv=${ENVIRONMENT} -f risk-clean/clean-service/Dockerfile .
docker login -urisk-test -pAa123456 192.168.122.150
docker push ${image_name} && docker rmi ${image_name}
''' 
    }
                } else {
                    echo '未选择有效的环境,请选择'
                }
              }
            }
        }

        stage('Application Deploy'){
	        steps {
                retry(2) { sh 'kubectl --kubeconfig /opt/kubernetes/config set image -n risk-phl deploy/"${server_name}" "${server_name}"="${image_name}"' }
                //retry(2) { echo 'test' }
			    updateGitlabCommitStatus(name: env.STAGE_NAME, state: 'success')
                   script{
                       env.BUILD_TASKS += env.STAGE_NAME + "√..." + env.TAB_STR
                }
             }  
         }

    }

}

4、执行完成后的Pipeline如下
jenkins选择不同构建环境文章来源地址https://www.toymoban.com/news/detail-505421.html

到了这里,关于jenkins选择不同构建环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Jenkins 构建环境指南

    Jenkins 构建环境指南

    目录 Delete workspace before build starts(常用) Use secret text(s) or file(s) (常用) Add timestamps to the Console Output (常用) Inspect build log for published build scans Terminate a build if it\\\'s stuck With Ant Delete workspace before build starts(常用) 在每次构建开始前清空工作空间。这确保了每次构建开始时都

    2024年02月04日
    浏览(10)
  • Jenkins环境部署与任务构建

    Jenkins环境部署与任务构建

    CI/CD 是一种软件开发和交付方法,旨在加速应用程序的开发、测试和部署过程,以提高软件交付的质量和效率。 (1) 持续集成 (CI Continuous Integration): 持续集成是开发团队频繁集成其代码更改的过程。开发者将其代码合并到共享代码库(如Git仓库)后,CI工具(例如Jenkins、Trav

    2024年02月05日
    浏览(12)
  • jenkins分步式构建环境(agent)

    jenkins分步式构建环境(agent)

    root@jenkins:~# netstat -antp|grep 50000 tcp6 0 0 :::50000 ::😗 LISTEN 5139/java 1.52 安装Jenkins root@ubuntu20:~# dpkg -i jenkins_2.414.3_all.deb 配置各种类型的Agent的关键之处在于启动Agent的方式 ◼ JNLP Agent对应着“通过Java Web启动代理”这种方式 ◼ Master与Slave之间建立一个基于HTTPS协力的Web连接 ◼ Sla

    2024年01月19日
    浏览(10)
  • Building Your Team-Jenkins持续构建环境搭建

    工欲善其事,必先利其器。 本文主要总结团队协助中,Jenkins持续构建环境搭建。 下文将分docker环境以及单机环境分别说明 Docker 环境安装 在Linux服务器上安装Docker环境,具体可以参考:https://docs.docker.com/engine/install/ubuntu/ 开放端口号 jenkins工作目录 Docker环境下安装Jenkins 参考

    2024年02月03日
    浏览(10)
  • 【window环境】Jenkins使用gitee构建spring boot项目

    【window环境】Jenkins使用gitee构建spring boot项目

    这里不做详细介绍 下载jdk 安装 配置环境变量 JAVA_HOME 路径到jdk安装根路径 CLASS_PATH ;%JAVA_HOME%lib; path ;%JAVA_HOME%bin;%JAVA_HOME%jrebin; 验证 cmd命令: java -version 因为低版本jenkins插件不好下载。 换成高版本jenkins 要安装jdk11 因为本地安装过jdk不想载安装一个 所以下载了一个免安装

    2024年02月03日
    浏览(36)
  • 快速构建一个 GitLab + Jenkins + Harbor 的云原生 DevOps 环境

    快速构建一个 GitLab + Jenkins + Harbor 的云原生 DevOps 环境

    今天我们要搭建一条怎样的工具链呢?且看效果图: GitLab + Jenkins + Harbor Toolchain Workflow 首先我们需要完成 GitLab、Jenkins 和 Harbor 三个工具的部署; 接着我们需要在 GitLab 上创建一个代码库,并且在 Jenkins 上创建相应的流水线,这个流程最好也自动化(确实可以自动化); 然后

    2024年02月15日
    浏览(13)
  • QT+jenkins window环境实现一键自动化构建打包签名发布

    QT+jenkins window环境实现一键自动化构建打包签名发布

            1.官网下载地址: Jenkins download and deployment,下载最新版本的安装包并安装。安装过程中,会要求你输入端口号并记住。         2.java下载地址:Java Downloads | Oracle,下载最新版本的安装包并安装。         3.浏览器输入网址:127.0.0.1: port, port为端口号,默认8080,安

    2024年02月01日
    浏览(18)
  • Jenkins分布式实现: 构建弹性和可扩展的CI/CD环境!

    Jenkins分布式实现: 构建弹性和可扩展的CI/CD环境!

    Jenkins是一个流行的开源持续集成(Continuous Integration,CI)和持续交付(Continuous Delivery,CD)工具,它通过自动化构建、测试和部署过程,帮助开发团队更高效地交付软件。Jenkins的分布式实现允许将任务分散到多个计算机上执行,从而提高系统的弹性和可扩展性。本文将深入

    2024年02月01日
    浏览(50)
  • springboot gradle kotlin 多模块(或微服务)统一依赖及版本管理和构建不同环境打包task,docker镜像构建task

    springboot gradle kotlin 多模块(或微服务)统一依赖及版本管理和构建不同环境打包task,docker镜像构建task

    在maven里可以在pom.xml中统一定义项目依赖,依赖版本,插件,多环境构建,子模块;定义packaging 为pom类型,各子模块按需引入,并且指定环境profiles构建。 在gradle中也可以实现依赖统一管理,各模块按需引入,区分环境的构建任务。 先上效果图 统一定义依赖,依赖版本,插

    2024年02月04日
    浏览(30)
  • 数据中台系统是一个重要的数字化转型方式之一,它基于现代的大数据处理技术,通过构建统一的数据仓库,将不同来源、格式的数据进行整合、清洗、融合,并提供给业务人员进行分析挖掘的数据集合

    作者:禅与计算机程序设计艺术 数据中台系统是一个重要的数字化转型方式之一,它基于现代的大数据处理技术,通过构建统一的数据仓库,将不同来源、格式的数据进行整合、清洗、融合,并提供给业务人员进行分析挖掘的数据集合。其目标就是为了实现数字化进程中的各

    2024年02月11日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包