美文网首页
腾讯云coding打包go项目制作镜像

腾讯云coding打包go项目制作镜像

作者: bug去无踪 | 来源:发表于2022-11-16 17:57 被阅读0次

    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打包go项目制作镜像

          本文链接:https://www.haomeiwen.com/subject/eppoartx.html