如何将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感觉还是很不错的。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
6天前
|
安全 前端开发 JavaScript
PHP医院信息化B/S手麻系统源码
开发语言:PHP、 js 技术架构:mysql+laravel+vue2 开发工具:oh-storm 前端框架:vue2 element 后端框架:laravel 数 据 库:mysql 8.0
12 0
PHP医院信息化B/S手麻系统源码
|
12天前
|
人工智能 数据管理 Serverless
阿里云数据库走向Serverless与AI驱动的一站式数据平台具有重大意义和潜力
阿里云数据库走向Serverless与AI驱动的一站式数据平台具有重大意义和潜力
17 2
|
12天前
|
人工智能 运维 Cloud Native
、你如何看待阿里云数据库走向Serverless与AI驱动的一站式数据平台?
、你如何看待阿里云数据库走向Serverless与AI驱动的一站式数据平台?
17 2
|
28天前
|
JSON 安全 Serverless
在使用阿里云函数计算(FC)服务时,您可以通过自定义域名来访问部署好的云函数
在使用阿里云函数计算(FC)服务时,您可以通过自定义域名来访问部署好的云函数【1月更文挑战第23天】【1月更文挑战第112篇】
146 7
|
30天前
|
关系型数据库 MySQL PHP
分享151个PHP源码,总有一款适合您
分享151个PHP源码,总有一款适合您
20 0
|
12天前
|
人工智能 数据管理 大数据
阿里云数据库走向Serverless与AI驱动的一站式数据平台是一个很有前景和意义的发展方向
阿里云数据库走向Serverless与AI驱动的一站式数据平台是一个很有前景和意义的发展方向
19 2
|
7天前
|
存储 弹性计算 安全
云服务器ECS_云主机_服务器托管_计算-阿里云
云服务器ECS_云主机_服务器托管_计算-阿里云,阿里云服务器是什么?云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务,云服务器可以降低IT成本提升运维效率,免去企业或个人前期采购IT硬件的成本,阿里云服务器让用户像使用水、电、天然气等公共资源一样便捷、高效地使用服务器
云服务器ECS_云主机_服务器托管_计算-阿里云
|
13天前
|
人工智能 运维 数据管理
阿里云数据库走向Serverless与AI驱动的一站式数据平台
阿里云数据库走向Serverless与AI驱动的一站式数据平台
21 2
|
13天前
|
存储 弹性计算 大数据
云服务器ECS_云主机_服务器托管_计算-阿里云
云服务器ECS_云主机_服务器托管_计算-阿里云,阿里云服务器全方位介绍包括云服务器ECS优势、云服务器租用价格、云服务器使用场景及限制说明,阿里云百科分享云服务器ECS介绍、个人和企业免费试用、云服务器活动、云服务器ECS规格、优势、功能及应用场景详细说明
28 0
|
17天前
|
人工智能 Cloud Native 数据管理
阿里云数据库:向Serverless与AI驱动的一站式数据平台迈进
众所周知,在人工智能迅猛发展的现在,在AI驱动下的数据平台,正在向一站式、智能化的方向演进,还有就是云原生+Serverless的不断深入,一站式数据平台将让数据管理开发像“搭积木”一样简单实用,以性价比更高、体验更优的云数据库服务,助推用户业务提效增速。据悉阿里云数据库正在朝着Serverless与AI驱动的方向发展,构建一站式、智能化的数据平台,这一发展趋势将为用户提供更简单、实用的数据管理开发体验,以提高业务效率和降低成本。那么本文就来分享一下如何看待阿里云数据库的这一转变,并展望云原生和Serverless对数据管理与开发的未来带来的更多可能性。
35 1
阿里云数据库:向Serverless与AI驱动的一站式数据平台迈进

相关产品

  • 云迁移中心