作者:于福豪 时间: 2021-01-05
http://elb-791125809.cn-northwest-1.elb.amazonaws.com.cn:5335/xdata/sh2019gh144/back-end/gis-server-root
分支:gis-docker-20201105
planCheckRule.xml
也放到配置中心文件中,尝试获取子节点list对象时,没解析出来。制作基础镜像,开始将所有环境依赖安装到一个镜像里,达到5G
后经运维人员修改,只安装iobject所需的环境,依赖宿主机内的iobject环境,需映射宿主机的supermap-iobject安装路径到容器内的特定路径里/usr/local/iobject
基础镜像地址
172.31.36.236/middleware/dist-jdk18:latest
需要宿主机内部署web许可
容器内应用添加获取web许可的代码
//65400为购买的许可模块
int [] arrayOfInt = {65400};
boolean login = BSLicense.login("161.189.205.144", 9183, arrayOfInt);
存在的问题
把所有配置文件都放置在一个主文件夹下,方便配置文件的挂载,方便配置。
gis-config
├── planCheck
├── publishMapTemplate
│ └── template
└── tzStatistics
└── dicFile
将所有数据文件都放置在一个主文件夹下,方便数据文件的挂载,方便排查问题
webApi-data
├── loadData
├── log
│ ├── gis-server-bizservice
│ └── gis-server-web
├── planCheckReport
├── publicMapData
│ ├── publishMapDatasource
│ └── publishMapServerDataDir
│
├── tzStatisticsResult
└── uploadItemData
# 基础镜像使用supermap-iobject镜像
FROM 172.31.36.236/middleware/dist-jdk18:latest
# 维护人员
MAINTAINER yufh@dist.com.cn
# 工作目录
WORKDIR webApi
# 将jar包,配置文件夹,启动文件添加到容器中
ADD gis-server-web.jar /webApi/gis-server-web.jar
ADD gis-server-service-land.jar /webApi/gis-server-service-land.jar
ADD gis-config /webApi/gis-config
ADD gis-config/startUp.sh /webApi/startUp.sh
# 修复java.security.InvalidKeyException: Illegal keyW size错误
RUN sed -i 's/#crypto.policy=unlimited/crypto.policy=unlimited/g' /usr/local/jdk1.8.0_152/jre/lib/security/java.security
# 启动文件授权
RUN chmod +x startUp.sh
# 启动文件
ENTRYPOINT ["./startUp.sh"]
spring-alibaba-cloud + nacos
1、启动nacos
2、下拉项目
bootstrap.yml
nacos配置信息3、gitlab代码库里添加Jenkins角色
4、jenkins新建流水线项目
添加Pipeline脚本
//脚本示例
pipeline {
agent {
node{
label 'Slave179'
}
}
environment {
def version = sh script: 'mvn help:evaluate -Dexpression=project.version -q -DforceStdout', returnStdout: true
// def version = '1.0.0-SNAPSHOT'
def artifactId = 'gis-service'
def projectNameSpace='nr_sh2019gh144'
def harborIp='172.31.36.236'
}
stages{
stage('pull'){
steps{
git branch: 'gis-docker-20201105', credentialsId: 'jenkins-gitlab', url: 'ssh://git@elbgit-1200450932.cn-northwest-1.elb.amazonaws.com.cn:5337/xdata/sh2019gh144/back-end/gis-server-root.git'
}
}
stage('compiler'){
steps{
echo "${version}"
sh '''
mvn clean package -DskipTests -P pg-prod
'''
}
}
stage('build'){
steps{
sh '''
mv ./gis-server-web/Dockerfile gis-server-web/target
mv ./gis-server-service-land/target/gis-server-service-land.jar gis-server-web/target
mv ./gis-config gis-server-web/target
docker build -t ${harborIp}/${projectNameSpace}/b_${artifactId}:${version} gis-server-web/target
docker build -t ${harborIp}/${projectNameSpace}/b_${artifactId}:latest gis-server-web/target
'''
}
}
stage('push'){
steps{
sh '''
docker push ${harborIp}/${projectNameSpace}/b_${artifactId}:${version}
docker push ${harborIp}/${projectNameSpace}/b_${artifactId}:latest
'''
}
}
stage('update'){
steps{
sh '''
export PATH=$PATH:/usr/local/rancher-v2.3.2
rancher kubectl --namespace=backend-nr apply -f /yaml/NR-yaml/nr-gis-service-ts.yaml &> null || true
rancher kubectl replace --force -f /yaml/NR-yaml/nr-dme-cloud-ts.yaml &> null
'''
}
}
}
修改内容:
5、查看harbor仓库中构建的镜像
6、在Rancher里部署服务
7、启动服务