(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目

这篇具有很好参考价值的文章主要介绍了(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

本节内容我们使用另外一种方式pipeline实现项目的流水线部署发布,Jenkins Pipeline是一种允许以代码方式定义持续集成和持续交付流水线的工具。通过Jenkins Pipeline,可以将整个项目的构建、测试和部署过程以脚本的形式写入Jenkinsfile中,实现对整个流程的可视化管理和控制。在 Jenkins Pipeline中,可以定义不同的阶段(stage)、步骤(step)、参数(parameters)、环境变量(environment variables)等,以实现自动化构建、测试和部署过程。还可以通过条件判断、循环等控制结构来实现流水线的灵活控制。

正文

①创建一个流水线pipeline方式的项目

(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目,devops,# jenkins,devops

②填写描述信息和构建的策略,此步骤可跳过

(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目,devops,# jenkins,devops

③ 使用流水线的Pipeline script方式构建一个maven项目

- 构建脚本

pipeline {
    agent any

    stages {
        stage('拉取代码') {
            steps {
                echo '========================拉取代码========================'
                checkout([
                    $class: 'GitSCM',
                    branches: [[name: '*/master']],
                    doGenerateSubmoduleConfigurations: false,
                    extensions: [],
                    submoduleCfg:[],
                    userRemoteConfigs: [[credentialsId: 'gitee', url:'https://gitee.com/northcangap/ht-atp.git']]
                ])
            }
        }
        stage('编译构建') {
            steps {
                echo '========================编译构建========================'
                sh 'cd ht-atp-security && mvn clean package -Dmaven.test.skip=true'
            }
        }
        stage('部署安装') {
            steps {
                echo '========================部署安装========================'
                sshPublisher(
                    continueOnError: false,
                    failOnError: true,
                    publishers: [
                        sshPublisherDesc(
                            configName: "ht-atp",
                            transfers: [
                                sshTransfer(
                                    sourceFiles: "ht-atp-security/target/*.jar",
                                    removePrefix: "ht-atp-security/target",
                                    remoteDirectory: "/pipeline",
                                    execCommand: "cd /ht/pipeline && sh start.sh",
                                    execTimeout: 12000
                                )
                            ]
                        )
                    ]
                )
            }
        }
    }
}

(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目,devops,# jenkins,devops

- 使用git拉取代码

(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目,devops,# jenkins,devops

- 使用maven命令构建项目

(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目,devops,# jenkins,devops

- 使用sshPublisher组件将构建好的项目发布到远程服务器

(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目,devops,# jenkins,devops

④ 点击立即构建,构建该流水线项目

(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目,devops,# jenkins,devops

⑤查看构建的流水线项目日志

(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目,devops,# jenkins,devops

⑦ 访问项目

(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目,devops,# jenkins,devops

⑧方式二:流水线使用Pipeline script from SCM方式创建,配置源码地址

(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目,devops,# jenkins,devops

⑨ 配置Jenkinsfile流水线脚本路径

(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目,devops,# jenkins,devops

⑩ 在项目的源码路径下创建一个Jenkinsfile文件,文件内容同上,并上传到源码库,构建时,会使用此文件完成流水线项目的发布

(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目,devops,# jenkins,devops

⑪同样也可以部署发布成功,一般更推荐使用方式二实现

(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目,devops,# jenkins,devops

⑫ 关于pipeline的流水线语法可参考其提供的DSL流水线语法

(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目,devops,# jenkins,devops

⑬ 前端vue项目的部署脚本

pipeline {
    agent any

    stages {
        stage('拉取代码') {
            steps {
                echo '========================拉取代码========================'
                checkout([
                    $class: 'GitSCM',
                    branches: [[name: '*/master']],
                    doGenerateSubmoduleConfigurations: false,
                    extensions: [],
                    submoduleCfg:[],
                    userRemoteConfigs: [[credentialsId: 'gitee', url:'https://gitee.com/northcangap/ht-atp.git']]
                ])
            }
        }
        stage('编译构建') {
            steps {
                echo '========================编译构建========================'
                sh 'cd ht-atp-app && npm i -f && npm run build'
            }
        }
        stage('部署安装') {
            steps {
                echo '========================部署安装========================'
                sshPublisher(
                    continueOnError: false,
                    failOnError: true,
                    publishers: [
                        sshPublisherDesc(
                            configName: "ht-atp",
                            transfers: [
                                sshTransfer(
                                    sourceFiles: "ht-atp-app/dist/**",
                                    removePrefix: "ht-atp-app/dist",
                                    remoteDirectory: "/pipeline/ht-app"
                                )
                            ]
                        )
                    ]
                )
            }
        }
    }
}

(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目,devops,# jenkins,devops

结语

至此,关于jenkins流水线使用pipeline方式发布项目的内容到这里就结束了,我们下期见。。。。。。文章来源地址https://www.toymoban.com/news/detail-831733.html

到了这里,关于(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 测试驱动开发:基于Jenkins+GoTest+HTML的持续化集成

    目录 前言         一、项目框架 1.项目迭代 2.项目时序图 3.项目测试执行 二、项目具体实现 1.创建流水线 2.拉取代码 3.执行测试代码 4.生成测试报告 5.报告内容解读 6.数据统计 7.邮件通知 8.企业微信通知 三、项目遇到的问题 1.go test -args  2.go test生成html格式的报告 3.数据统

    2024年01月18日
    浏览(58)
  • 持续集成交付CICD:Jenkins流水线实现Nexus制品晋级策略

    目录 一、理论 1.开发测试运维环境 二、实验 1.Nexus制品晋级策略 (1)开发测试运维环境 (1)环境 表1 主机 主机 架构 版本 IP 备注 jenkins jenkins主节点       2.414.2 192.168.204.15:8080  gitlab runner (从节点) gitlab gitlab 主节点        12.10.14 192.168.204.8:82   jenkins slave (从节

    2024年02月04日
    浏览(48)
  • DevOps持续集成-Jenkins(2)

    DevOps概述 软件开发最初是由两个团队共同组成:(没有采用DevOps之前) 开发团队 :从头开始设计和整体系统的构建(编写代码)。需要系统不停的迭代更新。 运维团队 :将开发团队的代码进行测试通过后再部署上线。确保系统稳定运行。 没有采用DevOps的缺点: 这看似两个

    2024年02月08日
    浏览(56)
  • DevOps持续集成-Jenkins(4)

    DevOps概述 软件开发最初是由两个团队共同组成:(没有采用DevOps之前) 开发团队 :从头开始设计和整体系统的构建(编写代码)。需要系统不停的迭代更新。 运维团队 :将开发团队的代码进行测试通过后再部署上线。确保系统稳定运行。 没有采用DevOps的缺点: 这看似两个

    2024年02月08日
    浏览(51)
  • 企业级开发中协同开发与持续集成持续部署

    每个项目有唯一的代码仓库,所以不是每个开发者都需要创建一个代码仓库,一般都是项目负责人创建: 代码仓库有以下几种: github gitee gitlib 代码仓库的使用方法都差不多。 以gitee为例创建一个仓库: 如果没有账户的话,要注册一个新的用户名,注册用户之后,使用注册

    2024年02月14日
    浏览(56)
  • 【云原生 • DevOps】一文掌握持续集成工具 Jenkins

    目录 一、持续集成工具 Jenkins 介绍 1. 什么是持续集成 2. Jenkins 介绍 二、Jenkins 的安装与部署 1. 安装 Jenkins 2. 本地访问 Jenkins 3. 插件的安装 4. 卸载 Jenkins 三、Jenkins 全局配置 1. Git 的安装与配置 2. JDK 的安装与配置 3. maven 的安装与配置 三、将代码上传至 Git 服务器 1. Gogs 的搭

    2024年02月03日
    浏览(59)
  • DevOps-Jenkins-CI持续集成操作

    创建个web项目 我这里直接用Spring Web自动生成的demos 启动项目,访问展示如下默认页面信息 在项目下新建docker目录,新增Dockerfile、docker-compose.yml文件 Dockerfile文件,将mytest.jar 复制到容器的/usr/local/目录下,在/usr/local执行命令java -jar mytest.jar docker-compose.yml文件,当前目录以D

    2024年03月13日
    浏览(54)
  • 软件测试学习笔记丨持续集成DevOps - Jenkins安装

    本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/30028 通过 war 包安装 通过安装包安装(不推荐) 通过 docker 命令安装(推荐 Linux 环境): docker pull jenkins/jenkins:lts 2.1 ,war包启动(用于调试,不推荐安装): (1), 下载war包后, 进入对应的war下载的目录,通过命令启

    2024年04月09日
    浏览(56)
  • SkyEye与Jenkins的DevOps持续集成解决方案

    在技术飞速发展的当下,随着各行各业的软件逻辑复杂程度提升带来的需求变更,传统测试已无法满足与之相对应的一系列测试任务,有必要引入一个自动化、可持续集成构建的DevOps平台来解决此类问题。本文将主要介绍SkyEye与Jenkins的持续集成解决方案。 何谓DevOps?DevOps是

    2024年02月15日
    浏览(46)
  • 下一代软件开发:AIGC智能编程与持续集成的完美结合

    近年来,随着软件开发的快速发展和自动化工具的广泛应用,持续集成(Continuous Integration)和持续部署(Continuous Deployment)已经成为现代软件开发中不可或缺的一环。在这个背景下,许多开发人员开始探索如何将人工智能自动化编程工具(例如AIGC智能编程)与这些自动化工

    2024年04月12日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包