整体架构:

代码仓库:gitlab的部署

镜像仓库:harbor的部署

容器编排系统:k8s

容器服务管理工具:rancher导入本地k8s集群
 

cicd推送镜像到本地仓库

上面组件和服务部署,前面的博客都有介绍到,这里不在赘述。镜像推送到本地仓库后,下一步就是自动部署了。代码如下

deploy_sha:
  stage: deploy_sha
  tags:
    - deploy
  only:
    - master
  script: |
    set -e -o pipefail
    echo /home/.kube/$SERVICE_NAME.yml
    echo $SERVICE_NAME
    echo $CI_COMMIT_SHA
    sed -i 's/- image.*/- image: 172.16.xx.xx:85\/testproject\/'$SERVICE_NAME':'$CI_COMMIT_SHA'/'  /home/.kube/$SERVICE_NAME.yml
    kubectl --kubeconfig=/home/.kube/kube_config_cluster.yml  apply -f  /home/.kube/$SERVICE_NAME.yml

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐