前言:该系列文章,围绕继续集成:Jenkins+Docker+K8S相干组件,实现自动化治理源码编译、打包、镜像构建、部署等操作;本篇文章次要形容Jenkins根底用法。
一、Jenkins装置
1、环境部署
下载Jenkins包
留神这里间接下载war文件,以Java服务的模式启动。
- 环境:war运行
- 版本:2.289.3
- 类型:Generic Java package (.war)
启动命令
java -jar jenkins.war --httpPort=8090
启动日志
Jenkins is fully up and running
拜访本地端口:8090
该页面会提醒初始登录明码的地位,查看该文件中初始密码,并实现登录。
/.jenkins/secrets/initialAdminPassword
装置举荐插件
登录之后先把举荐的插件装上。
创立用户
插件装置实现之后会提醒创立用户。
账号:admin 明码:admin
这样初始化实现。
重新启动:restart
Jenkins_url/restart
2、配置与插件
根底配置
关上:Manage-Jenkins
选项,配置Global-Tool-Configuration
选项:
- 查看JDK装置目录 /usr/libexec/java_home -V - 查看Git装置目录 which git - 查看Maven装置目录 mvn -v
配置组件:JDK、Git、Maven,采纳开发环境的组件版本;
插件装置
装置如下插件:
1、Maven插件 Maven Integration plugin 2、Pipeline插件 Pipeline Utility Steps
二、本地Git打包
简介:基于Jenkins实现本地的Git仓库我的项目打包;
1、新建Item
- 工作名称:MavLoc,解决本地maven工程;
- 工作类型:抉择构建maven我的项目;
2、构建记录治理
放弃构建的天数:3天,放弃构建的最大个数:10个;
3、构建过程
前置Pre-Steps
步骤,这里执行一次maven版本查看:
构建Build
步骤,这里间接写我的项目的pom门路,留神执行的maven命令:
clean package -Dmaven.test.skip=true
后置Post Steps
步骤,留神抉择构建胜利后才执行,自行疏忽这里shell语法的不入流组合:
#!/bin/bash BUILD_ID=dontKillMe # 定义目录 AUTO_PATH=/我的项目门路/butte-auto-parent/ # 挪动Jar包 cd $AUTO_PATH/auto-client/target/ pwd mv auto-client-1.0-SNAPSHOT.jar $AUTO_PATH cd $AUTO_PATH/auto-serve/target/ pwd mv auto-serve-1.0-SNAPSHOT.jar $AUTO_PATH # 启动服务 cd $AUTO_PATH nohup java -jar auto-client-1.0-SNAPSHOT.jar & echo "run auto-client ..." sleep 20s nohup java -jar auto-serve-1.0-SNAPSHOT.jar & echo "run auto-serve ..."
4、执行构建
上述配置实现后,关上工作页面,执行如下操作:
- Build Now:执行下面的构建工作;
- 构建 #ID:查看控制台输入的日志;
这样就能够通过jenkins实现本地我的项目的打包和启动了。
三、API触发工作
1、用户令牌
简介:通过配置用户API拜访的token令牌,脱离jenkins控制台,间接触发构建工作;
进入用户面板的设置选项,配置API Token
:
留神这里生成令牌后要立即复制下来,页面会提醒token无奈复现。
2、工作令牌
工作配置的构建触发器模块,设置近程构建的令牌:
下面曾经给到token的应用形式。
3、脚本触发
通过如下形式,间接触发上述构建工作的流程:
curl http://用户:令牌@Jenkins_Url/job/MavLoc/build?token=工作令牌
这里通过脚本间接申请URL的形式触发流程。
四、打包Git我的项目
1、配置仓库
创立MavGit工作,这里不做过多的配置,与本地仓库相比,只是把仓库地址换成Gitee地址,只配置仓库url和分支即可,其余采纳默认:
因为是凋谢的仓库地址,所以不必配置账号密码,默认指定master分支,而后执行build构建。
2、查看空间
下面流程执行完后,查看MavGit的工作空间:/.jenkins/workspace/MavGit
:
这里能够显著发现,仓库的代码曾经被pull下来,并且实现了主动打包流程,后续联合shell脚本实现jar启动治理即可。
同系列文章:┃ 服务部署公布 ┃ 灰度模式 ┃ 自动化流程 ┃ 消息中间件革新 ┃ 微服务组件二次浅封装 ┃
五、源代码地址
GitEE·地址 https://gitee.com/cicadasmile/butte-auto-parent Wiki·地址 https://gitee.com/cicadasmile/butte-java-note/wikis