简单记录下服务开发完的部署流程笔记,仅为个人笔记无实际参考意义。
流程1.服务中配置dockerfile文件
FROM 基于某个镜像 COPY target/*.jar demo-0.0.1.jar(jar包的位置) EXPOSE 8000(开放的端口) ENTRYPOINT ["java","-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n","-jar", "-Duser.timezone=GMT+8","demo-0.0.1.jar"](此处5005端口用于远程调试)
Dockerfile官方文档参考Dockerfile reference | Docker documentation
2. 编写gitlab-ci文件
stages: - build - package - restart variables: #gitlab中项目的路径 PROJECT_NAME: "backend/demo" VERSION: "0.0.1" MODULE_CMS: "demo" build: #gitlab中maven镜像地址 image: registry.test.com.cn/test/maven:3.6.3 stage: build #指定某个分支 only: - dev tags: - share script: - echo $CI_COMMIT_REF_NAME-$CI_COMMIT_SHA - mvn clean install package -Dmaven.test.skip=true #传递文件到下个阶段 artifacts: name: $MODULE_CMS expire_in: 10 min paths: - target/*.jar #推送镜像到镜像仓库 package: image: docker:stable stage: package only: - dev tags: - share script: - docker login --username $CI_REGISTRY_USER --password $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker build -t $CI_REGISTRY/$PROJECT_NAME:$MODULE_CMS-$VERSION -f Dockerfile . - docker push $CI_REGISTRY/$PROJECT_NAME:$MODULE_CMS-$VERSION restart: stage: restart image: yauritux/busybox-curl only: - dev script: #出发K8S部署 - curl -X PUT -H "Content-Type:application/yaml" -H "cookie:KuboardUsername=XXXX; KuboardAccessKey=XXX" -d '{"kind":"deployments","namespace":"default","name":"demo"}' "http://xxx.xx.x.xx:30080/kuboard-api/cluster/default/kind/CICDApi/admin/resource/restartWorkload" when: on_success
gitlab-ci配置文件详解参考5:GitLab之gitlab-ci.yml配置文件详解 - Wesley·zk - 博客园
3.提交代码,等待代码编译打包等完成后生成镜像
4.查看镜像地址并且复制
例:registry.test.com.cn/backend/demo
5.接下来则是去Portainer/Kubord根据镜像启动不同环境地容器
通过Portainer进行部署1.新增容器
2.填写相关信息,到此步就可以启动容器了
3.后续如果考虑挂载等,即可进行编辑容器,再重新启动
如果需要开启远程调试,需要开放5005端口,且在启动命令配置
java,-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n,-jar,-Duser.timezone=GMT+8,demo.jar
通过Kubord进行部署
1.新建工作负载
2.添加工作容器
这些配置都是提前维护好,具体配置再说
3.添加数据卷
4.高级设置
5.服务/应用路由
6.保存启动
至此一个基本的流程就这样,本文只是个人地记录,没什么意义
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)