创建目标文件夹
创建docker-compose.yml
内容如下:
解锁 Jenkins
Jenkins 第一次启动时需要输入一个初始密码用以解锁安装流程,使用 docker logs jenkins 即可方便的查看到初始密码。也可以根据提示在容器中查看/var/jenkins_home/secrets/initialAdminPassword文件。
*************************************************************
*************************************************************
*************************************************************Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:67b9966bc4334a17ad7a7daef043bac8
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************插件安装
插件是 Jenkins的核心,其丰富的插件可以满足不同人群的不同需求。
Jenkins 官网插件地址:https://plugins.jenkins.io/
输入初始密码后,选择自选方式安装插件。
注意:除了默认勾选的插件外,一定要勾选 Publish over SSH 插件,这是我们实现持续交付的重点插件。
出现部分插件安装失败时,点击重试按钮,多次重试,如果还是无法安装,记住这些插件的名字,稍后可以手动安装。
进入首页
Jenkins手动安装插件
如下例子为安装中文插件
Manage Jenkins -> Manage Plugins -> Avaliable
右上角搜索框查找想要安装的插件,选中,点击Download now and install after restart。
下载好后,重启Jenkins。
配置 JDK & Maven
上传 JDK 和 Maven 的 tar 包到服务器(容器数据卷目录),进行解压缩。
Manage Jenkins -> Global Tool Configuration(系统管理->全局工具配置)。
安装 JDK
安装Maven
点击保存
安装动态参数插件
该插件的主要目的是为了方便我们后面在做项目构建时可以按照版本进行构建(支持一键回滚)
Manage Jenkins -> Manage Plugins -> Avaliable 搜索 Extended Choice Parameter 点击Download now and install after restart。
配置 Jenkins 的 GitLab SSH 免密登录
交互式进入 Jenkins 容器
生成 SSH KEY
查看公钥
复制公钥到 GitLab
手动克隆一次项目,该步骤的主要作用是为了生成和服务器的验证信息
查看生成文件
配置 Publish over SSH
系统管理 -> 系统设置 -> Publish over SSH
点击新增,其中 Remote Directory 是指 Jenkins 可以在目标服务器操作的目录,选择 Use password, 输入目标服务器密码
测试能否正常通信
点击保存
持续交付 Maven 项目
为项目创建标签
在 GitLab 中为项目创建标签
在 Jenkins 中创建 Maven Project
在 Jenkins 中创建一个基于 Maven 的任务
这里没有Maven 项目选项,需要安装插件 Maven Integration 、Pipeline Maven Integration
配置第一次构建
构建项目
查看构建日志
配置正式构建
增加参数化构建过程
这里使用了 Groovy 脚本来查询最近的 tags 版本,代码如下:
关闭源码管理
增加构建步骤
shell 脚本代码如下:
使用参数化构建项目
批准 groovy 脚本
再次点击参数化构建
查看构建日志
发送文件或执行远程命令
Source files:需要传输到远程目标服务器的文件
Remove prefix:删除前缀。比如传输 **/*.jar,我们打包的 .jar 文件是在 target 目录下的,传输时会一并创建 target 目录,如果不希望创建 target 目录,则可以使用该参数屏蔽掉这些前缀文件夹。
Remote directory:在远程目标服务器创建操作目录
Exec command:在远程目标服务器执行控制台命令
到此这篇关于Docker Compose构建Jenkins的实现的文章就介绍到这了,更多相关Docker Compose构建Jenkins内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文地址:https://blog.csdn.net/qq_41779565/article/details/125514664