Service 程序JAR包部署:
1、守护进程没有主清单文件:
修改pom.xml,追加如下,“mqttjava.MqttJavaMain” 为入口类:
<build>
<finalName>MqttJavaMain</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>mqttjava.MqttJavaMain</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
2、后台程序不能正常运行:
d:>java -jar MqttService.jar Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes at sun.security.util.SignatureFileVerifier.processImpl(Unknown Source) at sun.security.util.SignatureFileVerifier.process(Unknown Source) at java.util.jar.JarVerifier.processEntry(Unknown Source) at java.util.jar.JarVerifier.update(Unknown Source) at java.util.jar.JarFile.initializeVerifier(Unknown Source) at java.util.jar.JarFile.getInputStream(Unknown Source) at sun.misc.JarIndex.getJarIndex(Unknown Source) at sun.misc.URLClassPath$JarLoader$1.run(Unknown Source) at sun.misc.URLClassPath$JarLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.misc.URLClassPath$JarLoader.ensureOpen(Unknown Source) at sun.misc.URLClassPath$JarLoader.<init>(Unknown Source) at sun.misc.URLClassPath$3.run(Unknown Source)
解决办法: 删除对应的jar 包下的文件
zip -d MqttService.jar META-INF/*.RSA META-INF/*.DSA META-INF/*.SF
2、jar包守护运行:
nohup java -jar MqttService.jar >output 2>&1 &
Jenkins配置:
JAR包部署:
1、新建一个maven工程

2、配置SVN仓库&构建策略

3、循环触发,每5MIN触发方式:

4、构建策略

//stop.sh echo "Stopping kitking web" pid=`ps -ef | grep kitking02-1.0-SNAPSHOT.jar | grep -v grep | awk '{print $2}'` if [ -n "$pid" ] then echo "kill -9 的pid:" $pid kill -9 $pid fi
//replace.sh echo "kitking replace" cp -f /root/.jenkins/workspace/kitking-adv/target/kitking02-1.0-SNAPSHOT.jar /kitking/tools/ echo "copy finish target jar to kitking tools dir"
//startup.sh echo "startup kitking" java -jar /kitking/tools/kitking02-1.0-SNAPSHOT.jar
Tomcat War包部署:
PATH_TOMCAT: /kitking/tools/apache-tomcat-7.0.88 PATCH_JENKINS: /root/.jenkins/workspace/SynergyWebService/target/com.synergy.demo.war
1. 先运行TOMCAT
cd /kitking/tools/apache-tomcat-7.0.88/bin ./shutdown.sh ./startup.sh
2. Jenkis配置

Jenkins/SynergyWebService表示:
Jenkins工作空间有一个SynergyWebService项目。
root@instance-282sg05l:~/.jenkins/workspace# pwd /root/.jenkins/workspace root@instance-282sg05l:~/.jenkins/workspace# tree -L 1 . ├── kitking-adv ├── kitking-angular ├── kitking-html5 ├── SynergyWebService └── testMail
项目WAR包部署如下配置:

WAR/EAR files:表示WAR包所在位置。
Context path: 表示部署到Tomcat的应用目录名字,也代表URL的PATH部分
root@instance-282sg05l:/kitking/tools/apache-tomcat-7.0.88/webapps# pwd /kitking/tools/apache-tomcat-7.0.88/webapps root@instance-282sg05l:/kitking/tools/apache-tomcat-7.0.88/webapps# tree -L 1 . ├── docs ├── examples ├── host-manager ├── kitking ├── kitking.war ├── KKI ├── KKIOT ├── manager ├── phonePay ├── ROOT ├── RSI ├── wxpay └── XaKHgDHMAV.txt

Credentials: 表示Tomcat认证允许,在Tomcat的配置文件中配置:
root@instance-282sg05l:/kitking/tools/apache-tomcat-7.0.88/conf# pwd /kitking/tools/apache-tomcat-7.0.88/conf root@instance-282sg05l:/kitking/tools/apache-tomcat-7.0.88/conf# tree . ├── Catalina │ └── localhost ├── catalina.policy ├── catalina.properties ├── context.xml ├── logging.properties ├── server.xml ├── tomcat-users.xml └── web.xml vim ./tomcat-users.xml <tomcat-users> <role rolename="manager-gui" /> <role rolename="manager-script" /> <user username="admin" password="meiyoumima" roles="manager-gui, manager-script"/> </tomcat-users>
Tomcat URL: 这里配置好访问端口
部署后就可以访问了,部署前务必先启动Tomcat,否则Jenkins找不到部署目录(项目配置中,并没有明确配置Tomcat所在目录)。
Docker mysql镜像:
参考:
https://www.cnblogs.com/jiangzhaowei/p/10989344.html
创建kitking账户
//1. 登录阿里云 docker login --username=15900422108 registry.cn-hangzhou.aliyuncs.com //2. 基于容器创建镜像 docker commit -a 'henry' -m 'kitking mysql' 0312a49b4c9d kitking-mysql:1.0 //3. TAG docker tag c0c4cc516c2e registry.cn-hangzhou.aliyuncs.com/kitking/kitking-mysql:1.0 //4. 推送到阿里云 docker push registry.cn-hangzhou.aliyuncs.com/kitking/kitking-mysql:1.0
DB迁移:
Navicat 数据库迁移:
1.将源数据库下的表迁移出来

2.将表全部迁入目标数据库


重新连接数据库
IDEA在连接数据库时,
运行mysql时,提示Table ‘performance_schema.session_variables’ doesn’t exist

