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. 立即构建,运行测试

相关推荐
超梦dasgg9 小时前
工作中 Git 完整使用指南(职场实战版)
git
Ws_9 小时前
Git + Gerrit 第七课:stash 临时保存工作区修改
git
enjoywindstorm9 小时前
git从入门到精通
git
Adorable老犀牛14 小时前
Git 发布正式版本的一个专属的硬核功能,叫做 打标签(Tag)。
git
一个向上的运维者14 小时前
Docker 自定义网络中容器无法通过宿主机 IP 访问服务的完整排障记录
网络·tcp/ip·docker
ClouGence14 小时前
CloudDM 3.1.0 发布:初始化、驱动管理与升级体验全面优化
docker·开源·数据库管理·企业开发·数据库工具·数据库运维
我先去打把游戏先15 小时前
Ubuntu虚拟机(服务器版本)Git卸载完全教程——彻底移除与清理配置
服务器·git·单片机·嵌入式硬件·物联网·ubuntu·51单片机
zandy101115 小时前
Hermes Agent 安装与配置全流程(2026年6月最新版)
docker·agent·安装教程·kimi
取经蜗牛15 小时前
Docker 常用命令全面总结
运维·docker·容器