maven + jenkins + nacos 灵活打包至各个环境

本文介绍了如何在实际工作中利用maven的配置管理,结合jenkins和nacos,实现不同环境(开发、测试、生产)的服务打包和部署。通过在pom.xml设置环境变量,并在bootstrap.yml引用动态配置,可以使用特定命令进行环境区分的打包。在nacos预设各环境配置后,jenkins自动化执行相应打包命令,实现环境的自动化部署。

实际工作中一般我们至少需要三个环境  开发环境 测试环境 生产环境 这些环境可能开发和测试的数据是同一个 但生产绝对是独立的

我们需要 打包不同的服务 部署不同的服务 使用maven可以轻松做到打包不同的环境 

需要在pom中进行如下配置  告诉mvn 我有如下的配置


    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                    <include>*.*</include>
                </includes>
            </resource>
        </resources>
    </build>

    <profiles>
        <profile>
            <!-- 开发环境 -->
            <id>dev</id>
            <properties>
                <profiles.active>dev</profiles.active>
            </properties>
            <activation>
                <!-- 设置默认激活这个配置 -->
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <!-- 发布环境 -->
            <id>prod</id>
            <properties>
                <profiles.active>prod</profiles.active>
            </properties>
        </profile>
        <profile>
            <!-- 测试环境 -->
            <id>stage</id>
            <properties>
                <profiles.active>stage</profiles.active>
            </properties>
        </profile>
    </profiles>

 

 

还需要在bootstrap.yml 中引入写动态配置 这样mvn生成的代码才会替换到这里

# Tomcat
server:
  port: 7000

# Spring
spring:
  application:
    # 应用名称
    name: app
  profiles:
    # 环境配置
    active: ${profiles.active}
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 192.168.241.129:8848
        # 指定命名空间ID  默认pubilc 服务注册地址 和 配置中心地址 是两个配置
        namespace: ry_${spring.profiles.active}
      config:
        # 配置中心地址
        server-addr: 192.168.241.129:8848
        # 指定命名空间ID  默认pubilc 服务注册地址 和 配置中心地址 是两个配置
        namespace: ry_${spring.profiles.active}
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

 

以上配置好后 mvn 使用 如下命令 即是 打包一个生产环境的项目

package -Pprod 

nacos中预定义好各种环境的配置后就可以使用了

 

 

后面在jenkins中使用不同的打包命令即可自动打包至不同的环境 具体参考之前的文章

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值