注: Docker容器里安装的jenkins,Docker容易里安装的weblogic
在jenkins里面直接将打包好的 war 包通过 Publish over SSH插件 放入 weblogic 的 ../autodeploy 目录下实现部署
(1)设置weblogic为开发模式 《因为weblogic为开发模式时,才会自动部署autodeploy目录下的war包项目》
1.1 将weblogic安装目录下 ../domain/bin/setDomainEnv.sh 文件中的 production_mode=true.更改为 production_mode=false
/u01/oracle/weblogic/user_projects/domains/base_domain/bin/setDomainEnv.sh
1.2 将weblogic安装目录下 ../domain/config/config.xml中的<production-enabled>true<production-enabled> 标签值true更改为 false
/u01/oracle/weblogic/user_projects/domains/base_domain/config/config.xml
1.3 重新启动weblogic (使用命令: docker restart weblogic的容器ID,例如 docker restart b447aadgaf72)
(2)用maven构建web项目
2.1 这里主要是注意web.xml中的头信息,有些头信息是部署到weblogic会出错的。 《这个web.xml是测试过不会出错的》
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
(3)在gogs上创建仓库,将本地maven项目上传到gogs仓库中
3.1 主要是设置个web钩子,使得本地更改提交代码时会自动推送到jenkins,触发新的构建。
web构建组成结构: http://访问jenkins的ip:访问jenkins的port/gogs-webhook/?job=推送到jenkins中的项目名
web构建示例: http://172.150.12.32:8800/gogs-webook/?job=webdemo
(4)在jenkins中构建项目
4.1 需要安装Publish Over SSH 插件
4.2 构建maven项目,具体构建步骤可参考博文---- jenkins部署web项目到本地
4.3 在构建后操作时,选中 send build artifacts over SSH,主要配置如下
(5)配置结束,可以直接使用地址访问了
访问链接: http://访问weblogic的ip:访问weblogic的port/部署的项目名
例如: http://172.150.12.32:7001/webdemo
(6)补记docker和主机内容直接的复制命令
6.1 从docker里复制到主机: docker cp 容器ID:docker文件路径 主机文件路径
例如: docker cp 6771aadf765f:/u01/oracle/demo.war /root
6.2 从主机复制到docker容器: docker cp 主机文件路径 容器ID:docker文件路径
例如: docker cp /root/demo.war 6771aadf765f:/u01/oracle