使用Jenkins,GitHub和Docker的最先进的持续集成和部署管道

做好准备

在过去的两年中,我一直在从事Node.js项目。 我们使用GitHub进行源管理,使用Jenkins进行持续集成。 我们还有一个基于Docker和Terraform的部署工具

在此期间,我们对配置进行了一些改进。 产生积极影响的更改之一是在分支上运行CI管道,并在GitHub上查看反馈。

在合并PR之前检查构建的结果可以防止由于微小错误而造成的大量损坏。 就像忘记运行lint或添加新文件一样。 一旦我们决定自动执行依赖关系的更新,反馈将使其变得快速,安全。

在这篇文章中,我将解释如何使用以下方法配置Continuos集成和部署管道:

  • Jenkins用于构建配置。 用于创建构建的多分支管道。 Jenkinsfile,用于决定在每个构建中执行什么
  • GitHub用于存储源代码,检查构建输出以及将分支合并到master
  • Docker将构建与执行环境隔离。 无论是开发人员机器还是Jenkins节点

特征

构建管道的配置与源代码一起进行版本控制。 这给您:

  • 旧配置的历史和回滚功能
  • 配置和源的原子更改
  • 使用分支来尝试配置本身

分支机构的建立和反馈意味着您可以:

  • 在代码审查期间查看构建结果
  • 如果分支破坏了构建,则防止分支合并
  • 自动合并不间断的更改

其他小事:

  • 该构建被定义为一系列步骤而不是作业,因此一旦开始就不会重新进入队列
  • 您可以通过编辑文件而不是使用Jenkins Web UI来执行大多数构建配置

缺点

  • 您需要学习Jenkinsfile的语法
  • 您需要注意两种不同的语法选项(脚本式和声明式)
  • 有关如何使用插件的文档并不总是很清楚,并且通常没有任何示例

该应用程序

我创建了一个Node.js Web应用程序作为示例。 为了简化构建,该应用程序没有外部运行时依赖项,例如数据库或服务。 可以扩展此配置以应对外部依赖性,而不会影响隔离性。 例如通过使用Docker Compose

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用 JenkinsDocker 进行 CentOS 部署 Spring Boot 项目的详细步骤和命令: 1. 在 CentOS 中安装 DockerDocker Compose ```bash # 安装 Docker sudo yum update sudo yum install docker # 安装 Docker Compose sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` 2. 在 CentOS 中拉取 Docker 镜像 ```bash # 从 Docker 仓库中拉取镜像 sudo docker pull your-docker-registry/image-name:tag ``` 3. 在 CentOS 中运行 Spring Boot 镜像 ```bash # 运行 Spring Boot 镜像 sudo docker run -d -p 8080:8080 your-docker-registry/image-name:tag # 如果你的 Spring Boot 应用需要使用数据库,你需要为其配置一个数据库服务。你可以使用 Docker Compose 来管理容器编排。 # 在服务器上创建一个文件夹来存储 Docker Compose 配置文件 mkdir ~/docker-compose # 在该文件夹中创建一个 docker-compose.yml 文件 nano ~/docker-compose/docker-compose.yml # 编辑该文件并添加以下内容: version: "3" services: app: image: your-docker-registry/image-name:tag ports: - "8080:8080" db: image: postgres environment: POSTGRES_USER: your-db-user POSTGRES_PASSWORD: your-db-password POSTGRES_DB: your-db-name # 启动 Docker Compose cd ~/docker-compose sudo docker-compose up -d # 如果你需要停止 Docker Compose sudo docker-compose down ``` 4. 在 Jenkins 中配置 Maven 插件和 Docker 插件 - 在 Jenkins 中安装 Maven 插件和 Docker 插件。 - 在 Jenkins 中配置 Docker 插件,确保 Jenkins 可以与 Docker 交互。 5. 在 Jenkins 中创建一个新的构建项目 - 在 Jenkins 中创建一个新的 Maven 项目,并配置 Git 代码库以获取源代码。 - 在构建项目中配置 Maven 构建步骤,构建出可执行的 Spring Boot jar 包。 - 在构建项目中添加一个后置操作步骤,使用 Docker 插件进行 Docker 镜像的构建。你需要为 Docker 镜像指定一个名称和标签,并指定构建上下文。 - 在构建项目中添加另一个后置操作步骤,使用 Docker 插件将构建好的镜像推送到 Docker 仓库中。 6. 在目标服务器上使用 Docker 运行 Spring Boot 镜像 - 在目标服务器上拉取构建好的 Spring Boot 镜像。 - 在目标服务器上使用 Docker 运行 Spring Boot 镜像,你可以使用 Docker Compose 或 Docker Stack 进行容器编排和管理。 以上是使用 JenkinsDocker 进行 CentOS 部署 Spring Boot 项目的详细步骤和命令,希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值