本地产品环境安装、每日环境更新
过程总览
在版本迭代开发的过程中,如何安装每天构建出的最新版本环境,总体涉及如下步骤:
从git下载最新构建包 [每日本地同步更新到最新版本]
安装本地数据库,推荐MySQL5.7
新建一个空数据库执行初始化脚本[每日使用flyway更新数据库到最新版本】
修改http端口、调试端口等配置
启动验证
安装数据库
(最佳推荐)免安装模式初始化MySQL5.7可以参考在线文档:https://opendoc.seeyoncloud.com/bin/view/technology/categoryOfTechnology/t_v5server/init_mysql/
如果你打算用上面MySQL5.7的在线文档安装,那么下面安装数据库注意事项就不用看了。
V5产品默认支持MySQL、SQLServer、Oracle、Postgresql等数据库,也支持达梦、人大金仓等国产化数据库。
其它数据库搭建请参考发版文档《产品安装维护手册.docx》
注意以下任意配置缺失在下面按照V5服务的时候都可能失败,新人如果失败,不要纠结,认认真真按照规则安装一遍MySQL去。
推荐安装MySQL5.7,新人不推荐安装MySQl8.0(诸多过来人表示你将会折腾很久)。
无论如何,MySQL数据库都有一些共性配置需要遵守,主要是对my.ini(linux下是my.cnf)的操作:
1)my.ini中设置数据库字符集为utf8
2)my.ini中保证MySQL不区分大小写
3)配置好默认端口等信息,端口默认3306
4)数据库帐号默认可以用root,密码一定要设置字母+数字或更复杂组合,比如Seeyon123456,否则后面安装V5过程中会提示数据库密码不安全,无法安装
[mysqld]
port = 3306
basedir=C:\Program Files\MySQL\mysql-5.7.12-winx64
datadir=C:\Program Files\MySQL\mysql-5.7.12-winx64\data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
lower_case_table_names=1
[mysql]
default-character-set=utf8一般安装完成后,MySQL会以一个服务的形式默认一直运行,可以在我的电脑-管理-服务中找到MySQL,启动类型为自动。
如果cmd命令下直接输入mysql提示无效命令,则需要在环境变量Path中增加Mysql的bin目录路径,重启操作系统生效
注意MySQL8有巨大的调整,lower_case_table_names=1必须在首次初始化之前配置好,如果初始化MySQL之后,配置lower_case_table_names=1会导致无法使用。
更新每日构建包
每次提交代码会触发构建。开发人员本地环境则需要更新到最新构建包,更新构建包方式:
使用git 命令或者客户端克隆https://gitlab.seeyon.com/v5-resources/v8.1sp2到本地 。如D:\Seeyon\A8\v8.1sp2
也可以使用如下脚本快速拉取更新构建包(把下述命令保存为bat文件,后续直接执行bat文件即可实现更新)
@echo off
rem function: 本地从gitLab服务器更新主干代码,并替换配置文件。
title gitUpdate
rem 设置目录(需根据本地实际路径修改)
set hotfixDir=H:\v82sp1-v5-resource\fix
set workspace=H:\v82sp1-v5-resource\v8.2sp1
cd %workspace%
if not exist .git (
rem 第一次操作,初始化
echo initializing……
git init
git remote add origin http://gitlab.seeyon.com:v5-resources/v8.2sp1.git
git pull origin master
echo initialize sucess
) else (
rem 更新代码,并删除本地修改
echo updating……
rem git checkout standard-V8.2SP1-develop
git checkout . && git clean -df && git pull origin standard-V8.2SP1-develop
echo update sucess
)
rem 修改本地配置文件,可自定义修改(如catalina_custom,数据库驱动)
rem copy /Y %hotfixDir%\server.xml %workspace%\conf
rem copy /Y %hotfixDir%\catalina_custom.bat %workspace%\bin
copy /Y %hotfixDir%\application.properties %workspace%\sqltool
rem copy /Y %hotfixDir%\license.js %workspace%\webapps\seeyon\common\office
rem copy /Y %hotfixDir%\license.js.map %workspace%\webapps\seeyon\common\office
rem copy /Y %hotfixDir%\systemProperties.xml %workspace%\webapps\seeyon\WEB-INF\cfgHome\base
rem copy /Y %hotfixDir%\log4j2-appenders.xml %workspace%\webapps\seeyon\WEB-INF\cfgHome\base
pause.使用flyway更新本地数据库
(如果你使用的MySQL)保证MySQL数据库版本是5.7或更高版本,否则无法使用。
因为最新版本是在研发中,几乎每周可能都会有数据库脚本变更,我们使用flyway进行脚本的控制,所以本地环境需要做下初始化。
第一步:可以drop掉原来通过SeeyonInstall安装初始化的那个数据库,也可以自己在MySQL下新建一个新的数据库,随后通过ApacheJetspeed\conf\SeeyonConfig.cmd连接自己新建的数据库即可。
第二步:(假设目前有一个空库名叫v81),在ApacheJetspeed\sql下有一个A8-2_ALL_IN_ONE_MYSQL.SQL文件,通过命令将此SQL文件导入到v81数据库中,可以用数据库可视化工具,也可以用MySQL命令。
# 在"ApacheJetspeed\sql"目录下,通过cmd控制台执行初始化SQL操作
mysql -uroot -pseeyon123456 -Dv81<A8-2_ALL_IN_ONE_MYSQL.SQL第三步:执行完A8-2_ALL_IN_ONE_MYSQL.SQL之后,访问ApacheJetspeed\sqltool目录,修改application.properties配置文件:
#flyway mysql 相关配置
flyway.config.mysql.url=jdbc:mysql://localhost:3306/v81?autoReconnection=true&useSSL=false&serverTimezone=UTC
flyway.config.mysql.user=root
flyway.config.mysql.password=seeyon123456第四步:随后运行可执行文件:ApacheJetspeed\sqltool\startup-tool.bat,等待flyway执行完成。
以上确保无误之后运行:D:\Seeyon\A8\ApacheJetspeed\sqltool\startup-tool.bat文件,控制台没有错误提示则表示运行成功
因为每次Git pull v5-resource之后application.properties中的内容都会被还原,为了减少修改数据库配置重复工作,建议使用bat工具拉取v5-resource之后执行copy命令把文件替换掉:copy /Y %hotfixDir%\application.properties %workspace%\sqltool
服务器配置、启动登录相关说明
配置服务器端口、JVM参数、数据库连接信息都通过D:\Seeyon\A8\ApacheJetspeed\conf\SeeyonConfig.cmd来完成,默认端口为80。
启动本地环境则访问:D:\Seeyon\A8\ApacheJetspeed\bin\startup.bat,启动需要一定时间,当出现“startup.Catalina.start Server startup in xxxxxx ms”字样则表示启动成功。如果你很长一段时间都没反应,可能是跟快速编辑模式有关,请看下篇解答
启动本地环境完成之后,本机使用浏览器访问:http://localhost/seeyon则会进入登录页。
如果你按照前面规则安装的A8-2集团版,并且在安装过程中已经输入了对应帐号密码,则可以执行登录操作。
自V8.1版本开始,通过flyway数据库安装之后,只内置了一个管理员帐号,通过init-admin密码123456登录系统,进行集团、单位、部门、岗位、职务、人员、系统和单位管理员的绑定。
快速编辑模式
如果运行D:\Seeyon\A8\ApacheJetspeed\bin\startup.bat打开控制台之后,启动了N久都没反应,可以看看控制台上面是否有一个白色选中块↓↓↓
如果有白色选中块,就表示快速编辑模式:鼠标点到控制台上就会有一个白色块,此时会导致控制台完全阻塞,无法继续启动。
解决方法是:取消默认快速编辑模式的设置,再重新运行startup.bat。
数据库连接工具
推荐下载DBeaver数据库连接工具。
总结
开发人员初次部署环境需要做的操作是:安装数据库->安装V5集团版程序->使用Git拉取v5-resource获得每日构建包->启动
开发人员以后每日更新环境需要做的操作是:使用Git拉取v5-resource获得每日构建包->使用内置的Flyway工具更新数据库脚本->启动
课后作业
本地产品环境推荐使用MySQL什么版本?
本地产品环境MySQL需要使用什么字符集?
如果我要安装一个A8+ V7.1SP1的环境,应该从哪里取安装程序?
在哪里能够配置本地V5服务器的端口、JVM和数据库参数?
安装一个V5本地服务器,并且启动成果,并且能够访问http://localhost:80成功跳转到登录页。(提供相关截图)
登录集团管理员创建单位、登录单位管理员创建部门人员、登录一个刚创建的人员帐号进入系统。提供登录集团管理员、登录单位管理员、登录刚创建的个人用户默认进入的界面截图。