Jenkins配置与运行流程实现自动化构建
html
我的的环境及工具: Jenkins 2.190.3 war包 、tomcat9.x、maven3.60、JDK 13.0.一、git2.22.1java
/opt/tomcat/
/opt/maven/
/usr/java/
/usr/src/
webapps/
下 webapps/Jenkins.war
由于 tomcat 默认状况下,管理器manager只能从运行在同一台机器上的浏览器。
这时候须要修改tomcat的一些配置,这样咱们才能有权限远程访问tomcat的 manager app 等页面git
1.配置文件位置: /opt/tomcat/conf/tomcat-users.xml
<!-- 末尾添加--> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx" /> <role rolename="manager-status"/> <user username="tomcat" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status" />
2.两个配置文件位置:
/opt/tomcat/webapps/manager/META-INF/context.xml /opt/tomcat/webapps/host-manager/META-INF/context.xml
添加
|\d+\.\d+\.\d+\.\d+
<!-- 法一:直接注释,对我来讲无效 --> <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> --> <!-- 法二:把ip改成全部"^.*$" , 对我来讲无效 --> <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" /> --> <!-- 法三: 在末尾加上 |\d+\.\d+\.\d+\.\d+ --> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />
3.打开tomcat解压目录tomcat/conf/server.xml修改URL地址的编码解码字符集
添加URIEncoding="UTF-8"
JavaWeb 的时候get请求带中文的请求参数不至于乱码
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout= "20000" redirectPort="8443" URIEncoding="UTF-8"/>
第一步:安装编译git时须要的包github
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum install -y gcc perl-ExtUtils-MakeMaker
第二步:删除已有的gitweb
yum remove git
第三步: Git 官网下载Git最新版tar包,移动到/usr/src目录下shell
cd /usr/src tar -zxvf git-2.9.3.tar.gz
第四步:编译安装apache
cd git-2.9.3 make prefix=/usr/local/git all make prefix=/usr/local/git install echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc source /etc/bashrc
第五步:检查一下版本号浏览器
git --version
启动tomcat bin/startup.sh
访问 ip:8080/jenkins
运行 jenkins 初始化tomcat
能够根据提示 cat
查看密码安全
这里须要连代理安装插件[选择推荐的], 也能够离线安装
注:
若是这里不建立管理员用户 之后退出登陆jenkins 使用的是 admin + 上面 cat 的密码登陆
若是建立了 lankeren 管理员,那么原来的admin就失效了,之后都是使用 lankeren 登陆 jenkins
全局安全配置
容许用户注册√
,这样到时候密码忘了去注册还能作些操做
全局工具配置
例MAVEN_HOME: opt/apache-maven-3.6.0
例JAVA_HOEM: /opt/jdk1.8.0_121
指定Maven配置位置
opt/apache-maven-3.6.0/conf/settings.xml
新增JDK的位置
别名: MyJDK/opt/jdk1.8.0_121
新增 Maven
别名:MyMavenopt/apache-maven-3.6.0
添加 git 位置/usr/local/git/bin/git
安装插件 deploy to container
[也是要连代理],可能失败,网络不稳定,多试几回
建立一个 maven (web)工程,要求上传github/gitee上的项目名目录下要有pom.xml文件
在 Jenkins 上建立一个新任务 [构建一个自由风格的软件项目
]
1.源码管理
None Git √ Subverion
选择Git
而后配置Git相关的内容
若是选择 github 1. 配置项目git 2. 同时要配置系统配置 添加 git server 若是选择 gitee 1. 配置项目里的 gitee 2. 同时要配置系统配置中的 gitee
项目中配置github 仓库的URL 是当前项目的克隆与下载那里的 HTTPS 连接
github中获取访问token值,须要一个对项目有写权限的帐户
GitHub -> setting -> Developer setting->Personal access tokens->点击Generate new token
内容以下:
建立成功后,token以下:
全局配置 添加一个 github server
Jenkins中Github配置中添加token凭证
系统管理->添加Github server->添加Secret text凭证->链接测试这里我链接测试的时候返回 ERROR 而后没有管了,能够正常自动构建
Secret text凭证添加以下:
类型需选择Secret text,Secret处输入Github中上面生成的token值
Hook URL默认:ip:port/jenkins/github-webhook
写到 github项目setting的webhook中settings->webhooks->Add webhook
Connection name
中输入Gitee
或者你想要的名字Gitee host URL
中输入码云完整 URL地址:https://gitee.com
(码云私有化客户输入部署的域名)Credentials
中如还未配置码云 APIV5 私人令牌,点击Add
- >Jenkins
Domain
选择Global credentials
Kind
选择Gitee API Token
Scope
选择你须要的范围Gitee API Token
输入你的码云私人令牌,获取地址:https://gitee.com/profile/personal_access_tokens ID
,Descripiton
中输入你想要的 ID 和描述便可。Credentials
选择配置好的 Gitee APIV5 TokenAdvanced
,可配置是否忽略 SSL 错误(适您的Jenkins环境是否支持),并可设置连接测超时时间(适您的网络环境而定)Test Connection
测试连接是否成功,如失败请检查以上 3,5,6 步骤。配置成功后如图所示
仓库连接
为gitee的仓库HTTPS连接
,帐户改成 gitee
的帐户2.进入源码管理配置中设置的码云项目中,进入 管理 -> WebHooks
触发器配置:Build when a change is pushed to Gitee. Gitee webhook URL
中所示 URL密码填写
:触发器配置第 5 点中配置的 WebHook密码,不设密码能够不填3.构建以及构建后的操做 ( 须要deploy插件,将在target生成的war包
部署到tomcat的/webapps下
apple 为项目的访问路径名字
例:127.0.0.1:8080/apple/index.jsp
4.另外据说要关闭防止跨站点请求伪造
,而后我关闭了,不知道不关闭会不会同样能用
在 IDEA 中
ok