(2/2)集成部署(CICD)· 使用篇
2023-06-13 09:16:38 时间
接下来我会在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 )流水线管理来做演示吧
首先创建项目选择流水线
编写流水线构建脚本
我们在流水线填写如下代码
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
'''
}
}
}
}
执行任务
这里我们演示手动触发构建,点击立即构建即可
查看流水线日志
上面是可视化查看流水线构建的进度图 我们还可以通过控制台查看日志
成功判断
往下拉我们可以看到日志提示失败了
原来是我们刚才的容器已经启动,镜像构成后我需要停止原来的已经启动的服务,这时我们修改一下流水线脚本先停止原来的服务再重新启动
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接口文档试试
可以看到部署成功
我们再回来看流水线
可以看到最后一次都是绿色说明全部集成部署完成
相关文章
- p6spy oracle,MyBatis集成P6Spy显示实际的SQL(代码教程)「建议收藏」
- GoLand 2022 mac/win中文(GO语言集成开发工具环境)
- 04-Elasticsearch-ES集成IK分词器
- Jenkins集成GitLab
- GraphQL实践4——Netflix Dgs Graphql集成Mybatis Plus
- ElasticSearch 多框架集成
- SpringBoot集成Mybatis-Plus
- GitHub 推出了集成了 GPT-4 技术的 Copilot X,它对程序员有哪些积极和消极影响?
- 【软件工程】CMMI 能力成熟度模型集成 ( CMMI 工程过程域 | CMMI 支持过程域 ) ★
- RuoYi框架集成DingDing登录
- 营销平台一站式集成 高效实现自动化
- MySQL集成开发环境:改变开发体验(mysql集成开发环境)
- yii2 集成redis新时代的开启(yii2 引入redis)
- 利用Redis让项目更容易上手(redis集成到项目中)
- Django集成百度富文本编辑器uEditor攻略