docker+jenkins+github自动部署

前面已经写到了安装docker、jenkins、nexus的流程,接下来我写一下自动化构建流程的配置

配置jenkins只要注意几点

        1. 访问github仓库拉取代码的token

        2. 使用ssh与仓库建立连接,需要配置秘钥

        3.关闭jenkins的证书检查

接下来我们开始配置

配置Jenkins密钥

首先我们进入jenkins的容易然后生成秘钥

docker exec -it 容器编号 sh

 ssh-keygen -t rsa -C "这里是github用户名也可以是登录邮箱"  #输入完一直回车就结束了
 cat /root/.ssh/id_rsa.pub #查看公钥
配置Github账号

拿到Jenkins公钥后,需要放到Github仓库中

点击Github的个人头像在settings中重找到SSH and GPG keys选项

然后添加SSH key即可(把从Jenkins终端中获取的公钥放到这里)

 

配置jenkins中的全局工具(maven自定义配置文件路径,jdk路径,git路径)

这里是自己Maven的文件路径,切记是jenkins容器的内部挂在路径哦,不是虚拟机的文件路径

 这个路径也是jenkins内部的挂在目录的路径,通过以下命令获取jdk和git的目录

echo $JAVA_HOME

which git

 

        maven可以选择默认安装一个就行

 

开始配置jenkins 

注意:修改了jenkins的全局配置文件需要删除之前的任务,新建任务才会生效

第一步新建任务

我这里是java的maven项目为例

第二部配置git的http链接

第三步配置废弃的构建保留策略
 第四步配置源码管理

(这一步非常重要)需要配置jenkins使用ssh连接github的秘钥

这里需要再刚才查看公钥的位置把复制出来

cat /root/.ssh/id_rsa

 

提前关掉证书验证,否则这里会链接不上github

 第五步添加构建凭据

我们使用github的token来访问

github生成token可参考此文章

软件测试|如何在GitHub生成个人token?_gitlab 生成token_软件测试大空翼的博客-优快云博客

第六步maven的构建命令

clean package -Dmaven.test.skip=true

第七步配置脚本

构建完成之后选择执行shell脚本

完整文件附带下载链接

到这里就配置完成了


就可以自动构建了

构建完成后可以检查容器是否正常运行,可以访问项目试试看

### 使用 DockerJenkins 实现 CI/CD 自动部署 #### 准备工作 为了确保能够顺利搭建基于 DockerJenkins 环境,需先安装好 Docker 并确认其正常运行。对于 Linux 用户来说,在大多数发行版上都可以通过官方文档找到对应的安装指南[^2]。 #### 启动 Jenkins 容器 启动带有预配置插件的 Jenkins 官方镜像可以简化初期设置过程: ```bash docker run -d --name jenkins \ -p 8080:8080 \ -v jenkins_home:/var/jenkins_home \ jenkinsci/blueocean ``` 这条命令会拉取并启动最新版本的蓝洋界面风格的 Jenkins,并将其端口映射到主机上的 `8080`,同时创建名为 `jenkins_home` 的卷来持久保存数据[^1]。 #### 配置 Jenkins 插件与凭证管理 初次访问 Web UI (`http://localhost:8080`) 将引导完成初始化向导;建议在此期间安装推荐插件集以便快速启用常用功能。另外,利用凭据存储机制妥善保管各类认证信息(如 GitHub Token),有助于后续项目源码获取操作的安全性和便捷性。 #### 创建流水线作业定义文件 (Jenkinsfile) 在 Git 版本控制系统中的仓库根目录下放置一份描述具体构建步骤的 Groovy 脚本——即所谓的 Jenkins Pipeline 文件。它不仅能让团队成员清晰理解整个交付链条的设计思路,而且支持参数化执行以及条件分支逻辑控制等功能特性。 ```groovy pipeline { agent any stages { stage('Build') { steps { echo 'Building...' } } stage('Test') { steps { echo 'Testing...' } } stage('Deploy') { when { branch 'main' } steps { echo 'Deploying to production server...' } } } } ``` 上述示例展示了最基础结构化的多阶段管道设计模式,实际应用时可根据业务需求灵活调整各环节的具体行为。 #### 绑定 SCM 源并与触发策略关联 回到 Jenkins 控制面板内新建一个多支管线型的任务项,指定先前准备好的远程仓库地址作为代码库位置输入框的内容之一。与此同时,激活轮询或 webhook 方式的事件监听服务,从而实现在有新提交记录推送至目标分支后自动触发改任务重新排队等待处理的效果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值