Jenkins 安装配置运行实现自动化构建
一、准备工作
个人的环境及工具: Jenkins 2.190.3 war包 、tomcat9.x、maven3.60、JDK 13.0.1、git2.22.1
- 下载解压 tomcat 到
/opt/tomcat/
- 下载解压 maven 到
/opt/maven/
- 下载解压 JDK 到
/usr/java/
- 下载解压 git 到
/usr/src/
- 把 Jenkins.war 放到tomcat的解压目录
webapps/
下webapps/Jenkins.war
二、配置 tomcat
因为 tomcat 默认情况下,管理器manager只能从运行在同一台机器上的浏览器。
这时候需要修改tomcat的一些配置,这样我们才能有权限远程访问tomcat的 manager app 等页面
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.在两个配置文件中都添加 |\d+\.\d+\.\d+\.\d+
两个配置文件位置:
/opt/tomcat/webapps/manager/META-INF/context.xml
/opt/tomcat/webapps/host-manager/META-INF/context.xml
<!-- 法一:直接注释,对我来说无效 -->
<!-- <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
第一步: 安装编译git时需要的包
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install -y gcc perl-ExtUtils-MakeMaker
第二步:删除已有的git
yum remove git
第三步: Git 官网下载Git最新版tar包,移动到 /usr/src
目录下
cd /usr/src
tar -zxvf git-2.9.3.tar.gz
第四步:编译安装
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
四、运行 Jenkins
1.启动tomcatbin/startup.sh
2.访问
ip:8080/jenkins
运行 jenkins 初始化
3.可以根据提示 cat
查看密码, 然后下一步
4.这里需要连代理安装插件 [选择推荐的]
, 可以离线安装
5.安装完后,来到这里
注:
如果这里不创建管理员用户 以后退出登录jenkins 使用的是 admin + 上面 cat 的密码登录
如果创建了 lankeren 管理员,那么原来的admin就失效了,以后都是使用 lankeren 登录 jenkins
五、初步配置 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
- 添加 git 位置 (别名:MyGit)
/usr/local/git/bin/git
- 新增JDK的位置 ( 别名:MyJDK )
/opt/jdk1.8.0_121
.........
新增 Maven
别名:MyMavenopt/apache-maven-3.6.0
安装插件 deploy to container
[也是要连代理],可能失败,网络不稳定,多试几次
注: 创建一个 maven (web)工程,要求上传github/gitee上的项目名目录下要有 pom.xml 文件
六、 初步创建一个 Jenkins 项目
在 Jenkins 上创建一个新任务 [构建一个自由风格的软件项目
]
项目配置
1.源码管理
None
Git √
Subverion
选择Git
然后配置Git相关的内容
如果选择 github
1. 配置项目git
2. 同时要配置系统配置 添加 git server
如果选择 gitee
1. 配置项目里的 gitee
2. 同时要配置系统配置中的 gitee
[1] Jenkins + github
项目中配置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
[2] Jenkins + gitee
- 插件安装
- 前往 Manage Jenkins -> Manage Plugins -> Available
- 右侧 Filter 输入: Gitee
添加gitee码云链接配置 ( 系统配置
- 前往 Jenkins -> Manage Jenkins -> Configure System -> Gitee Configuration -> Gitee connections
- 在
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 Token - 点击
Advanced
,可配置是否忽略 SSL 错误(适您的Jenkins环境是否支持),并可设置链接测超时时间(适您的网络环境而定) - 点击
Test Connection
测试链接是否成功,如失败请检查以上 3,5,6 步骤。
配置成功后如图所示
项目中git配置
- 按照上面的 github 配置,只需要改变
仓库链接
为gitee的仓库HTTPS链接
,账户改为gitee
的账户
2.进入源码管理配置中设置的码云项目中,进入 管理 -> WebHooks
- 添加 WebHook, URL 填写
触发器配置:Build when a change is pushed to Gitee. Gitee webhook URL
中所示 URL -
密码填写
:触发器配置第 5 点中配置的 WebHook密码,不设密码可以不填 - 勾选 PUSH, Pull Request
3.构建以及构建后的操作 ( 需要deploy插件,将在target生成的war包
部署到tomcat的/webapps下
apple 为项目的访问路径名字
例:127.0.0.1:8080/apple/index.jsp
4.另外听说要关闭防止跨站点请求伪造
,然后我关闭了,不知道不关闭会不会一样能用
七、IDEA
在 IDEA 中
第一步,先创建本地仓库
第二步,提交文件/项目
第三步,push到github / gitee
第四步,访问 ip:port/xiangmumingcheng/test.html
ok
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。