前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Web Function】云函数 镜像部署

【Web Function】云函数 镜像部署

原创
作者头像
Vine
发布2021-12-12 22:25:27
1.2K0
发布2021-12-12 22:25:27
举报
文章被收录于专栏:Swift ServerSwift Server

这里我们使用 Coding 进行部署。

  • 前置操作请参考【Web Function】云函数 与 DevOps

https://cloud.tencent.com/developer/article/1845071

首先我们选定两个模板

模板会自动创建鉴权文件,不用我们配置鉴权。

  • 构建镜像并推送至 TCR 个人版
  • 基于 Serverless 快速部署静态页面

这里我们使用 Serverless 为基础 Jenkinsfile,他会自动帮我们申请部署权限。

复制 tcr 模板的内容到 serverless 模板内

代码语言:javascript
复制
    stage('构建镜像') {
      steps {
        // 确保仓库中有可用的 Dockerfile
        sh "docker build -t ${DOCKER_REPOSITORY_NAME}:${DOCKER_IMAGE_NAME} ."
      }
    }
    stage('推送镜像') {
      steps {
        script {
          docker.withRegistry("https://${DOCKER_REGISTRY_HOSTNAME}", "${DOCKER_REGISTRY_CREDENTIAL}") {
            docker.image("${DOCKER_REPOSITORY_NAME}:${DOCKER_IMAGE_NAME}").push()
          }
        }
      }
    }

tcr 的环境变量

代码语言:javascript
复制
  environment {
    DOCKER_REGISTRY_HOSTNAME = "${TCR_REGISTRY_HOSTNAME}"
    DOCKER_REGISTRY_CREDENTIAL = "${TCR_REGISTRY_CREDENTIAL}"
    DOCKER_REPOSITORY_NAME = "${TCR_NAMESPACE_NAME}/${TCR_REPOSITORY_NAME}"
    DOCKER_IMAGE_NAME = "${TCR_IMAGE_NAME}"
  }

现在我们可以看到构建镜像和推送镜像内容

下一步,我们获取镜像链接

脚本内容如下

代码语言:javascript
复制
env.sha=sh(script: "docker inspect --format='{{index .RepoDigests 0}}' ${DOCKER_REPOSITORY_NAME}:${DOCKER_IMAGE_NAME} | cut -d'@' -f2",returnStdout:true).trim()
env.sls_image_url = sh(script: "echo ${DOCKER_REGISTRY_HOSTNAME}/${DOCKER_REPOSITORY_NAME}:${DOCKER_IMAGE_NAME}@$sha",returnStdout:true).trim()
sh 'echo image url $sls_image_url'

配置 yml 文件

对于 slsplus 使用的是压缩json字符串。内容对比如下

如需其他配置,请查阅

https://github.com/serverless-components/tencent-scf/blob/master/docs/configure.md

将我们的镜像配置添加进去

最后核查我们的环境变量。这里我们需要 tcr 的环境变量,也需要 serverless的环境变量。

最后我们配置分支触发条件,以后推送代码之后就可以自动部署我们的云函数了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 这里我们使用 Coding 进行部署。
  • 首先我们选定两个模板
    • 模板会自动创建鉴权文件,不用我们配置鉴权。
    • 这里我们使用 Serverless 为基础 Jenkinsfile,他会自动帮我们申请部署权限。
      • 下一步,我们获取镜像链接
        • 对于 slsplus 使用的是压缩json字符串。内容对比如下
    • 配置 yml 文件
    • 最后我们配置分支触发条件,以后推送代码之后就可以自动部署我们的云函数了。
    相关产品与服务
    云函数
    云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。云函数是实时文件处理和数据处理等场景下理想的计算平台。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档