Jenkins pipeline 支持切换分支配置

参数化构建

选中 参数化构建—> 添加参数-> 选项参数
请添加图片描述

配置选项参数

参数名称,自定义,我这里命名branch,
选项,自定义,添加自己git 仓库有的分支名
请添加图片描述

pipe line 命令中获取分支

请添加图片描述

获取当前分支 git branch: “${params.branch}”, url: “https://gitee.com/liuboliu/****.git”

完成脚本代码

pipeline {
    agent any
     environment {
        archivesh = "./archive.sh"
    }
    stages {
        stage('checkout') {
            steps {
                  git branch: "${params.branch}", url: "https://gitee.com/liuboliu/*******.git"
            }
        }
         stage('build') {
            steps {
                 sh """
                   chmod -R +x ${liubosh}
                    ${liubosh}
                    ${archivesh}
                 """
            }
        }
    }
}

选择分支构建

请添加图片描述

请添加图片描述

### 配置前端项目于 Jenkins CI/CD 流水线 #### 使用 Git 插件管理源码仓库 为了使 Jenkins 能够访问并拉取前端项目的代码,在 Jenkins 中需预先配置好凭证。这允许通过 Git 插件来获取托管在 GitHub 或其他版本控制系统上的资源,而无需更改任何容器化策略[^1]。 #### 构建环境准备 对于前端开发而言,通常会依赖 Node.js 和 npm/yarn 来处理 JavaScript 依赖项和运行构建工具链。如果采用 Docker 容器作为构建环境,则可以通过编写 Shell 脚本实现自动化部署流程;例如,切换至指定目录后停止现有服务再启动新实例[^2]。然而,更常见的做法是在 Jenkinsfile 中定义 Pipeline 步骤,利用官方提供的 nodejs 插件或者直接调用宿主机上已安装的 Node.js 环境来进行编译打包等工作。 #### 创建 Jenkins Pipeline 文件 (Jenkinsfile) 下面是一个简单的 Jenkinsfile 示例,用于描述如何在一个典型的 React 应用程序中设置持续集成流水线: ```groovy pipeline { agent any environment { PATH = "/usr/local/bin:${env.PATH}" NODE_VERSION = '16' } stages { stage('Checkout') { steps { git branch: 'main', url: 'https://github.com/user/repo.git' // 替换成实际地址 } } stage('Install Dependencies') { steps { sh ''' nvm install ${NODE_VERSION} nvm use ${NODE_VERSION} npm ci ''' } } stage('Build Project') { steps { sh 'npm run build' } } stage('Test') { steps { sh 'npm test -- --coverage' } } stage('Deploy') { when { expression { return BRANCH_NAME ==~ /^(release|master)$/ } } steps { script { withCredentials([string(credentialsId: 'AWS_ACCESS_KEY_ID', variable: 'AWS_ACCESS_KEY_ID'), string(credentialsId: 'AWS_SECRET_ACCESS_KEY', variable: 'AWS_SECRET_ACCESS_KEY')]) { sh './deploy-to-s3.sh dist/' // 假设有一个脚本负责上传静态文件到 S3 存储桶 } } } } } post { always { junit '**/test-reports/*.xml' archiveArtifacts artifacts: 'dist/**/*.*', allowEmptyArchive: true } } } ``` 上述例子展示了完整的 CI/CD 流程,包括检出代码、安装依赖、构建应用、执行测试以及有条件地触发部署动作。值得注意的是,“Deploy”阶段仅当分支名称匹配特定模式时才会被执行,并且这里假设存在一个名为 `deploy-to-s3.sh` 的辅助脚本来完成最终的产品发布过程。 #### 整合 AWS CodePipeline 及其他第三方服务 除了基本的功能外,还可以进一步扩展 Jenkins 功能集以支持更加复杂的场景。比如借助 AWS CLI 工具发起新的 Pipelines 执行请求[^3],或是引入 SonarQube 对代码质量进行分析评估等。这些都可以被无缝融入现有的 Jenkins Jobs 当中形成一体化解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值