创建团队
创建应用系统
创建代码仓库
点击【仓库管理】-【代码仓库】,是否新建选择否,这样可以自己输入git地址
创建代码仓库凭证
点击【流水线管理】-【凭证管理】,账号密码即你的git账号的账号和密码
创建资源集
点击【资源管理】-【资源集管理】
创建完成后需要admin账号进行审批
申请端口
资源集审核完成后,点击你创建的资源集,点击【操作】-【申请端口】,注意请输入端口范围内的数字:30000-32767申请端口后,需要进行审批,直接使用自己的账号进行审批即可
创建流水线
点击【流水线管理】-【流水线管理】这里就是研运一体舱的核心配置了,首先填写基本信息
关联系统就是你创建的应用系统,点击【下一步】后进入【流程编辑】这里将分为前后端分离和前后端不分离的两种配置
前后端分离工程
Spring Boot工程
选择不使用模板,直接创建选择数据源。下拉选择之前创建的你所要部署的后端工程的代码仓库,然后选择凭证,输入代码分支。
点击【提交】后,点击添加新的阶段。此后每个步骤都需要通过这个添加,也不再赘述了。
Maven打包
- 如下图,首先点选Maven
- 输入pom文件路径,这里的是相对路径,“.”即代表工程的根目录,一般pom文件就放在工程的根目录
- 选择打包构建命令,如果是单模块工程,一般使用“package”就行了,但是有多模块互相依赖的工程,请务必在根目录下使用“install”进行打包
Docker镜像构建
- 如下图,点选Docker
- 如果工程中有Dockerfile就输入文件的相对路径
没有的话就在下面的Dockerfile中编写Dockerfile,下面是Dockerfile示例
# 无需修改,jdk1.8基础镜像
FROM tcloud.hub/library/openjdk:8-alpine
# 无需修改
MAINTAINER Devops
# 将打好的jar包放入到/usr/local。请修改为自己的jar包名称,jar包的位置是相对于制品路径的相对路径
ADD ./gc-starter-server.jar /usr/local/
# 这个是给千行上传文件功能创建一个目录,请修改为自己的jar包名称,配合spring boot的静态资源映射使用
ADD ./gc-starter-server.jar /usr/local/upload/
# 工程启动的端口,这个只是注释作用,并不会真的影响工程的启动端口,主要还是看工程的配置文件
EXPOSE 8081
# 无需修改
WORKDIR /usr/local
# jar包启动命令
CMD ["java", "-Duser.timezone=GMT+08", "-jar", "gc-starter-server.jar", "--spring.profiles.active=prod"]
输入制品路径,这个制品就是指的上个阶段maven打包出的jar包路径,不精确到jar包
- 输入镜像名称。镜像名称请保持唯一
k8s容器配置
- 点选K8S
- 选择上一阶段创建的镜像,选择镜像版本:latest
- 命名空间,即自己创建的资源集名称
- 副本数保持为1,如果流量大,可以选择添加多个副本,k8S会自动进行负载均衡
- 资源限制可以根据需要输入
- 端口映射,内部端口即为工程的启动端口,暴露端口是在资源集中申请的端口,任选其一提交后保存流水线
Vue前端
依赖安装
- 选择不使用模板,直接创建
- 选择数据源,下拉选择之前创建的你所要部署的前端工程的代码仓库,然后选择凭证,输入代码分支。
- npm install,下载依赖
打包配置
- 点选Node.js
- 输入工作目录,也就是运行npm install的目录,一般为根目录,同样的这里也是相对路径
- 执行命令选择npm run build
Docker镜像构建
- 点选Docker
- 如果工程中有Dockerfile就输入文件的相对路径
没有的话就在下面的Dockerfile中编写Dockerfile,下面是Dockerfile示例
# 无需修改,使用tomcat部署的话,tomcat的基础镜像 FROM tcloud.hub/library/gcsave-tomcat:1.0 MAINTAINER devops # 无需修改,tomcat的端口固定为9080 EXPOSE 9080 # 将打包后的文件夹拷贝到容器内的webapps目录下,请根据自己的实际文件夹名进行修改 COPY ./dist /usr/local/tomcat/webapps/gc-starter-ui # 多环境部署的一种思路,将对应环境的配置文件覆盖容器内的默认配置文件即可 COPY ./dist/config/index-demo.js /usr/local/tomcat/webapps/gc-starter-ui/config/index.js # 甚至可以通过这种思路,去覆盖容器内的tomcat配置文件进行配置,修改tomcat的一些参数 ADD ./server.xml /usr/local/tomcat/conf/
# 无需修改,使用nginx部署的话,nginx的基础镜像 FROM tcloud.hub/tcloud/nginx :1.19.8-alpine MAINTAINER devops # nginx的默认监听端口 EXPOSE 80 # 将打包后的工程文件拷贝到容器内的webapps下 COPY ./dist /usr/local/webapps/gc-starter-ui
输入制品路径,这个制品就是指的上个阶段npm run build打包出的编译后的vue工程文件路径,不精确到工程文件夹,一般为根目录
- 输入镜像名称。镜像名称请保持唯一。
k8s容器配置
前后端不分离
(1)选择不使用模板,直接创建
(2)选择数据源。下拉选择之前创建的你所要部署的工程的代码仓库,然后选择凭证,输入代码分支。
(3)Maven打包,详情查看前后端分离的Maven打包,不赘述
(4)Docker镜像构建
- 点选Docker
- 如果工程中有Dockerfile就输入文件的相对路径
- 没有的话就在下面的Dockerfile中编写Dockerfile,下面是Dockerfile示例
(5)k8s容器配置# 无需修改,war包放入tomcat中进行部署,tomcat的基础镜像 FROM tcloud.hub/library/gcsave-tomcat:1.0 MAINTAINER devops # 无需修改,tomcat的默认端口 EXPOSE 9080 # 修正时区,保证容器内时间与本地一致 ENV TZ=Asia/Shanghai # 将打包好的war包放入容器中的webapps下 ADD ./gc-starter.war /usr/local/tomcat/webapps/ # 将工程中的tomcat文件添加到容器内的tomcat配置文件夹下,以覆盖容器内tomcat的配置文件 ADD ./classes/server.xml /usr/local/tomcat/conf/
执行流水线
立即执行
指定执行部分阶段
定时执行流水线
如果工程还处于开发阶段,每天有上传代码之类的场景,可以设置在下班时间定时执行流水线,实现自动更新
查看日志
流水线执行日志
流水线执行后就可以直接看日志,不过你也可以把它关掉。
关掉后日志查询:【详情】-【构建记录】-【构建日志】
- 日志中这两个位置,一个code为200并且最后为succeess才算流水线真正执行成功
- code为500的话,可能是端口被占用了导致,那就在流水线编辑中换一个端口吧
容器执行日志
流水线执行成功后并不代表你的工程真的执行成功了,这只是代表了k8s中的容器创建成功了,容器中需要去跑工程,所以可以去查看容器日志,查看是否工程真的启动成功了。
- 容器状态为Running可以查看日志,如果为containercreate需要稍等一会后,刷新页面,等待状态变为Running
【容器管理】-【资源集管理】- 点击资源集名称 -【查看日志】
访问服务
k8s的容器并不能直接访问,而是通过service、ingress等网络服务进行代理,服务访问的url一般为:
192.168.59.117:暴露端口/context-path
Dockerfile参考
认证中心
前后端不分离工程
打包方式war包
git地址:http://192.168.52.88:8001/GC-STARTER/uc/gc-starter-ac.git
FROM tcloud.hub/library/gcsave-tomcat:1.0
MAINTAINER devops
EXPOSE 9080
ENV TZ=Asia/Shanghai
ADD ./classes/server.xml /usr/local/tomcat/conf/
ADD ./ac.war /usr/local/tomcat/webapps/
用户中心后端
基于千行框架的Spring boot工程
打包方式jar包
git地址:http://192.168.52.88:8001/GC-STARTER/uc/gc-starter-uc.git
FROM tcloud.hub/library/openjdk:8-alpine
MAINTAINER Devops
ADD ./gc-starter-uc-server.jar /usr/local/
ADD ./gc-starter-uc-server.jar /usr/local/upload/
EXPOSE 8081
WORKDIR /usr/local
CMD ["java", "-Duser.timezone=GMT+08", "-jar", "gc-starter-uc-server.jar", "--spring.profiles.active=demo"]
用户中心前端
基于千行框架的Vue工程
打包方式npm run build
git地址:http://192.168.52.88:8001/GC-STARTER/uc/gc-starter-uc-ui.git
FROM tcloud.hub/tcloud/nginx:1.19.8-alpine
MAINTAINER devops
EXPOSE 80
COPY ./dist /usr/local/tomcat/webapps/gc-starter-uc-ui
COPY ./dist/config/index-demo.js /usr/local/tomcat/webapps/gc-starter-uc-ui/config/index.js
COPY ./nginx.conf /etc/nginx/conf.d/default.conf
联系我们
研运一体仓问题请联系任晓龙 QQ:1813351650