开发者社区> wr888> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

如何将gitee仓库的php源码快速托管到阿里云函数计算

简介: 如何将gitee仓库的php源码快速托管到阿里云函数计算
+关注继续查看

1仓库添加s.yml配置文件以及编写简单的php文件

edition: 1.0.0

name: compoent-test

access: '{{ access }}'

services:

  cn-beijing-phpdemo-phpdemo:

    component: devsapp/fc

    props:

      region: cn-beijing

      service:

        logConfig:

        description: 阿里云函数计算php的持续集成和交付演示demo

        name: phpdemo

      function:

        handler: index.handler

        instanceType: e1

        runtime: php7.2

        timeout: 60

        instanceConcurrency: 1

        memorySize: 512

        environmentVariables: {}

        internetAccess: true

        name: phpdemo

        asyncConfiguration: {}

        codeUri: ./code

      triggers:

        - name: http

          description: ''

          type: http

          qualifier: LATEST

          config:

            methods:

              - GET

              - POST

              - PUT

              - DELETE

            authType: anonymous

 

codeUri: ./code 是php脚本目录。

runtime: php7.2 运行时是php7.2,不需要启动脚本,这种模式下php脚本得按照要求写,不能是thinkphp框架这种。旧的项目迁移也需要改动很大。如果是旧项目请选择自定义运行时,这里只是为了演示ci、cd。

index.php脚本介绍

<?php

use RingCentral\Psr7\Response;

/*

To enable the initializer feature (https://help.aliyun.com/document_detail/89029.html)

please implement the initializer function as below:

function initializer($context) {

    echo 'initializing' . PHP_EOL;

}

*/

 

function handler($request, $context): Response{

    /*

    $body       = $request->getBody()->getContents();

    $queries    = $request->getQueryParams();

    $method     = $request->getMethod();

    $headers    = $request->getHeaders();

    $path       = $request->getAttribute('path');

    $requestURI = $request->getAttribute('requestURI');

    $clientIP   = $request->getAttribute('clientIP');

    */

$rt['sta']="1";

$rt['msg']=$request->getAttribute('clientIP');

$json=json_encode($rt, JSON_UNESCAPED_UNICODE);

 

 

    $respHeaders = array('Content-Type' => 'application/json');

    $respBody = $json;

    return new Response(200, $respHeaders, $respBody);

}

返回一个json,msg是客户端的ip。这只是一个最简单的php接口演示页面。

 

源码放到了gitee仓库:

https://gitee.com/wlphp/aliyun-fc-phpdemo

2. 阿里云函数计算创应用

https://fcnext.console.aliyun.com/applications

选择通过仓库导入,仓库类型gitee,第一次选择gitee需要授权下,然后选择1里面的gitee事先创建好的仓库,触发方式选择push到默认的master分支,应用名称是仓库名称,如果提示仓库不可用,请检查s.yml文件是否纯在或者有问题。然后本地把代码提交到gitee仓库的时候就能自动触发部署代码到函数计算了。

application.jpg


3绑定自己的域名

https://fcnext.console.aliyun.com/cn-beijing/domains

域名需要cname解析到函数计算提供的公网的cname,同一个地区的cname的url是一样的。

然后配置下路由也就是这个域名指向的服务,函数,版本信息。然后就可以访问了。

domain.jpg

4.测试下能否正常访问

 

http://phpdemo.fc.wziyi.com.cn/

last.jpg

5. 总结

函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地、可靠地运行任务,并提供日志查询、性能监控和报警等功能。借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费。整体体验下来ci/cd感觉还是很不错的。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
用git命令将代码发布到远程仓库+SSH公钥配置(下)
用git命令将代码发布到远程仓库+SSH公钥配置
28 0
Git - 本地 Git 绑定 Gitee 仓库
Git - 本地 Git 绑定 Gitee 仓库
80 0
阿里云通用型g6和g5ECS服务器的区别以及如何选择配置建议
阿里云ECS云服务器通用型g6和通用型g5实例的区别是什么?本文来说说通用型g6和通用型g5的区别以及选择方法。
350 0
IntelliJ IDEA 本地打包 Docker 镜像并推送到阿里云 ACR
关于容器镜像服务 ACR 容器镜像服务(Container Registry)提供安全的镜像托管能力,稳定的国内外镜像构建服务,便捷的镜像授权功能,方便用户进行镜像全生命周期管理。容器镜像服务简化了Registry的搭建运维工作,支持多地域的镜像托管,并联合容器服务等云产品,为用户打造云上使用Docker的一体化体验。
7221 0
如何把创建ECS(CreateInstance)作为触发器来触发函数计算
函数计算是阿里云上类似lamda的服务。 本文介绍了如何通过日志服务投递ECS创建等行为的日志,从而触发函数计算服务。
797 0
通过阿里云容器服务深度学习解决方案上手Caffe+多GPU训练
阿里云容器服务提供的深度学习解决方案内置了对Tensorflow, Keras, MXnet框架的环境,并支持基于它们的深度学习模型开发、模型训练和模型预测。同时,对于模型训练和预测,用户还可以通过指定自定义容器镜像的方式,使用其他深度学习框架。
9228 0
Android源码剖析之Framwork层消息传递(Wms到View)
 本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 前面讲过Wms、Ams与Activity的一系列交互,包括创建过程、消息传递、窗口展示等,紧接上篇介绍最终的实现者-窗口和View,上篇对窗口已经有了比较多的介绍,本篇我们再对View再更深一步的了解。
1243 0
x3d
通过指定函数/方法形参类型提高PHP代码可靠性
指定形参类型是PHP 5就支持的一项特性。形参支持array - 数组、 object - 对象两种类型。 class User{ public $name; public $password; function __construct($name,$password){ ...
719 0
+关注
10
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载