2

Jenkins 安装配置运行实现自动化构建

一、准备工作

个人的环境及工具: Jenkins 2.190.3 war包 、tomcat9.x、maven3.60、JDK 13.0.1、git2.22.1

  1. 下载解压 tomcat 到 /opt/tomcat/
  2. 下载解压 maven 到 /opt/maven/
  3. 下载解压 JDK 到 /usr/java/
  4. 下载解压 git 到 /usr/src/
  5. 把 Jenkins.war 放到tomcat的解压目录 webapps/webapps/Jenkins.war


二、配置 tomcat

因为 tomcat 默认情况下,管理器manager只能从运行在同一台机器上的浏览器。
这时候需要修改tomcat的一些配置,这样我们才能有权限远程访问tomcat的 manager app 等页面

tomcat403.png

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.启动tomcat bin/startup.sh

2.访问 ip:8080/jenkins 运行 jenkins 初始化

解锁jenkins.jpg


3.可以根据提示 cat 查看密码, 然后下一步

zidingyianzhuang.jpg


4.这里需要连代理安装插件 [选择推荐的], 可以离线安装

image.png


5.安装完后,来到这里

chuangjian.jpg

注:
如果这里不创建管理员用户 以后退出登录jenkins 使用的是 admin + 上面 cat 的密码登录
如果创建了 lankeren 管理员,那么原来的admin就失效了,以后都是使用 lankeren 登录 jenkins


五、初步配置 Jenkins

全局安全配置 允许用户注册,这样到时候密码忘了去注册还能做些操作
全局工具配置
  1. 例 MAVEN_HOME: opt/apache-maven-3.6.0
  2. 例 JAVA_HOEM: /opt/jdk1.8.0_121
  3. 指定Maven配置位置 opt/apache-maven-3.6.0/conf/settings.xml
  4. 添加 git 位置 (别名:MyGit) /usr/local/git/bin/git
  5. 新增JDK的位置 ( 别名:MyJDK ) /opt/jdk1.8.0_121
    .........

qqjj.jpg

pzgit.jpg


新增 Maven
别名:MyMaven
opt/apache-maven-3.6.0

mmaa.jpg


安装插件 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 链接

pp.jpg

github中获取访问token值,需要一个对项目有写权限的账户
GitHub -> setting -> Developer setting->Personal access tokens->点击Generate new token
内容如下:

image.png

创建成功后,token如下:

94.png

全局配置 添加一个 github server

gitserver.jpg

Jenkins中Github配置中添加token凭证

系统管理->添加Github server->添加Secret text凭证->连接测试这里我连接测试的时候返回 ERROR 然后没有管了,可以正常自动构建

QQ.jpg


Secret text凭证添加如下:

类型需选择Secret text,Secret处输入Github中上面生成的token值

token.png

Hook URL默认: ip:port/jenkins/github-webhook 写到 github项目setting的webhook中

settings->webhooks->Add webhook

jike.jpg


[2] Jenkins + gitee

  • 插件安装
  • 前往 Manage Jenkins -> Manage Plugins -> Available
  • 右侧 Filter 输入: Gitee
添加gitee码云链接配置 ( 系统配置
  1. 前往 Jenkins -> Manage Jenkins -> Configure System -> Gitee Configuration -> Gitee connections
  2. Connection name中输入Gitee或者你想要的名字
  3. Gitee host URL中输入码云完整 URL地址:https://gitee.com(码云私有化客户输入部署的域名)
  4. Credentials中如还未配置码云 APIV5 私人令牌,点击Add- >Jenkins

    1. Domain选择Global credentials
    2. Kind选择Gitee API Token
    3. Scope选择你需要的范围
    4. Gitee API Token输入你的码云私人令牌,获取地址:https://gitee.com/profile/personal_access_tokens
    5. ID,Descripiton中输入你想要的 ID 和描述即可。
  5. Credentials选择配置好的 Gitee APIV5 Token
  6. 点击Advanced,可配置是否忽略 SSL 错误(适您的Jenkins环境是否支持),并可设置链接测超时时间(适您的网络环境而定)
  7. 点击Test Connection测试链接是否成功,如失败请检查以上 3,5,6 步骤。

配置成功后如图所示
aee.jpg

项目中git配置
  1. 按照上面的 github 配置,只需要改变仓库链接gitee的仓库HTTPS链接,账户改为 gitee 的账户

2.进入源码管理配置中设置的码云项目中,进入 管理 -> WebHooks

  1. 添加 WebHook, URL 填写触发器配置:Build when a change is pushed to Gitee. Gitee webhook URL中所示 URL
  2. 密码填写:触发器配置第 5 点中配置的 WebHook密码,不设密码可以不填
  3. 勾选 PUSH, Pull Request

22.jpg
gitee配置.PNG


3.构建以及构建后的操作 ( 需要deploy插件,将在target生成的war包部署到tomcat的/webapps下
jiben.jpg

apple 为项目的访问路径名字
例: 127.0.0.1:8080/apple/index.jsp

4.另外听说要关闭防止跨站点请求伪造 ,然后我关闭了,不知道不关闭会不会一样能用

七、IDEA

在 IDEA 中

第一步,先创建本地仓库

1.jpg

第二步,提交文件/项目

2.jpg

第三步,push到github / gitee

3.jpg

第四步,访问 ip:port/xiangmumingcheng/test.html

ok


lankeren
44 声望6 粉丝

有效果,达到目标的努力是真努力,其余不能称之为努力。