docker-compose jenkins 部署项目详细教程

  1. 安装 Docker 和 Docker Compose。

  2. 创建一个名为 docker-compose.yml 的文件,内容如下:

version: '3'
services:
  jenkins:
    image: jenkins/jenkins:lts
    ports:
      - "8080:8080"
      - "50000:50000"
    volumes:
      - "./jenkins_home:/var/jenkins_home"
  app:
    build: .
    ports:
      - "8081:8080"

说明:

jenkins 服务使用 Jenkins 官方镜像,映射 8080 和 50000 端口,挂载本地目录 ./jenkins_home 到 Jenkins 容器的 /var/jenkins_home 目录下,以保留 Jenkins 的数据和配置。
app 服务使用当前目录中的 Dockerfile 构建镜像,映射 8081 端口。

  1. 创建 Dockerfile 文件,内容如下:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

说明:使用 OpenJDK 8 作为基础镜像,将构建好的 Spring Boot 应用 JAR 文件复制到容器中,并指定容器启动时执行的命令。

  1. 在项目根目录下执行 docker-compose up -d 命令启动容器。

  2. 访问 http://localhost:8080 进入 Jenkins 界面,按照提示完成安装和初始化。

  3. 在 Jenkins 中新建一个 Pipeline 项目,配置 Pipeline 脚本,例如:

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh 'mvn clean package'
            }
        }
        stage('Deploy') {
            steps {
                sh 'docker build -t myapp .'
                sh 'docker stop myapp || true && docker rm myapp || true'
                sh 'docker run -d --name myapp -p 8081:8080 myapp'
            }
        }
    }
}

说明:

Build 阶段使用 Maven 打包项目。
Deploy 阶段构建 Docker 镜像,并在容器中运行项目。先停止并删除已有的容器,再启动新的容器。
保存并运行 Pipeline,观察构建和部署过程。如果成功,访问 http://localhost:8081 应该能看到部署好的 Spring Boot 项目。

注意事项:

Jenkins 容器需要访问本地的 Docker 守护进程,需要将 /var/run/docker.sock 文件挂载到容器中,例如加上以下配置:

复制

volumes:
  - "/var/run/docker.sock:/var/run/docker.sock"

如果是在 Windows 环境下使用 Docker,需要修改 docker-compose.yml 文件中的目录路径,例如将 ./jenkins_home 修改为 ./jenkins_home:/var/jenkins_home:z。

在实际生产环境中,需要考虑更多的安全、可维护性和可扩展性问题,例如使用 Docker Swarm 或 Kubernetes 等容器编排技术,使用 Docker 镜像仓库存储镜像,使用 Jenkins 的插件和 Pipeline 脚本库等。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值