Jenkins结合Github从0到1(所有遇到的报错及解决)

本文写Jenkins和GitHub的结合使用。至于为什么用这个叫Jenkins的东西。因为部署自动化,省去了代码打包编译部署发布到服务器上的操作。只需你把代码提交到代码仓库,这一切都由Jenkins帮你做了。

关于Jenkins,maven在Linux环境安装可以看我的这篇文章:https://blog.csdn.net/finalheart/article/details/89001665

关于git配置密钥可以看我的这篇文章:https://blog.csdn.net/finalheart/article/details/89048883

假设你已经做完准备工作了。即安装好了Jenkins,maven,git那么继续。

 

首先说一下,你可以不配置你的Jenkins工作目录。默认为  /var/lib/jenkins   如果想配置就在 /etc/profile中加入

JENKINS_HOME=....就可以了。  注意这个工作目录在开启Jenkins的时候会加载。如果你一开始没设置。以后设置会重置你Jenkins的所有配置!!!

 

1.然后安装一个maven插件。

去系统管理>>插件管理>>可选插件  搜索 Maven Integration plugin 搜索完直接安装就行。你可能还会搜索到一个pipelineMaven Integration plugin 这个我也装上了。但是出现可以新建maven项目是 Maven Integration plugin 插件。

2.配置一下github的token。

下面那一长串复制下来那个是连接GitHub的token 需要在Jenkins里面配置。这个更新所有引用地方也需要更新。存起来。

3.然后进入你的github想做自动化部署的项目添加webhooks

>>settings>>webhooks  指定的是push事件。即push代码进行构建。

4.然后回到我们的Jenkins中。配置GitHub. 

jenkins 中的系统设置里面

5.然后我们需要在全局设置里面配置maven home

就是你Jenkins服务器中按的maven home. 不然你配置build的时候goals那栏会报错。

6.搭建新任务

创建一个maven项目。

然后继续,注意这个Local subdir... 这个要配置成和项目名称一样。

 

然后到现在可以把git代码拉到Jenkins工作目录下,并执行maven命令打包好了。接下来就是构建后的操作了。比如你想运行起来还是怎么地。加shell就行。如下。我把命令都写在我服务器的一个sh脚本里面了。

我是用的springboot玩的。别的也有别的玩法,大同小异而已。  注:一定要声明 "大哥别杀我" BUILD_ID=dontkillme

经过以上的搭建后,就可以进行部署了。

我刚往GitHub提交了测试代码。构建成功。nice

tips : Jenkins有很多内置变量。很好用。比如 ${JOB_HOME} 等等。

7遇到的错误

1.下面这个报错是你的Jenkins没有maven执行权限。 failed to transfer 

我的Jenkins配置文件在vim  /etc/default/jenkins  去你的Jenkins配置文件中配置JENKINS_USER="root"就行了

2.下面的报错是你配置build的时候没有指定pom.xml为工作空间即项目根目录下。前面加上下面这个时候配置的项目名称就行   errorTest/pom.xml 这样就行了。

3.下面这个错误是源码管理中的Additional Behaviours 中的 check out to ...配置的名称不是项目名称导致的。

4.下面是构建后想执行一个命令,然后执行失败了。发现不加sudo 就好用了。。对于这种command not found 网上查到两种解决方法,当然我都没用上。一种是 #!/bin/sh -l 加在shell第一行  第二种是配置Jenkins全局配置里面的PATH全局变量。

这两种我都没用上,我的去掉sudo就好用了。

5.在最后我build成功后,我又遇到一个问题,已经显示全部都success。但是我访问我的服务发现不好用。然后去服务器上查,发现没有启动。于是我就很纳闷。寻找到如下解决方法。就是执行shell的时候要声明  "大哥别杀我"

Jenkins会在构建完成后使用processTreeKiller杀掉了所有子进程,而且这是Jenkins的默认行为。其实回头来看这个问题,就发现Jenkins的做法非常合理。当一次build异常结束,或被人终止时,必然需要结束所有这次build启动的子进程。下面的link提供了更多细节,以及解决方法。https://wiki.jenkins-ci.org/display/JENKINS/ProcessTreeKiller。
 

 

觉得有用点个赞吧。有问题欢迎交流。

 

参考:https://blog.csdn.net/weixin_39483907/article/details/80840948

https://github.com/muyinchen/woker

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用 Jenkins 的从 0 到 1 的基本步骤: 1. 下载和安装 Jenkins:在 Jenkins 的官网上下载适合你操作系统的 Jenkins 安装包并安装。 2. 启动 Jenkins:安装完成后,启动 Jenkins,打开浏览器,输入 localhost:8080 进入 Jenkins 的 web 界面。 3. 安装必要的插件:在进入 Jenkins 的 web 界面后,Jenkins 会提示你安装必要的插件,这些插件可以帮助你完成各种 CI/CD 的任务。 4. 创建一个新的 Jenkins 任务:在 Jenkins 的 web 界面上,点击“新建任务”,选择一个项目类型,例如自由风格项目或者流水线项目。 5. 配置 Jenkins 任务:在 Jenkins 任务的配置页面上,根据你的项目需要填写相关的配置信息,例如源代码的仓库地址、构建命令、构建后的部署等。 6. 运行 Jenkins 任务:当你完成了 Jenkins 任务的配置后,你可以点击“立即构建”来启动你的任务。 7. 查看 Jenkins 构建结果:Jenkins 会自动执行你配置的构建流程,并在执行结束后,显示构建结果的详细信息,例如构建状态、构建日志、构建报告等。 8. 定期维护 JenkinsJenkins 是一个长期稳定的 CI/CD 工具,需要定期维护和更新。在 Jenkins 的 web 界面上,你可以通过插件管理和系统设置来管理你的 Jenkins 服务。 以上是基本的 Jenkins 使用方法,当你熟悉了这些基础操作后,你可以进一步了解 Jenkins 更多高级的功能和插件,例如构建触发器、多节点构建、可视化流水线等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值