腾讯云coding和tke部署一个简单golang项目

1.新建代码仓库和dockerfile

dockerfile文件

FROM ccr.ccs.tencentyun.com/pdabase/centos8
ENV WORKDIR /app/项目名字
RUN mkdir -p $WORKDIR
RUN mkdir -p $WORKDIR/resource
COPY server $WORKDIR
COPY resource/ $WORKDIR/resource
#定义时区参数
ENV TZ=Asia/Shanghai
#设置时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone
WORKDIR $WORKDIR
CMD ["./server"]

2.新建构建计划(打包镜像)

2.1新建构建计划
image.png
2.2添加制品库
image.png
image.png
2.3 打包成镜像脚本
image.png
pipeline {
  agent any
  stages {
    stage('检出') {
      steps {
        checkout([$class: 'GitSCM',
        branches: [[name: GIT_BUILD_REF]],
        userRemoteConfigs: [[
          url: GIT_REPO_URL,
          credentialsId: CREDENTIALS_ID
        ]]])
      }
    }

    stage('编译') {
      agent {
        docker {
          image 'pdabase/gobase'
          reuseNode 'true'
          registryUrl 'https://ccr.ccs.tencentyun.com'
        }

      }
      steps {
sh '''
cd ./server
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOSUMDB=off
go env
go build -o server
ls -la'''
      }
    }

    stage('构建镜像并推送到 CODING Docker 制品库') {
      steps {
        dir('./server') {
          sh "docker build -t ${CODING_DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_VERSION} -f ${DOCKERFILE_PATH} ${DOCKER_BUILD_CONTEXT}"
          useCustomStepPlugin(key: 'coding-public:artifact_docker_push', version: 'latest', params: [image:"${CODING_DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_VERSION}",repo:'${DOCKER_REPO_NAME}',properties:'[]'])
        }

      }
    }

  }
  environment {
    CODING_DOCKER_REG_HOST = "${CCI_CURRENT_TEAM}-docker.pkg.${CCI_CURRENT_DOMAIN}"
    CODING_DOCKER_IMAGE_NAME = "${PROJECT_NAME.toLowerCase()}/${DOCKER_REPO_NAME}/${DOCKER_IMAGE_NAME}"
  }
}
2.4变量和缓存(默认)
image.png

3.在腾讯云上购买集群,配置好

3.1新建一个集群
image.png

自己玩选的购买标准集群

image.png
3.2选择集群机器和带宽的配置 (按小时和流量计费,配置越高收费越高)
image.png
3.3选择云服务器配置
image.png
3.4确认集群配置信息
image.png

点击确认后等待集群创建,需要一点时间

4.新建应用绑定云账号和集群

4.1.新建云账号
image.png
image.png
4.2.创建应用

应用中心-创建应用


image.png
image.png
4.3创建部署流程
image.png
4.4关联云账号
image.png
image.png
image.png
4.5 新建发布单

选择应用和部署流程


image.png
image.png
4.6 点击发布
image.png
image.png

如果服务不依赖于配置的话,这个时候服务应该起来了,可以去腾讯云的控制台看实例是否启动

5.配置文件、service和ingress

5.1新建配置文件config
image.png

image.png
5.2 将配置文件和Deployment实例关联
image.png

添加配置的数据卷,添加挂载点,注意挂载路径

image.png

到这可以重启一下服务,服务会读取配置文件并重启

6.添加service

新建service-关联Deployment 提供公网加端口访问


image.png

主机端口既是访问端口
比如我的端口是30004
我访问服务某个接口 便是:http://集群节点的公网ip:30004/路径

workload绑定很关键,关联到Deployment,根据selector


image.png

完成以上步骤便可访问服务接口了

7.添加ingress

为了方便服务的统一管理,统一入口,可以新建ingress,根据路由进行请求的转发到相应的service,承担网关的角色,一个域名可以根据路由绑定不同的服务(有点类似nginx)。

7.1新建ingress

服务与路由-ingress


image.png

后端服务即是需要关联的service服务


image.png
7.2通过ingress访问服务

新建ingress完成后,ingres会提供一个公网IP,我们可以通过这个IP(默认80端口)加上服务的路由地址。同样可以访问到我们新建的服务


image.png

你可能感兴趣的:(腾讯云coding和tke部署一个简单golang项目)