rancher2+docker+SpringCloud+jenkins+redis集群+mysql主从搭建:十一、spring oauth 创建dockerfile并运行

spring oauth 创建dockerfile并运行:
权限服务模块:oauth项目的pom.xml文件引用了公共的模块组件spring-common,所以优先打包公共组件
创建spring-common配置jenkins里的打包,因为后面的项目开始引用这个公共包了

 

jenkins里面复制一个maven项目即可,修改一下配置和路径:
新建任务--springcloud-common--复制(springcloud-config)--确定
Root POM:spring-base/spring-common/pom.xml
clean install -Dmaven.test.skip=true
spring-common是不启动的,被其他组件引用所以不打包,
删除 【执行shell,命令】块
删除 【Build / Publish Docker Image】块
保存
构建一下
报错:
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /var/jenkins_home/workspace/springcloud-common/spring-base/spring-common/src/main/java/com/liu/util/string/StringUtils.java:[6,16] cannot find symbol
symbol: class BASE64Decoder
location: package sun.misc
...
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
加解密,修改代码
vim /root/111/gitee_cangku/rancher_springcloud/spring-base/spring-common/src/main/java/com/liu/util/string/StringUtils.java

 

创建spring-simple配置jenkins
新建任务--springcloud-simple--复制(springcloud-common)--确定
Root POM:pom.xml
clean install -Dmaven.test.skip=true
保存
改一下pom.xml文件,添加注释模块如图(spring-zuul、spring-oauth...)
<modules>
<module>spring-base</module>
<!--<module>spring-monitor</module>-->
<!--<module>spring-zuul</module>
<module>spring-oauth</module>
<module>spring-smallprogram-client</module>
<module>spring-rbac-manage</module>
<module>spring-order</module>
<module>txlcn-tm</module>
-->
</modules>
提交代码:...
构建一下

 

如其他模块:
vim /root/111/gitee_cangku/rancher_springcloud/spring-oauth/src/main/docker/Dockerfile
修改java:8镜像获取:FROM 192.168.109.137:5000/java:8
提交代码:
git add .
git commit -m "zuul网关的dockerfile修改"
git push origin master
jenkins里面复制一个maven项目即可,修改一下配置和路径:
新建任务--springcloud-oauth--复制(springcloud-config)--确定
Root POM:spring-oauth/pom.xml
执行shell,命令改下:
cp /var/jenkins_home/workspace/springcloud-oauth/spring-oauth/src/main/docker/Dockerfile /var/jenkins_home/workspace/springcloud-oauth/spring-oauth/target/
Directory for Dockerfile修改为:
/var/jenkins_home/workspace/springcloud-oauth/spring-oauth/target/
Image修改为:
192.168.109.137:5000/spring-oauth
保存
构建

 

修改代码配置中redis连接,mysql连接地址,并创建数据库lovesound
新建数据库:
名字:lovesound
字符集:utf8mb4
排序规则:utf8mb4_general_ci
创建表:
找到代码init目录下的1.oauth2表.sql中的(oauth2的表 --oauth2描述:之间的sql语句执行创建表)
备注:1.oauth2表.sql代码中的''全部替换成'号再执行, 执行完检查结果
分布式事务:
创建表:
/root/111/gitee_cangku/rancher_springcloud/txlcn-tm/src/main/resources/tx-manager.sql中的sql语句创建表
实际会创建一个新的数据库tx-manager并创建表
jenkins构建springcloud-oauth
[ERROR] Failed to execute goal on project spring-oauth: Could not resolve dependencies for project com.liu.lovesound:spring-oauth:jar:0.0.1-SNAPSHOT: Failure to find com.liu.lovesound:spring-common:jar:0.0.1-SNAPSHOT in https://repo.spring.io/snapshot was cached in the local repository, resolution will not be reattempted until the update interval of spring-snapshots has elapsed or updates are forced -> [Help 1]
这里报的是没有找spring-common:jar:0.0.1-SNAPSHOT包,
查找:/water/runfile/docker_volume/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/jenkins-in-maven/repository/com/liu/lovesound/spring-common/0.0.1-SNAPSHOT
该目录下确实没有打成包,删除目录下的所有;修改jenkins项目springcloud-common配置中的
clean package -Dmaven.test.skip=true 改为:clean install -Dmaven.test.skip=true
springcloud-simple项目同样改成install,install才会往仓库进行安装
重新构建一下springcloud-common,会看到上面删除的目录下生成了我们所要的包
重新构建一下springcloud-simple

 

rancher部署:直接克隆一个spring-config服务并修改:
spring-oauth pod的数量暂时改为0
192.168.109.137:5000/spring-oauth
8002 TCP HostPort 8002
主机调度:deploy=worker
启动,jenkins打包完毕,修改pod数量,开启服务
查看注册情况
测试:直接访问oauth的配置文件http://192.168.109.138:8002/oauthTest

posted on 2022-01-05 15:20  NG-承  阅读(128)  评论(0编辑  收藏  举报

导航