Jenkins.war包构建Jenkins平台
[root@jenkins ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@jenkins ~]#yum install -y nginx tomcat #由于时间的关系,我们直接配置yum源,直接yum在本地安装tomcat和nginx
[root@jenkins ~]#wget -O ROOT.war http://mirrors.jenkins.io/war-stable/latest/jenkins.war #下载Jenkins.war包,并更名为ROOT.war
[root@jenkins ~]# vim /etc/nginx/nginx.conf
#user nobody;
worker_processes ; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; #pid logs/nginx.pid; events {
worker_connections ;
} http {
include mime.types;
default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on;
#tcp_nopush on; #keepalive_timeout ;
keepalive_timeout ; #gzip on;
include /etc/nginx/conf.d/*.conf;
}
[root@jenkins ~]# vim /etc/nginx/conf.d/jenkins.conf
upstream jenkins {
server 192.168.2.157:;
}
server {
listen ;
server_name _;
charset utf-;
index index.jsp index.html index.htm;
location / {
proxy_pass http://jenkins;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
[root@jenkins ~]# cp ROOT.war /usr/share/tomcat/webapps/
[root@jenkins ~]# systemctl restart nginx
[root@jenkins ~]# systemctl restart tomcat
WEB-GUI:安装http://192.168.2.157/







问题故障处理:

解决办法:在tomcat的server.xml中增加utf8字符即可
[root@jenkins ~]# vim /usr/share/tomcat/conf/server.xml
<Connector port="" protocol="HTTP/1.1"
connectionTimeout=""
URIEncoding= "UTF-8"
redirectPort=""
proxyName="jenkins.yellowcong.net"/>
[root@jenkins ~]# systemctl restart tomcat #重启tomcat之后,我们会发现,这个讨厌的字符集错误已经没有了~
【验证测试】
从SVN仓库中拉去源代码并将logo.png推送到Discuz论坛上,从而替换掉discuz论坛首页的logo图片!

构建操作
Execute shell
ansible all -m shell -a "mv /var/www/html/static/image/common/logo.png /tmp/"
ansible all -m copy -a 'src=/usr/share/tomcat/.jenkins/workspace/www.hexun.com/logo.png dest=/var/www/html/static/image/common/ mode=644 owner=root'
#ssh -l root 192.168.60.101 mv /var/www/html/static/image/common/logo.png /tmp/
#scp /usr/share/tomcat/.jenkins/workspace/www.hexun.com/logo.png root@192.168.60.101:/var/www/html/static/image/common/
ansible配置
这里的jenkins所基于的java进程都是tomcat用户启动的,故在jenkins构建的时候也是以tomcat为基准,从svn拉取完代码推送到目标端时,需要做ssh免秘钥认证,否则会构建失败!
[root@hostname- ~]# ps aux | grep java #java以及jenkins均已tomcat启动
tomcat 3.4 49.2 ? Ssl : : /usr/lib/jvm/jre/bin/java -classpath /usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat -Dcatalina.home=/usr/share/tomcat -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat/temp -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start
root 0.0 0.0 pts/ S+ : : grep --color=auto java
[root@hostname- ~]# su - tomcat
上一次登录:四 5月 :: CST 2020pts/ 上
-bash-4.2$ cat /etc/ansible/hosts #查看ansible hosts文件中是否存在目标端ip信息
[web]
192.168.60.101 ansible_ssh_user=root
-bash-4.2$ ansible all -m shell -a "df -h" #简单测试一下ssh是否免密是否生效
192.168.60.101 | CHANGED | rc= >>
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root .0G .5G .5G % /
devtmpfs .4G .4G % /dev
tmpfs .4G .4G % /dev/shm
tmpfs .4G 8.9M .4G % /run
tmpfs .4G .4G % /sys/fs/cgroup
/dev/sda1 1014M 125M 890M % /boot
overlay .0G .5G .5G % /var/lib/docker/overlay2/9dc8505645f22a03c80b3ba4146161b7ad6c6dce089ee3e5951a7457e1e4141e/merged
overlay .0G .5G .5G % /var/lib/docker/overlay2/186d62be6b46a302b6c80556492311973280ac1fa9c516deddb7c6dbe9ca31e1/merged
overlay .0G .5G .5G % /var/lib/docker/overlay2/ead99b5cfe0980ba7c12e99c26d243b54e10a09d060971ffc1c863b238182902/merged
overlay .0G .5G .5G % /var/lib/docker/overlay2/1a32cab10af0cadc0a92cc5181f41f4cebefc8ebf760350955540df019e3d519/merged
overlay .0G .5G .5G % /var/lib/docker/overlay2/e91c81b30c27c80d174373cbcf42da01252d258503bd127b1ce6fbf08cf5c5ea/merged
未构建之前logo是如下图所示

开始构建ing~最后可以看到构建成功!

构建之后的页面

END!
Jenkins.war包构建Jenkins平台的更多相关文章
- linux中部署jenkins(war包)及jenkins忘记登录账号密码
未登录状态 登录状态 一:部署jenkins(war包) 1.直接下载war包jenkins.war,下载地址https://jenkins.io/download 2.将下载的war包放到服务器上t ...
- Linux war包部署jenkins
一.介绍Jenkins 1.Jenkins概念 Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台.这是一个免费的源代码,可以处理任何类型的构建或持续集成.集成Je ...
- war包安装jenkins
转自:https://blog.51cto.com/bigboss/2129358 系统环境: CentOS 7.5 1804 IP:192.168.1.3 关闭selinux.firewalld j ...
- 阿里云上如何利用war包安装jenkins
一. 前提条件:已安装jdk和tomcat 如何安装,请参考<如何在阿里云上部署war包到tomcat服务器> 二. 下载war包 下载地址:http://mirrors.jenkins- ...
- Jenkins Pipeline+sonar构建质量平台
前提: Jenkins JDK 目录: 1.安装sonar插件:SonarQube Scanner for Jenkins 2.安装SonarQube 3.安装sonar-scanner ++++++ ...
- 【Jenkins】Linux搭建Jenkins平台
为了配合上一篇的ant+jenkins做持续集成,需要在linux环境下搭建一个jenkins平台.网上有很多安装的例子,我主要记录一下自己遇到的问题,真真的是特别惆怅的,每次我遇到的问题都格外多. ...
- gitlab+jenkins+tomcat war包部署(此文有新版本)
对本文进行格式整理,url: https://www.cnblogs.com/huandada/p/9969234.html 整个项目的框架为: 1.gitlab的安装(Centos7) 新建/etc ...
- jenkins之从0到1利用Git和Ant插件打war包并自动部署到tomcat(第四话):把war包远程部署到tomcat
上一节介绍了如何用Ant插件来打war包,本节接着介绍如何把build好的war自动部署到tomcat中 1.先安装 Deploy to container Plugin插件 2. 在构建后操作中添加 ...
- 【Linux】Jenkins以war包运行及开机启动配置(四)
本例介绍jenkins已war包运行及开机启动配置 环境:Linux环境(CentOS 7.4) 以war包运行 1.下载jenkins.war包 2.启动war包( 默认端口:8080,默认JENK ...
随机推荐
- Chromium Embedded Framework (CEF)_3.2171.2069_v20170606_x86.tar.xz
CEF 为观看各个直播平台而特此修改的浏览器 可以单独提取 Flash 视频, 并可以修改视频的大小等功能 [增加了960x90% 和 1280x90%] 这次修改是主要针对 YY web 直播平台 ...
- nginx多虚拟主机优先级location匹配规则及tryfiles的使用
nginx多虚拟主机优先级location匹配规则及tryfiles的使用 .相同server_name多个虚拟主机优先级访问 .location匹配优先级 .try_files使用 .nginx的a ...
- linux /proc目录
1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文 ...
- 模块 -- 序列化 hashlib sha logging (加密 加盐 )
模块: 一个py文件就是一个模块 模块分类: 1:内置模块,登录模块,时间模块,sys模块,os模块等等 2: 扩展模块, 3:自定义模块,自己写的py文件 python 开发效率之高:python ...
- Arrays.asList()vs Collections.singletonList()
Collections.singletonList(something)是不可变的, 对Collections.singletonList(something)返回的列表所做的任何更改将导致Unsup ...
- python-re模块和subprocess模块
一.re模块 re中文为正则表达式,是字符串处理的常用工具,通常用来检索和替换符合某个模式的文本. 注:要搜索的模式和字符串都可以是unicode字符串(str)和8位字符串(bytes),但是不能将 ...
- swift 学习- 14 -- 继承
// 一个类可以继承另一个 类的方法, 属性和其他特征, 当一个类继承其他类时, 继承类叫子类, 被继承类叫父类 或 (超类), 在 Swift 中, 继承是区分 [类] 和其他类型的 一个基本特征 ...
- System.TypeInitializationException: The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception. ---> Oracle.DataAccess.Client.OracleException: 提供程序与此版本的 Oracle 客户机不兼容”
.net应用程序通过Oracle.DataAccess.dll访问64位的Oracle服务器,在连接时出现以下异常:“System.TypeInitializationException: The t ...
- Windows Service 2012 R2 下如何建立ftp服务器
1.首先在本地机器上创建一个用户!这些用户是用来登录到FTP的!我的电脑右键->管理->本地用户和组->用户->“右键”新建用户->输入用户名和密码再点创建就行了! 2. ...
- Socket网络编程(三)
TCP协议网络通讯案例(http协议) 1.创建TcpServer(tcp服务端) package com.cppdy.tcp; import java.io.IOException; import ...