# DevOps 安装手册
# 环境要求
- 数据库:MySQL 5.7
- Java:Oracle JDK 1.8.0+, OpenJDK 1.8+
# 初始化数据库
在数据库所在机器使用命令初始化数据库用户及数据:
# 配置root用户,支持远程访问。
mysql -uroot -p'Primeton,000' -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'Primeton,000' WITH GRANT OPTION;GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Primeton,000' WITH GRANT OPTION;"
# 创建devops数据库,初始化devopsadmin用户及访问devops数据库的权限
mysql -uroot -p'Primeton,000' -e "CREATE DATABASE devops CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;GRANT ALL PRIVILEGES ON devops.* TO 'devopsadmin'@'localhost' IDENTIFIED BY 'Primeton,111' WITH GRANT OPTION;GRANT ALL PRIVILEGES ON devops.* TO 'devopsadmin'@'%' IDENTIFIED BY 'Primeton,111' WITH GRANT OPTION;"
# 初始化sql数据,devops-server-6.7.0.0.tar.gz包解压后db-scripts/all/Mysql/all.sql为mysql初始化sql。拷贝到数据库机器并执行初始化,sql路径根据实际拷贝路径修改。
mysql -udevopsadmin -p'Primeton,111' -e "use devops;source all.sql;"
# 查询dps_user表验证
mysql -udevopsadmin -p'Primeton,111' -e "use devops;select * from dps_user;"
+-----------+--------+--------------+----------------------+-----------------+---------------+-------------+-------------+-------------+-------------+-------------+-----------+
| USER_NAME | EMP_ID | PASSWORD | PASSWORD_UPDATE_TIME | LAST_LOGIN_TIME | LAST_LOGIN_IP | LOCK_STATUS | CREATE_USER | CREATE_TIME | UPDATE_USER | UPDATE_TIME | TENANT_ID |
+-----------+--------+--------------+----------------------+-----------------+---------------+-------------+-------------+-------------+-------------+-------------+-----------+
| sysadmin | 1 | k2xvHUmCHWw= | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
+-----------+--------+--------------+----------------------+-----------------+---------------+-------------+-------------+-------------+-------------+-------------+-----------+
**注意**
DevOps 的数据库要求字符集和排序规则分别为 utf8mb4 和 utf8mb4_general_ci
如果有特定版本的驱动jar要替换,存放路径为安装目录下 lib/jdbc/
# 解压
tar -zxf DevOps_6.7_GA_Installer.tar.gz
cd DevOps_6.7_GA_Installer/devops
mkdir devops
tar -zxf devops-server-6.7.0.0.tar.gz -C devops
cd devops
# 凭证更新
cd config/DEVOPS/license
# 替换primetonlicense.xml文件
# 数据库连接配置
cd config/DEVOPS/config
修改配置文件user-config.xml
,配置已经初始化的数据库:
<group name="default">
<configValue key="Database-Type">MySql</configValue>
<configValue key="Jdbc-Type"/>
<configValue key="C3p0-DriverClass">com.mysql.cj.jdbc.Driver</configValue>
<configValue key="C3p0-Url">jdbc:mysql://ip:3306/devops?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai</configValue>
<configValue key="C3p0-UserName">user</configValue>
<configValue key="C3p0-Password">password</configValue>
<configValue key="C3p0-PoolSize">20</configValue>
<configValue key="C3p0-MaxPoolSize">100</configValue>
<configValue key="C3p0-MinPoolSize">10</configValue>
<configValue key="Transaction-Isolation">ISOLATION_DEFAULT</configValue>
<configValue key="Test-Connect-Sql">SELECT count(*) from EOS_UNIQUE_TABLE</configValue>
<configValue key="Retry-Connect-Count">-1</configValue>
<configValue key="C3p0-MaxIdleTime">600</configValue>
<configValue key="C3p0-IdleConnectionTestPeriod">900</configValue>
<configValue key="C3p0-MaxStatements">0</configValue>
<configValue key="C3p0-NumHelperThreads">1</configValue>
</group>
# 应用更新
cd config
打开application.properties
配置文件,更新devops应用信息。
# HTTP 端口
server.port=14080
# 启动脚本更新
# JDK
脚本启动jdk默认当前系统已经正确设置了 JAVA_HOME 环境变量
export JAVA_HOME=/home/userapp/devops_install/jdk1.8.0_112
export PATH=$JAVA_HOME/bin:$PATH
cd bin
打开startup.sh
脚本,完成 运行内存、debug端口 等相关的配置。
# 调试端口
if [[ "$*" =~ "-debug" ]];
then
export JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8788"
fi
# 内存
export EOS_DAP_MEM_OPTS="-Xms1024m -Xmx4096m -Xmn256m"
# 服务启停
# 调整文件权限
chmod +x devops-boot-6.7.0-exec.jar
cd bin
chmod +x startup.sh
chmod +x shutdown.sh
# 日志存放位置调整
日志默认存放在安装包的logs目录内,该位置会随着系统更新覆盖掉!
可以通过修改startup.sh脚本里的log_dir来选定日志存放位置
logback_spring.xml里是具体日志文件配置
# 服务启停命令
cd bin
# 启动 DevOps 服务
sh startup.sh
# 停止 DevOps 服务
sh shutdown.sh
# 启动 DevOps 服务 并开启调试端口
sh startup.sh -debug
# 默认凭证
- username: sysadmin
- password: 000000
# 初始化配置
安装后初次登录需要重点注意的平台参数配置
1、Pcm.RootUrl DevOps的根地址
2、Engine.PipelineInstanceDetails 流水线实例详情
Engine.PipelineInstanceDetailsPersistenceMode 流水线实例详情持久化方式:local,db,nexus
默认值为:local 需要注意!local模式时 如果没有配置【Engine.PipelineInstanceDetailsDir】时 默认在安装包内的config/DEVOPS/work_temp下,更新系统时会导致该目录被覆盖,文件丢失!
所以配置local模式时一定要设置【Engine.PipelineInstanceDetailsDir】为安装目录外的位置!
Engine.PipelineInstanceDetailsDir 流水线实例详情存放目录
3、Pm.Attachment 附件存储规则
Pm.AttachmentPersistenceMode 附件存储持久化方式:local,db,nexus,比如:db:worktiem:nexus;
默认值为:local 需要注意!local模式时 如果没有配置【Pm.AttachmentDir】时 默认在安装包内的config/DEVOPS/work_temp下,更新系统时会导致该目录被覆盖,文件丢失!
所以配置local模式时一定要设置【Pm.AttachmentDir】为安装目录外的位置!
Pm.AttachmentDir 附件存储持久化存放目录