Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >(2/2)集成部署(CICD)· 使用篇

(2/2)集成部署(CICD)· 使用篇

作者头像
老张的哲学
发布于 2023-01-09 10:45:59
发布于 2023-01-09 10:45:59
51600
代码可运行
举报
文章被收录于专栏:NetCore 从壹开始NetCore 从壹开始
运行总次数:0
代码可运行

接下来我会在Q&A讲述一些常用的功能

后续可能还会陆续添加

构建一个流水线

声明式和脚本式流水线都是 DSL 语言,用来描述软件交付流水线的一部分。脚本式流水线是用一种限制形式的 Groovy 语法编写的。

文档:https://www.jenkins.io/zh/doc/book/pipeline/getting-started/

构建流水线几种方式

官方提供的流水线可以通过以下任一方式来创建:

1.通过 Blue Ocean - 在 Blue Ocean 中设置一个流水线项目后,Blue Ocean UI 会帮你编写流水线的 Jenkinsfile 文件并提交到源代码管理系统。

2.通过经典 UI - 你可以通过经典 UI 在 Jenkins 中直接输入基本的流水线。

3.在源码管理系统中定义 - 你可以手动编写一个 Jenkinsfile 文件,然后提交到项目的源代码管理仓库中。

开始构建

这里就用Jenkins里面自带的(经典 UI )流水线管理来做演示吧

首先创建项目选择流水线

编写流水线构建脚本

我们在流水线填写如下代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pipeline {
    agent any 
    stages {
        stage('构建') {
            steps {
                echo "拉取代码"
                sh ''' 
                git clone https://gitlab.xxxx.cn/root/test.git
                cd test
                docker build -t myapp .
                '''
            }
        } 
        stage('测试') {
            steps {
                echo "这里可以执行执行集成测试"
            }
        }
        stage('发布') {
            steps {
               sh '''
                docker run --restart=always --name myapp -e TZ=Asia/Shanghai -p 8080:80 -d myapp
                '''
            }
        }
    }
}
执行任务

这里我们演示手动触发构建,点击立即构建即可

查看流水线日志

上面是可视化查看流水线构建的进度图 我们还可以通过控制台查看日志

成功判断

往下拉我们可以看到日志提示失败了

原来是我们刚才的容器已经启动,镜像构成后我需要停止原来的已经启动的服务,这时我们修改一下流水线脚本先停止原来的服务再重新启动

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pipeline {
    agent any 
    stages {
      stage('测试') {
            steps {
                echo "这里可以执行执行集成测试"
                npm run test
            }
        }
        stage('构建') {
            steps {
                echo "拉取代码"
                sh ''' 
                rm -rf test
                git clone https://gitlab.xxxx.cn/root/test.git
                cd test
                docker build -t myapp .
                '''
            }
        } 
        stage('测试') {
            steps {
                echo "这里可以执行执行集成测试"
                npm run test
            }
        }
        stage('发布') {
            steps {
               sh '''
                docker stop myapp
                docker rm myapp
                docker run --restart=always --name myapp -e TZ=Asia/Shanghai -p 8080:80 -d myapp
                '''
            }
        }
    }
}

可以看到我们修改了流水线脚本后

最后的集成构建成功发布

此时我们再去访问我们web服务

访问一下swagger接口文档试试

可以看到部署成功

我们再回来看流水线

可以看到最后一次都是绿色说明全部集成部署完成

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NetCore 从壹开始 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Jenkins使用pipeline自动打包Docker镜像
使用流水线可以让我们的任务从ui手动操作,转换为代码化,像docker的dockerfile一样,从shell命令到配置文件,更适合大型项目,可以让团队其他开发者同时参与进来,同时也可以编辑开发Jenkinswebui不能完成的更复杂的构建逻辑,作为开发者可读性也更好。
别团等shy哥发育
2023/03/01
2.9K0
Jenkins使用pipeline自动打包Docker镜像
3种创建Jenkins流水线的方法 - Classic UI, BlueOcean, Git
Jenkins是一个DevOps工具,可以用来自动构建、测试和交付软件代码。如果你是Jenkins的新手,本教程将帮助你理解如何使用以下方法之一创建Jenkins流水线(Pipeline):
用户1516716
2021/04/13
4.3K0
3种创建Jenkins流水线的方法 - Classic UI, BlueOcean, Git
Jenkins Pipeline流水线详解,建议收藏!
Jenkins 流水线(Pipeline)是一种持续集成和交付(CI/CD)工具,它以代码的方式定义整个软件开发过程中的构建、测试和部署流程。与传统的 Jenkins 项目和自由风格项目相比,Jenkins 流水线具有以下显著特点和优势:
测试开发技术
2025/06/08
3050
Jenkins Pipeline流水线详解,建议收藏!
DevOps整合Jenkins+k8s+CICD
基于现在的互联网现状,更推崇敏捷式开发,这样就导致项目的迭代速度更快,但是由于开发团队与运维团队的沟通问题,会导致新版本上线的时间成本很高。这又违背的敏捷式开发的最初的目的。 那么如果让开发团队和运维团队整合到成一个团队,协同应对一套软件呢?这就被称为DevOps。 DevOps,字面意思是Development &Operations的缩写,也就是开发&运维。 然字面意思只涉及到了开发团队和运维团队,其实QA测试团队也是参与其中的。 网上可以查看到DevOps的符号类似于一个无穷大的符号
IT运维技术圈
2022/10/24
3.1K1
『Jenkins』使用Jenkins实现持续集成与持续交付
持续集成(Continuous Integration,CI)是指开发人员频繁地将代码合并到主干,并通过自动化构建和自动化测试来验证代码的正确性。CI的主要目的是:
二一年冬末
2025/01/19
5090
Jenkins 构建自动化 .NET Core 发布镜像
在本章中,将介绍如何在 Linux 下使用 Docker 部署、启动 Jenkins,编写脚本,自动化构建 .NET Core 应用,最终将 .NET Core 应用打包为 Docker 镜像。
痴者工良
2021/06/29
2.6K0
Jenkins流水线
之前采用Jenkins的自由风格构建的项目,每个步骤流程都要通过不同的方式设置,并且构建过程中整体流程是不可见的,无法确认每个流程花费的时间,并且问题不方便定位问题。
程序猿川子
2022/08/24
7490
锅总详解Jenkins应用
Jenkins架构是怎样的?Jenkins用了哪些调度设计?Jenkins调度最佳实践有哪些?如何写一个Go或Java项目的管道?Jenkins的声明式与脚本化流水线有哪些内容?Jenkins发展历史是怎样的?希望本文能给到您答案!
锅总
2024/08/14
7200
锅总详解Jenkins应用
多技术栈时代的利器:自动化协作流水线全面实践
Jenkins 是一款备受开发者推崇的开源自动化服务器,其强大的插件生态和灵活的流水线功能,使其成为构建 CI/CD 流程的绝佳工具。在多技术栈环境下,Jenkins 可以帮助团队快速配置构建、测试和部署流程,节省开发时间并减少手动错误。
Swift社区
2024/12/27
2440
多技术栈时代的利器:自动化协作流水线全面实践
jenkins系列(2)pipeline
pipeline是部署流水线,它支持脚本和声明式语法,能够比较高自由度的构建jenkins任务.个人推荐使用这种方式去构建jenkins。
六个核弹
2022/12/23
1.5K0
jenkins系列(2)pipeline
打造企业级自动化运维平台系列(六):Jenkins Pipeline 入门及使用详解
作为一种流行的持续集成和交付工具,Jenkins有多种方式来实现交付流水线。其中,Jenkins Pipeline是一种比较流行的方式,它提供了一个DSL(Domain Specific Language 的缩写,中文翻译为:领域特定语言)来描述交付流水线。
民工哥
2024/01/18
2.8K0
打造企业级自动化运维平台系列(六):Jenkins Pipeline 入门及使用详解
『Jenkins』在Jenkins中实现多分支Pipeline构建
在现代软件开发中,持续集成(CI)和持续交付(CD)是实现敏捷开发的重要实践。Jenkins作为最受欢迎的自动化工具之一,广泛应用于CI/CD流程中,帮助团队在代码提交后自动化构建、测试、部署等任务。Jenkins的流水线功能(Pipeline)为开发者提供了一个灵活、可扩展的自动化工作流工具。
二一年冬末
2025/01/15
6030
Dockerfile+Jenkinsfile+GitLab轻松实现.NetCore程序的CI&CD
Dockerfile:关于Dockerfile的使用说明,我在文章《让.NetCore程序跑在任何有docker的地方》中有说到,这里不在赘述,需要的可以先看下,本文主要介绍Jenkinsfile结合dockerfile配合使用,自动构建.NetCore应用程序。
Peyshine
2020/05/26
2.8K1
『Jenkins』使用Jenkins与Kubernetes实现CI/CD的详细指南
在现代软件开发过程中,持续集成(CI)和持续交付(CD)已经成为高效开发的重要组成部分。Jenkins作为最广泛使用的开源自动化工具,支持从源代码管理到构建、测试、部署等全过程的自动化管理。而Kubernetes作为现代云原生应用的容器编排平台,能够提供强大的资源管理和自动化部署能力。将Jenkins与Kubernetes结合使用,能够实现自动化构建、测试和部署,提升开发团队的效率并减少人为错误。
二一年冬末
2024/12/24
3870
CICD之Jenkins使用
jenkins把项目拉倒jenkins服务器,放到workspace(一般我们的源代码都在这里),开始进行流水线处理。
全栈程序员站长
2022/09/02
5590
Jenkins中使用pipeline
如同工厂的生产线,每个节点只关注自己的任务,然后流向下一个节点。 我们在编排jenkins时,也可以使用这种思想。
赵云龙龙
2019/09/17
2.9K0
Jenkins中使用pipeline
使用 Jenkins 构建 CI/CD 之多分支流水线指北
由于公司的 Jenkins 配置没有部署成功的通知,在我学了几天的 Jenkins 后终于是对公司的 Jenkins 配置下手了,结果我刚装完 dingtalk 插件自动重启后,发现之前主管配置的构建项目数据都丢失了,正好给了我练手的机会,于是就有了以下从0到1的辛酸历程。
DevOps时代
2021/04/20
2.4K0
使用 Jenkins 构建 CI/CD 之多分支流水线指北
持续交付-Blue Ocean 应用
Blue Ocean 提供了一套可视化操作界面来帮助创建、编辑 Pipeline 任务。
霍格沃兹测试开发Muller老师
2022/06/26
5150
『Jenkins』Jenkins与Docker集成:构建、测试与部署自动化流程
在现代软件开发中,持续集成(CI)和持续交付(CD)已成为提高开发效率、软件质量和部署速度的核心实践。Jenkins作为全球最流行的开源自动化工具,广泛应用于CI/CD流程的实现。Docker则提供了一种轻量级的容器化解决方案,能够在各个环境中一致地运行应用程序。将Jenkins与Docker结合使用,能够极大地提升开发和运维的效率,特别是在构建、测试和部署流程中。
二一年冬末
2025/02/06
9800
【Jenkins 插件】Jenkins Pipeline 流水线插件的使用,Vue 项目自动化构建和部署实战
最近一直在研究 Jenkins 的流水线插件 Pipeline,既然是研究,自然就不是为了掌握基本用法了,而是高级用法。目前研究的成果还是挺不错的,有很多想要实现的功能都已经通过插件自带的语法完成,后续会单独开一个系列来分享更多高级语法的使用,而这篇文章就来分享一下我的流水线实战——Vue 项目自动化构建和部署。
Hopetree
2022/09/26
4.2K0
【Jenkins 插件】Jenkins Pipeline 流水线插件的使用,Vue 项目自动化构建和部署实战
推荐阅读
相关推荐
Jenkins使用pipeline自动打包Docker镜像
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档