Docker+Jenkins+Gitee+Harbor+WebHooks实现CI/CD!

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: Docker+Jenkins+Gitee+Harbor+WebHooks实现CI/CD!

前言

视频教程由B站up主:微软MVP-Eleven 录制
视频地址:https://www.bilibili.com/video/BV1xo4y1U7Mp


# 1、关于Jenkins ## 1-1、为什么要使用jenkins? ```md #不使用jenkins时,项目该如何进行部署? Codeing ==> 代码管理器(SVN,TFS,Git,GitLab) ==>编译 ==> 打包 ==> 拷贝至目标服务器 ==> 构建镜像 ==> 容器化部署==>访问 #使用了Jenkins,项目该如何部署? Codeing ==> 访问 ``` ### 1-2、jenkins的工作流程 ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/5586c73d9d6442ccba1c4818cb0a570c.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qWg5qmY5pif,size_20,color_FFFFFF,t_70,g_se,x_16) ## 1-3、搭建jenkins环境 (以下坑很多,需要特别注意) - 环境搭建可以看我的另一篇文件 [Jenkins初体验](https://blog.csdn.net/nanshen__/article/details/118614779?spm=1001.2014.3001.5501) ```text Localization: Chinese (Simplified) ===> 做汉化使用 Gitee Plugin ===> 对接Gitee的插件 Docker API Plugin ===> 连接服务器上已有的Docker 来构建镜像 的插件 Publish Over SSH ===> 远程连接访问的插件 ``` - 使用jenkins拉取Gitee中的项目 ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/a19d20d9c2ea400eb153b68e0652389e.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qWg5qmY5pif,size_20,color_FFFFFF,t_70,g_se,x_16)![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/961b89ed19b54621b995e513bbf4d666.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qWg5qmY5pif,size_20,color_FFFFFF,t_70,g_se,x_16) - jenkins中如何使用Docker API插件构建镜像 1. 开启端口 ```shell 前提:目标服务器上是已经安装有docker的,并且开发2376端口 --------------------------------------------------------------- ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2379 --containerd=/run/containerd/containerd.sock --------------------------------------------------------------- systemctl daemon-reload systemctl restart docker ``` 2. 使用Dockerfile Plugin配置连接Docker引擎 ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/eb491ec1db6b4387ad46852116f9f179.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qWg5qmY5pif,size_20,color_FFFFFF,t_70,g_se,x_16)![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/67a77d026ce44c7bb1a60715b48e01fe.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qWg5qmY5pif,size_20,color_FFFFFF,t_70,g_se,x_16) - 搭建harbor私服仓库并完成镜像推拉和jenkins对接 - 如何把新构构建的镜像拉渠道目标服务器并进行项目容器化部署
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
17天前
|
测试技术 持续交付 开发者
使用Docker构建CI/CD流程:从理论到实践
【8月更文挑战第2天】使用Docker构建CI/CD流程,可以显著提高软件开发的效率和质量。通过容器化技术,开发者可以确保环境的一致性,快速部署和测试应用,并减少人为错误。结合合适的CI/CD工具和最佳实践,可以进一步加速软件交付过程,提高用户满意度。希望本文能为开发者在构建基于Docker的CI/CD流程时提供有价值的参考。
|
1月前
|
Kubernetes Cloud Native 持续交付
云原生架构的核心组成部分通常包括容器化(如Docker)、容器编排(如Kubernetes)、微服务架构、服务网格、持续集成/持续部署(CI/CD)、自动化运维(如Prometheus监控和Grafana可视化)等。
云原生架构的核心组成部分通常包括容器化(如Docker)、容器编排(如Kubernetes)、微服务架构、服务网格、持续集成/持续部署(CI/CD)、自动化运维(如Prometheus监控和Grafana可视化)等。
|
1月前
|
Java jenkins 持续交付
Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试
【7月更文挑战第1天】Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试。成功后,Jenkins执行部署任务,发布到服务器或云环境。使用Jenkins能提升效率,保证软件质量,加速上线,并需维护其稳定运行。
83 0
|
2月前
|
Kubernetes Cloud Native jenkins
云原生时代:从Jenkins到Argo Workflows,构建高效CI Pipeline
基于Argo Workflows可以构建大规模、高效率、低成本的CI流水线
|
3月前
|
存储 测试技术 持续交付
【Docker 专栏】Docker 与 CI/CD 的集成策略
【5月更文挑战第8天】本文探讨了Docker在CI/CD流程中的作用,强调了环境一致性、快速部署和资源隔离等优势。通过在构建、测试和部署阶段集成Docker,可以提升软件开发效率和质量。具体集成策略包括使用Dockerfile构建镜像、整合CI/CD工具如Jenkins和GitLab。集成带来的好处包括提高效率、增强可靠性、加速交付和简化管理。然而,也需应对镜像管理、网络配置和安全等问题。通过案例分析,证明了Docker与CI/CD集成的有效性和必要性。
83 2
【Docker 专栏】Docker 与 CI/CD 的集成策略
|
3月前
|
jenkins Java 持续交付
Jenkins与Docker的自动化CI/CD实战
Jenkins与Docker的自动化CI/CD实战
|
3月前
|
存储 API 数据安全/隐私保护
企业级Docker镜像仓库Harbor部署与使用
企业级Docker镜像仓库Harbor部署与使用
|
3天前
|
JSON JavaScript 开发者
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
【8月更文挑战第7天】Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
|
1天前
|
网络协议 Linux 网络安全
遇到Docker容器网络隔断?揭秘六种超级实用解决方案,轻松让Docker容器畅游互联网!
【8月更文挑战第18天】Docker容器内网络不通是开发者常遇问题,可能因网络配置错、Docker服务异常或防火墙阻碍等原因引起。本文提供六种解决策略:确认Docker服务运行状态、重启Docker服务、检查与自定义Docker网络设置、验证宿主机网络连接、临时禁用宿主机IPv6及检查防火墙规则。通过这些步骤,多数网络问题可得以解决,确保容器正常联网。
7 1
|
2天前
|
安全 Ubuntu Docker
深度挖掘Docker 容器
【8月更文挑战第16天】Docker容器间的连接是容器化技术的关键,支持容器与宿主机的数据交换。主要方法包括:1) 利用Docker网络驱动创建自定义网络,使容器相连通信;2) 采用Docker Compose通过配置文件简化多容器应用的部署与互联;3) 虽不推荐,早期使用--link参数实现容器互联;4) 通过环境变量配置连接信息;5) 共享卷支持文件共享和间接通信。推荐使用Docker网络和Docker Compose以实现高效灵活的容器间通信。
13 3