一个没什么意义的个人部署笔记(Dockerfile+GitLab+CICD+Portainer/Kubord)

背景

简单记录下服务开发完的部署流程笔记,仅为个人笔记无实际参考意义。

流程

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.添加工作容器

这些配置都是提前维护好,具体配置再说

配置读取顺序-》优先线上配置-》合并或者覆盖相同部分项目中bootstrap.yml-》具体yml配置文件 但一般具体的配置文件也会在线上配置指定(此处也用到了nacos的线上配置)

 3.添加数据卷

 4.高级设置

 5.服务/应用路由

 6.保存启动

至此一个基本的流程就这样,本文只是个人地记录,没什么意义

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值