使用jenkins-pipeline进行利用项目文件自动化部署到k8s上

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Discard old builds:丢弃旧的构建,目的是管理存储空间、提升性能以及保持环境整洁
Do not allow concurrent builds: 禁止并发构建是指同一时间内只允许一个构建任务执行,避免多个构建同时运行可能带来的问题
Do not allow the pipeline to resume if the controller restarts: 若希望控制器重启后不自动恢复之前的流水线运行状态,可以设置流水线在控制器重启时不自动续跑

Days to keep builds if not empty, build records are only kept up to this number of days:(保留构建记录的天数):如果设置不为空,则仅会保留最近这么多天内的构建记录
Max # of builds to keep if not empty, only up to this number of build records are kept: (最大保留构建记录数):如果设置不为空,则只会保留最多这么多数量的构建记录

**This project is parameterized:**这个设置表示该项目(或任务、作业)是参数化的,即允许在触发构建时传入自定义参数。这样可以使得每次运行项目时具有一定的灵活性,可以根据不同场景输入不同的参数值,从而执行不同的构建或部署行为
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

**Throttle builds:**是指设置一种策略来控制构建任务的并发执行数量,以防止资源过度消耗或避免不必要的冲突。通过限流,可以确保在一段时间内仅运行一定数量的并行构建,从而优化服务器性能、减少网络拥堵或其他与资源相关的瓶颈问题
在这里插入图片描述

在这里插入图片描述
**Build after other projects are built :**表示当前项目会在其他指定项目构建完成后开始构建。这意味着当前项目的构建触发依赖于其他项目的成功构建,这种依赖关系常用于实现跨项目的编译顺序、依赖更新或联合部署等场景
**Build periodically:**表示设置流水线按照一定的时间周期自动触发构建。例如,您可以配置流水线每天、每周或在特定时间点执行一次,无论是否有新的代码提交

**Gitee webhook 触发构建,需要在 Gitee webhook 中填写 URL: http://192.168.10.104:8080/gitee-project/gencell:**配置过程需要在Gitee仓库的Webhook设置中指定一个URL。具体来说,要在Gitee webhook中填写如下地址以便当仓库发生变更时通知Jenkins。若要通过Gitee webhook来触发Jenkins上的构建任务,在Gitee仓库的Webhook配置界面,需要填入上述Jenkins服务器的Webhook URL地址,这样一旦Gitee仓库有新的提交,就会向该地址发送消息从而触发对应的构建流程
**Poll SCM:**允许流水线定期检查源代码管理系统(如Git)中的更改。一旦检测到新的提交或更新,流水线会自动触发新的构建过程。这意味着无需手动启动构建或依赖于webhook通知,系统会按照预设的时间间隔主动查询代码库是否有变更
**Quiet period:**是指在源代码仓库发生变更后,流水线在触发新的构建之前等待的一段时间。这段时间的设定旨在防止短时间内连续多次提交导致频繁且不必要的构建启动,特别是在团队成员快速迭代开发、连续提交代码的情况下。在静默期内,即使有新的提交也不会立即触发构建,只有当静默期结束后才会检查是否有新的提交并决定是否触发构建
**Trigger builds remotely (e.g., from scripts):**允许您从外部脚本或者程序远程触发构建过程。这意味着您可以在开发过程中编写自动化脚本来根据需求启动特定的流水线构建,例如,在代码提交、测试完成或手动审批等特定事件发生时调用API发送构建请求到CI服务器

在这里插入图片描述
**Advanced Project Options:**是指一系列更深层次的配置项,用于对项目的构建、执行和管理进行更加细致、定制化的设置。这些选项可能包括但不限于:

权限控制:指定哪些用户或团队可以访问、修改或执行该项目。
构建触发器:自定义构建触发规则,如定时构建、源代码变更时构建,或者远程API触发构建等。
资源分配:为项目分配特定的执行器资源,例如限制并发构建的数量,或选择特定类型的执行器。
构建环境变量设置:定义额外的环境变量供构建过程中使用。
构建记录保留策略:设定历史构建记录的保存期限或数量。

在这里插入图片描述
在这里插入图片描述

进行spring后端部署示例一:

结构
在这里插入图片描述
进行单个微服务部署示例:
Dockerfile:

FROM openjdk:8-jre

MAINTAINER admin

ENV jar docker_run.jar
ENV TZ=Asia/Shanghai
WORKDIR /app/

ADD *.jar /app/${
   jar}

RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

CMD sh -c ' exec java  \
 -Xms256m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m \
 -Dspring.profiles.active=<APP_PROFILE> -Dfile.encoding=UTF-8 -Dserver.port=<APP_PORT> -jar ${jar} '

jenkinsfile:

pipeline {
   
    agent any

    tools {
   
        maven 'maven'
    }

    environment {
   
        APP_NAME='gencell-master'
        APP_PROFILE='master'//spring配置文件的后缀

        APP_VERSION='master'
//
        NAMESPACE='default'
        HARBOR_ADDR='registry.cn-hangzhou.aliyuncs.com'
        HARBOR_REPO='dcs-test01'

        AUTH_NAME='gencell-auth'
        AUTH_PORT='30244'

        WEB_NAME='gencell-web'
        WEB_PORT='30241'

        CJDLT_NAME='gencell-cjdlt'
        CJDLT_PORT='30242'

        FILE_STORAGE_NAME='gencell-file-storage'
        FILE_STORAGE_PORT='30243'

        TEST_NAME='gencell-test'
        TEST_PORT='30240'

    }

    stages {
   
        stage('拉取Git代码') {
   
            steps {
   
                echo "===========================开始检出代码==========================="
                checkout scmGit(branches: [[name: '${branch}']], extensions: [], userRemoteConfigs: [[credentialsId: '1a3fae19-50bd-47fd-99cc-f88ef90c04d5', url: '${git_url}']])
                echo "===========================Git代码检出完成,当前分支:${branch}==========================="
            }
        }

        stage('构建代码') {
   

相关推荐

  1. k8s部署jenkins

    2024-03-21 16:26:03       14 阅读
  2. Jenkins打包springboot项目k8s

    2024-03-21 16:26:03       41 阅读
  3. k8s使用yml文件部署

    2024-03-21 16:26:03       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-21 16:26:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-21 16:26:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-21 16:26:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-21 16:26:03       20 阅读

热门阅读

  1. git 不同仓库 同步

    2024-03-21 16:26:03       17 阅读
  2. Webapi 日志过滤器(接口日志记录)

    2024-03-21 16:26:03       16 阅读
  3. C++ 类构造函数 & 析构函数

    2024-03-21 16:26:03       20 阅读
  4. FDU 2018 | 1. 求众数

    2024-03-21 16:26:03       20 阅读
  5. el-table原始列表转换成树形数据

    2024-03-21 16:26:03       20 阅读
  6. blender记一下法线烘焙

    2024-03-21 16:26:03       22 阅读
  7. 在springboot中利用Redis实现延迟队列

    2024-03-21 16:26:03       21 阅读
  8. 【linux】grep 命令

    2024-03-21 16:26:03       21 阅读
  9. 【AI】计算机视觉是什么

    2024-03-21 16:26:03       24 阅读