返回

Dock术大集合:Docker + Jenkins 实现 CI/CD,一步步手把手教你自动化部署!

前端

序曲:何谓CI/CD?

如今,软件的开发与部署不再是各自为政,取而代之的是一种名为CI/CD(持续集成/持续部署)的方法论。它将开发、测试和部署等软件生命周期的不同阶段连接起来,形成一个完整的自动化流水线。具体而言:

  • 持续集成(CI) :代码提交后立即进行构建、测试和集成。

  • 持续部署(CD) :在测试通过后自动将代码部署到生产环境。

CI/CD的精髓在于自动化,它能极大提高软件交付的速度和质量,因此受到越来越多的企业和开发者的青睐。

第一乐章:Docker介绍

Docker是一个开源的容器引擎,可以将应用及其依赖项打包成一个轻量级的、可移植的容器。Docker容器可以独立运行,不受底层基础设施的影响,因此在不同的环境中可以实现一致的运行效果。

第二乐章:Jenkins介绍

Jenkins是一个开源的持续集成和持续部署工具。它可以自动执行构建、测试和部署任务,并提供友好的图形用户界面(GUI)用于管理和监控CI/CD流水线。

第三乐章:使用Docker和Jenkins实现CI/CD

接下来,我们将手把手地指导你使用Docker和Jenkins构建一个CI/CD流水线,实现自动化的部署。

1. 安装和配置Docker

首先,你需要在你的服务器上安装Docker。具体步骤可以参考Docker官方文档。

安装完成后,你还需要配置Docker。具体步骤如下:

  • 创建一个Docker用户组,并把自己添加到这个组中:
sudo groupadd docker
sudo usermod -aG docker $USER
  • 重新启动Docker服务:
sudo systemctl restart docker

2. 安装和配置Jenkins

接下来,你需要在你的服务器上安装Jenkins。具体步骤可以参考Jenkins官方文档。

安装完成后,你还需要配置Jenkins。具体步骤如下:

  • 启动Jenkins服务:
sudo systemctl start jenkins
  • 打开浏览器,访问http://localhost:8080,即可进入Jenkins的管理界面。

  • 初次登录时,需要设置一个管理员密码。

  • 接下来,你需要安装一些插件。在Jenkins的管理界面中,点击“管理Jenkins”>“管理插件”>“可用”,然后搜索并安装以下插件:

- Git
- Docker
- Docker Pipeline
- Kubernetes

3. 创建CI/CD流水线

现在,你可以开始创建CI/CD流水线了。

  • 在Jenkins的管理界面中,点击“新建任务”。

  • 选择“Pipeline”。

  • 在“流水线”字段中,粘贴以下内容:

node {
    def gitUrl = 'https://github.com/jenkinsci/docker-simple-maven-example.git'
    def dockerImage = 'jenkinsci/docker-simple-maven-example:latest'

    stage('Checkout code') {
        git url: gitUrl
    }

    stage('Build and test') {
        sh 'mvn clean install'
    }

    stage('Create Docker image') {
        docker.build image: dockerImage
    }

    stage('Push Docker image to registry') {
        docker.withRegistry('https://index.docker.io/v1/', 'username', 'password') {
            docker.push(dockerImage)
        }
    }

    stage('Deploy to Kubernetes') {
        kubernetesDeploy(
            name: 'example-app',
            kubeconfig: 'path/to/kubeconfig',
            definition: 'path/to/deployment.yml'
        )
    }
}
  • 点击“保存”。

4. 运行流水线

现在,你可以运行流水线了。

  • 在流水线列表中,点击你刚刚创建的流水线。

  • 点击“立即构建”。

  • 等待流水线运行完成。

5. 查看结果

流水线运行完成后,你可以点击“控制台输出”查看构建日志。

如果流水线运行成功,你应该可以看到如下输出:

[Pipeline] End of Pipeline
Finished: SUCCESS

尾声:小结

至此,你已经成功地使用Docker和Jenkins构建了一个CI/CD流水线。接下来,你可以根据自己的需要,对流水线进行修改,以适应不同的项目和部署环境。

CI/CD是一种非常强大的工具,它可以极大提高软件交付的速度和质量。如果你还没有使用CI/CD,那么强烈建议你尝试一下。