Jenkins学习日记

Jenkins学习日记

背景:在以前实习的时候,呆在一个小公司,也学习了好长时间,其中带我的师父也使用了这个技术,但是哪个时候接受的东西太多了,也来得及问,包括docker,对呀那个时候我对docker了解就停留在docker pull这些基础命令之上,虽然那个时候公司的服务器也部署了jenkins但是我只是使用,照着师父给的操作指南这点一下那点一下,然后完成了至于那时候打包出来的jar包还是镜像,已经忘了。前几天想到的时候,虽然保留了副本但是u盘掉落了,你问我为什么不保存在云盘上?因为那个时候电脑出了毛病,然后呢,我为了图快就保存在了U盘中,结果就是这样。那直接开始吧

开始安装

  1. 选择一个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 的主机

配置

  1. 在你输入完密码后,选择推荐安装即可,默默等待 如果失败重试

  2. 在你的服务器上安装 apache-maven.xxx.bin.tar.gz 这个随便 (有坑请注意)

  3. 安装插件在 ip:8080 Jenkins 页面上 Manage Jenkins 安装maven without restart 还有就是gitee插件,这个要去system里面设置令牌 输入gitee.com即可

    • 到系统配置区域 进入 gitee 链接
      gitee设置

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

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

  4. 新建item maven 项目

  5. GitHub项目选择 - url就是仓库地址 - Git选择你的地址 + 加上你的手机号和密码

  6. 配置maven 然后注意你的pom文件是 docker_boot/pom.xml,这个是你项目的master下的路径

  7. 请记住jdk11 可能不支持 lombok的版本自己升级一下。

连接其他服务器

  1. 下载插件 publish over ssh
  2. 配置项目
  3. 设置 配置 - 系统

上面的密码也要设置

img
4. 项目中配置
img
5. 你的command那里可以配置成 cd xxx;mkdir xxx; 用;分隔命令

前置处理

解释: grep -v 取反, awk 取出第二个字符串

  1. 命令 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}')

案例
img

自动构建触发器

具体就是gitee上面执行了上面 然后调用 Jenkins的hook

img

路径就是: JENKINS_URL/job/docker-boot/build?token=TOKEN_NAME
token就是你自己设置的令牌。

然后就是去搜索插件 build auth
img
看一下介绍
img
路径变成 buildByToken/build?job=??&token=123123如此

然后去gitee里面 - 仓库 - webHook - 填写相应的地址
注意 因为gitee 的webhook 需要 http或者 https的请求地址 所以我们的内网地址就不能用了 这里我们需要借助花生壳 自己去官网下载

然后开始设置吧
· 这里是花生壳内网映射
img
· 然后在项目构建里 找到 gitee 触发器 然后 下拉其他默认 只有 giteehook密码的时候你需要生成然后 填写到 gitee webhook里面

· 进入到gitee里把你的花生壳内网地址填入然后就是你生成出来的密码,然后就是
buildByToken/build?job=项目名&token=你设置的hook密码

还有就是你的项目如果有要用过docker的话

1.你的Dockerfile要保留下来在你的根目录

img
配置如上
然后就愉快的编写脚本吧

记录一下以前的在上一个项目中所遇到的仅是回忆

以前的时候,师父让我在本地装一个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包

至此全篇结束

posted @ 2023-07-03 09:16  周三周四  阅读(46)  评论(0)    收藏  举报