开发者社区 > 云原生 > Serverless > 正文

我的项目目前代码托管在github,通过github action已经实现自动构建镜像并推送到acr

我的项目目前代码托管在github,通过github action已经实现自动构建镜像并推送到acr私有仓库 我就是想通过函数的应用中心来实代码变更自动部署(镜像构建--推送镜像--拉取镜像--启动容器),知道怎么解决吗?

提问43.jpg

创建应用页面角色截图

提问44.png

我新加了

提问45】.png

这个权限。现在新的错误信息是:

提问46.png

展开
收起
云原生那些事 2023-05-15 07:54:56 331 0
5 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    可以通过阿里云提供的 Serverless Devs 工具来实现这个自动化部署的流程。

    1. 首先在阿里云函数计算中创建一个应用。
    2. 在该应用下创建一个函数,并将其关联到一个触发器(如定时触发器或 API Gateway 触发器),以便在代码变更后触发函数部署。
    3. 在本地使用 Serverless Devs 工具配置应用和函数信息,并将代码和依赖项打包成 zip 包。
    4. 提交代码变更到 Github 仓库。
    5. 通过 Github Action 触发 Serverless Devs 工具自动部署并启动函数。具体可参考阿里云官方文档和 Serverless Devs 工具文档。

    该解决方案可以将代码自动打包成镜像并推送到阿里云容器镜像服务(ACR)仓库,并在函数计算中自动拉取镜像并启动容器,实现代码变更自动部署。

    2023-05-23 12:10:02
    赞同 展开评论 打赏
  • 热爱开发

    您好,可以通过以下步骤实现 GitHub 代码变更自动部署到函数计算:

    1.首先,在 GitHub 上创建一个新的仓库,并将您的项目代码上传至该仓库。

    2.使用 GitHub Actions 配置文件来自动构建 Docker 镜像并推送到 ACR 私有仓库。您可以在 GitHub Actions 中使用以下脚本来实现:

    • name: Build and push to ACR uses: azure/docker-login@v1 with: login-server: username: ${{ secrets.ACR_USERNAME }} password: ${{ secrets.ACR_PASSWORD }}
    • run: | docker build -t /: . docker push /: 其中, 是您的 ACR 注册表 URL,是您要构建的 Docker 镜像名称, 是镜像版本号。

    3.在函数计算控制台中创建一个新的函数计算服务,并配置函数计算触发器(例如,HTTP 触发器)。

    4.在函数计算控制台中创建一个新的函数,并选择 Docker 镜像作为运行环境。

    5.配置函数计算服务的自动部署功能,以便在 Docker 镜像更新后自动拉取并启动新容器。您可以使用以下命令来拉取最新的 Docker 镜像:

    docker pull /: 6.测试自动部署功能是否正常工作,例如通过在 GitHub 上提交代码变更并触发自动构建和部署过程。

    希望这些步骤能够帮助您实现 GitHub 代码变更自动部署到函数计算。如果您有任何问题或疑问,请随时联系我。

    2023-05-15 15:15:57
    赞同 展开评论 打赏
  • 回答10.JPG

    加fullaccess

    此答案来自钉钉群“阿里函数计算官网客户"

    2023-05-15 12:54:52
    赞同 展开评论 打赏
  • 可以通过在应用中心创建函数,并将WebHook与GitHub Action集成来实现代码变更自动部署的流程。

    具体步骤如下:

    在函数计算中创建一个函数,并选择镜像作为运行时环境; 在Azure容器注册表中创建一个镜像仓库,并将其作为ACR私有仓库; 在GitHub中设置WebHook,将代码提交事件推送到Azure函数计算的WebHook地址; 在GitHub Actions中配置构建和推送镜像的工作流程; 在Azure函数计算中配置WebHook触发器以响应推送事件; 在Azure函数计算中编写一个处理程序,用于拉取镜像、启动容器等操作。 需要注意的是,在整个流程中,可能需要设置相关的安全认证和授权机制,例如GitHub的Access Token、Azure ACR的访问密钥等。同时,也需要根据具体的项目需求来调整流程中的各项参数和配置,以达到最优的效果。

    2023-05-15 09:07:46
    赞同 展开评论 打赏
  • 根据您提供的截图,应用中心中的函数暂无法通过直接拉取 ACR 仓库的方式进行部署。可以参考以下方法:

    1. 尝试使用函数的“容器组”功能进行部署,支持直接拉取 ACR 仓库中的镜像部署。

    2. 将 GitHub Actions 中的自动构建流程改为构建部署到应用中心中的函数,而不是推送到 ACR 仓库。

    具体步骤可以参考:

    • 登录应用中心,创建一个新的函数应用。
    • 根据实际需要,选择函数应用所在的虚拟网络等配置信息。
    • 在创建应用后,进入应用的应用详情页面,选择“函数列表”菜单,创建一个新的函数。
    • 在创建函数时,选择“容器镜像”类型,输入待部署的镜像名称,如 registry.cn-hangzhou.aliyuncs.com/your-namespace/your-image:latest 等。
    • 根据实际需要,配置容器组所需的 CPU、内存资源、环境变量等参数信息。
    • 创建成功后,可以在函数列表中看到新创建的函数,通过该函数的访问地址即可访问容器中运行的应用。
    2023-05-15 08:43:11
    赞同 展开评论 打赏

快速交付实现商业价值。

相关电子书

更多
打造支撑百万用户的分布式代码托管平台 立即下载
《容器镜像服务企业版 (ACR EE)》 立即下载
Serverless 开启应用上云新方式 立即下载