Jenkins学习日记
Jenkins学习日记
背景:在以前实习的时候,呆在一个小公司,也学习了好长时间,其中带我的师父也使用了这个技术,但是哪个时候接受的东西太多了,也来得及问,包括docker,对呀那个时候我对docker了解就停留在docker pull这些基础命令之上,虽然那个时候公司的服务器也部署了jenkins但是我只是使用,照着师父给的操作指南这点一下那点一下,然后完成了至于那时候打包出来的jar包还是镜像,已经忘了。前几天想到的时候,虽然保留了副本但是u盘掉落了,你问我为什么不保存在云盘上?因为那个时候电脑出了毛病,然后呢,我为了图快就保存在了U盘中,结果就是这样。那直接开始吧
开始安装
-
选择一个jdk或者jre
yum update #我推荐先更新一下 yum search java | grep jdk # 这里我建议下载11然后把下载好的Jenkins.war包放在/目录下 直接
java -jar jenkins.war
如果你本地的环境是8的话,他会提示你的jdk太老了,没办法你还是下载11吧先卸载掉你下载好的jdk
yum -y remove java-1.8.0* yum -y remove tzdata-java.noarch yum -y remove javapackages-tools.noarch yum install -y java-11-openjdk-devel.x86_64 或者是jdk环境不是 jre yum install -y java-devel运行
java -jar xxx.war因为第一次启动会显示密码一串 复制粘贴
进入ip:8080这个ip就是你配置Jenkins 的主机
配置
-
在你输入完密码后,选择推荐安装即可,默默等待 如果失败重试
-
在你的服务器上安装 apache-maven.xxx.bin.tar.gz 这个随便 (有坑请注意)
-
安装插件在 ip:8080 Jenkins 页面上 Manage Jenkins 安装maven without restart 还有就是gitee插件,这个要去system里面设置令牌 输入gitee.com即可
-
到系统配置区域 进入 gitee 链接

-
这里还要设置maven 例如我的maven 在 /usr/local/maven 在manage Jenkins 里的 tools修改

-
然后进入项目的配置 github 和 gitee


-
-
新建item maven 项目
-
GitHub项目选择 - url就是仓库地址 - Git选择你的地址 + 加上你的手机号和密码
-
配置maven 然后注意你的pom文件是 docker_boot/pom.xml,这个是你项目的master下的路径
-
请记住jdk11 可能不支持 lombok的版本自己升级一下。
连接其他服务器
- 下载插件 publish over ssh
- 配置项目
- 设置 配置 - 系统
上面的密码也要设置

4. 项目中配置

5. 你的command那里可以配置成 cd xxx;mkdir xxx; 用;分隔命令
前置处理
解释: grep -v 取反, awk 取出第二个字符串
- 命令 ps -ef | grep demo | grep -v grep | awk '{printf $2}'
例如我想把docker的镜像删除掉 因为他要生成 所以我这里再前置处理传一个exec command 代码就是 拿到这个images id 过滤加获取第三个参数
cd ./mydocker;docker rmi -f $(docker images | grep fyeeware | grep 1.6 | awk '{printf $3}')
案例
自动构建触发器
具体就是gitee上面执行了上面 然后调用 Jenkins的hook

路径就是: JENKINS_URL/job/docker-boot/build?token=TOKEN_NAME
token就是你自己设置的令牌。
然后就是去搜索插件 build auth

看一下介绍

路径变成 buildByToken/build?job=??&token=123123如此
然后去gitee里面 - 仓库 - webHook - 填写相应的地址
注意 因为gitee 的webhook 需要 http或者 https的请求地址 所以我们的内网地址就不能用了 这里我们需要借助花生壳 自己去官网下载
然后开始设置吧
· 这里是花生壳内网映射

· 然后在项目构建里 找到 gitee 触发器 然后 下拉其他默认 只有 giteehook密码的时候你需要生成然后 填写到 gitee webhook里面
· 进入到gitee里把你的花生壳内网地址填入然后就是你生成出来的密码,然后就是
buildByToken/build?job=项目名&token=你设置的hook密码
还有就是你的项目如果有要用过docker的话
1.你的Dockerfile要保留下来在你的根目录

配置如上
然后就愉快的编写脚本吧
记录一下以前的在上一个项目中所遇到的仅是回忆
以前的时候,师父让我在本地装一个Ubuntu 用于部署,当时听到部署觉得好新奇,好牛逼呀,可以把自己写的代码放到公网上去了,其实不是!是他们本地的服务器,好像是192.168开头的?我也忘却了,然后呢,我当时就是写业务,虽然之前写的是react和java但是react自从我离开之后就没怎么碰过了,还有就是我当时也只是学了一点点勉强照着其他模块来,有时间我会更新react/vue的学习日记。说回正题。因为啥我也不好说,你在本地运行了 docker desktop 还有Ubuntu,然后呢就是运行师父给的脚本,当初并不知道那个脚本有啥用,就是直接运行还有就是本地会出现相应的jar包,因为Jenkins是运行在公司服务器上的所以我推测在公司服务器上的 pre 或者post 构建自动触发了脚本,比如镜像的打包然后传到私有的阿里云然后这些脚本就是直接pull下来然后打成tar包,然后呢这个tar包传到内部服务器后就是解压然后就是docker run -d -p 8080:8080 --name xx imageid;在补充一个当时的运行是有 -Dspring.config.additional-location=/etc/xx.conf/ -jar xxx.jar 这个就是外置的jar包


浙公网安备 33010602011771号