Docker Compose+Jenkins自动化部署全流程

准备工作

  • 安装Docker Compose并部署Jenkins和Git服务
  • 建议在宿主机生成SSH密钥对,将密钥挂载到容器
  • 将公钥配置到Codeup代码仓库的SSH设置中
  • Jenkins容器内部测试 SSH 连接

Jenkins配置流程

1. 创建job

2. 选择流水线类型

3. 到这里我们就开始配置Pipeline script,点击Pipeline语法,来自动生成我们需要的配置。

4. 如下图,我们Git方式,配置Git仓库地址(SSH协议),再添加认证相关。

  1. 这里我们使用的是秘钥认证方式,由于jenkins是通过docker compose管理容器,**推荐在宿主机上生成密钥对,然后挂载到容器中,**公钥配置到git仓库SSH配置中,私钥粘贴到下图Key中,这样jenkins就可以免交互的拉取git仓库 中的代码了。
  1. 配置完成后,我们就可以生成Pipeline脚本了。点击下方Generate Pipeline Script,然后复制方框内的内容。
  1. 编写我们所需要的Pipeline脚本如下,将其粘贴到script的拉取代码模块中,并修改正确的分支,其他模块内容自行编写。

    pipeline {
    agent any

    复制代码
     stages {
         stage('拉取代码') {
             steps {
                 git(
                     url: 'git@codeup.aliyun.com:xxxx.git',
                     branch: 'master',
                     credentialsId: 'codeup-xxxx'  // 你在 Jenkins 中创建的凭证ID
                 )
             }
         }
         
         stage('构建') {
             steps {
                 sh 'echo "开始构建..."'
                 // 你的构建命令,例如:
                 // sh 'mvn clean package'
                 // sh 'npm install && npm run build'
             }
         }
         
         stage('测试') {
             steps {
                 sh 'echo "运行测试..."'
                 // sh 'mvn test'
                 // sh 'npm test'
             }
         }
     }
     
     post {
         success {
             echo 'Pipeline 执行成功!'
         }
         failure {
             echo 'Pipeline 执行失败!'
         }
     }

    }

  2. 立即构建,运行测试

相关推荐
mengge.cloud7 小时前
0917Docker 小白实验教程(理论+实操)
linux·服务器·网络·docker
wdfk_prog8 小时前
用 Git Submodule + Sparse Checkout 管理 RT-Thread:内核、BSP、第三方库与业务代码分层实践
运维·缓存·docker·容器·ros
努力努力再努力wz8 小时前
【Docker入门系列】镜像为什么能复用?一文吃透 Docker Image、Registry、运行时架构与常用命令
缓存·docker·容器
java_logo12 小时前
Docker 部署填鸭表单完整教程:搭建私有化问卷与表单收集平台
docker·表单·问卷·tduck·轩辕镜像·填鸭表单·tduck platform
玉&心12 小时前
K8s HPA自动扩缩容
docker·云原生·容器·hpa·kubernates
小小ken12 小时前
docker容器(数据)备份及恢复:使用docker-volume-backup项目
docker·容器
横木沉12 小时前
IntelliJ IDEA 无法识别 Git:Git is not installed 问题解决
java·git·github·intellij-idea
wdfk_prog13 小时前
ROS教程06:ROS1 Node 启动与停止流程
运维·缓存·docker·容器·ros
阿虎儿13 小时前
2025 年的自托管(Self-Hosting)
docker·容器
叶总没有会13 小时前
Docker 基础+实战
运维·docker·云原生·容器