Home
Download
Document
Forum
Video
Donate
Source Code
Sponsors
AI 助理
Products
Swoole-Compiler
CRMEB 新零售社交电商系统
Vprix 远程桌面系统
Login
Register
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
使用 CodeGalaxy Cli 快速部署 Laravel 应用
## CodeGalaxy 介绍 **`CodeGalaxy` 是 `Swoole` 官方推出的 `ServerLess` 平台**,旨在帮助开发者更方便地实现应用的开发部署,在一个平台就可以完成代码托管、云端应用开发调试和构建、多云部署以及接入层管理。 `CodeGalaxy` 是完全免费的,平台由识沃科技 `CodeGalaxy` 团队维护,用户无需为软件服务付费,只需要购买相应云厂商的服务器资源即可。`CodeGalaxy` 支持多种语言,包括 `PHP`、`Golang`、`Java`、`Node.js` 等。 * Code-Galaxy 官网: [https://code-galaxy.net/](https://code-galaxy.net/ "https://code-galaxy.net/") ### CodeGalaxy Cli `CodeGalaxy` 除了 `Web` 管理界面之外,最新还提供了强大的 `Cli` 命令行工具。`CodeGalaxy` 将 `Cli` 客户端工具作为一等公民,`Cli` 工具可以完成所有工作,还可以编写 `shell` 脚本实现更复杂的逻辑。 在最新版本的 `CodeGalaxy Cli` 中增加了 `galaxy exec` 和 `galaxy cp` 命令,可以直接登录到线上的 `Pod` 的终端、在线上 `Pod` 和本地之间下载上传文件。在文章末尾会介绍这两条命令的使用方法。 #### 一键安装 `CodeGalaxy Cli` ```shell $ curl -s https://s.code-galaxy.net/cli-install.sh | bash - ``` 在上一篇文章([使用 CodeGalaxy Cli 快速部署 Hyperf 应用](https://wenda.swoole.com/detail/108886))中已经介绍了 `Cli` 工具的详细信息,以下不再赘述。本文主要介绍 `Laravel` 项目如何使用 `Code-Galaxy Cli` 来构建和部署。 ### 创建新项目 可使用 `galaxy quick` 命令来自动创建新项目,创建过程中会询问 `Laravel` 版本、环境、域名、所要部署的集群。目前 `CodeGalaxy` 提供了阿里云、腾讯云托管集群,可直接用这两个集群来做试用。正式使用前,需要用户导入自己的 `K8s` 集群,或者添加云账户并创建新的 `K8s` 集群。 ```shell galaxy quick laravel myproj ``` #### 选择版本 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_63808425ac081.png) #### 选择环境 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_63808469af875.png) #### 选择集群 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_6380848390f7b.png) #### 选择域名 可以输入域名,也可以自动生成一个测试的`local`名称。 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_638084b9d9c06.png) `galaxy quick` 命令会自动创建 `git` 仓库,并完成 `docker` 镜像构建、云端部署、网关配置等过程,若选择了测试域名,还会自动添加到 `/etc/hosts` 本机名称。并自动打开浏览器。大家就可以看到熟悉的 `Laravel Hello World` 页面了。 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_63808561286b8.png) 修改代码后, `push` 到 `git` 仓库就可以使用 `galaxy build` 和 `galaxy deploy` 进行构建和部署了,也可以使用 `galaxy route` 添加更多域名。 ### 导入已有项目 对于已有项目,在本地 `git clone` 项目代码后,可进入目录后,在终端执行: ```shell galaxy init ``` 来完成应用的初始化,在 `CodeGalaxy` 平台自动创建一个应用。需要选择应用的编程语言、框架等信息,若存在多个`git remote`需要选择一个可以被`CodeGalaxy`平台访问的地址,当前用户加入了多个组织还需要需要选择所在组织。 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_638085f400aae.png) ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_638085fb2404d.png) ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_63808601c2da6.png) ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_638086091507f.png) ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_6380861095f48.png) 初始化成功后,就可以使用 `build`、`deploy`、`route` 等命令来完成应用的构建、部署、接入。 #### 构建 ```shell galaxy build ``` ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_63808ce4c9b34.png) 构建完成后会收到 “构建成功” 的微信、邮件通知。 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_63808ceb382de.png) ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_63808cf35b123.png) #### 部署 ```shell galaxy deploy ``` 选择镜像,如果有多个实例则需要选择具体要部署的实例名称。 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_63808cfa1296e.png) #### 接入 第一次设置域名时需要使用 `route` 指令来增加域名和路径,例如 `swoole.com` 路径 `/test` 表示,`http://swoole.com/test` 会路由到上面部署的实例。 ```shell galaxy route ``` #### 进入终端 可使用 `galaxy exec` 在线上实例的 `Pod` 中执行一条命令,或者进入 `bash` 终端,进行操作。 格式为 ```shell galaxy exec (POD | TYPE/NAME) [-c CONTAINER] -- [command] ``` ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_6380906f610e3.png) 若只有一个 `Pod` ,可省略 `Pod` 参数,直接执行 `galaxy exec -- bash` 进入终端。 ```shell htf@htf-ThinkPad-T470p:~/workspace/projects/swoole.com$ galaxy exec -- bash Welcome to `CodeGalaxy` bash-5.1# ``` #### 复制文件 可使用 `galaxy cp` 命令从线上实例下载文件到本地,或者上传本地文件到线上。 格式为 ```shell galaxy cp <file-spec-src> <file-spec-dest> [flags] ``` > 支持复制单个文件或者复制整个目录,命令格式与 `docker cp` 或者 `linux cp` 是一致的 > 线上路径需要以 `<pod>:<path>` 表示 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_638090770fa43.png) ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_638090d150bf1.png) 这里我们编写了一个 `info.php` 页面,并用 `galaxy cp` 复制到了线上的 `public` 使用 `curl` 或者 `Chrome` 浏览器就可以访问了。 如果我们不想提交 `git` 或者重新构建镜像,而是直接在线上某个实例 `Pod` 中调试,就可以使用 `galaxy cp` 将文件直接复制到线上。 > `galaxy cp` 和 `exec` 可能会存在一定的风险,因此需要项目组管理员权限才可以完成,项目组的普通成员无法执行此操作
发布于1年前 · 30 次浏览 · 来自
Rango
## CodeGalaxy 介绍 **`CodeGalaxy` 是 `Swoole` 官方推出的 `ServerLess` 平台**,旨在帮助开发者更方便地实现应用的开发部署,在一个平台就可以完成代码托管、云端应用开发调试和构建、多云部署以及接入层管理。 `CodeGalaxy` 是完全免费的,平台由识沃科技 `CodeGalaxy` 团队维护,用户无需为软件服务付费,只需要购买相应云厂商的服务器资源即可。`CodeGalaxy` 支持多种语言,包括 `PHP`、`Golang`、`Java`、`Node.js` 等。 * Code-Galaxy 官网: [https://code-galaxy.net/](https://code-galaxy.net/ "https://code-galaxy.net/") ### CodeGalaxy Cli `CodeGalaxy` 除了 `Web` 管理界面之外,最新还提供了强大的 `Cli` 命令行工具。`CodeGalaxy` 将 `Cli` 客户端工具作为一等公民,`Cli` 工具可以完成所有工作,还可以编写 `shell` 脚本实现更复杂的逻辑。 在最新版本的 `CodeGalaxy Cli` 中增加了 `galaxy exec` 和 `galaxy cp` 命令,可以直接登录到线上的 `Pod` 的终端、在线上 `Pod` 和本地之间下载上传文件。在文章末尾会介绍这两条命令的使用方法。 #### 一键安装 `CodeGalaxy Cli` ```shell $ curl -s https://s.code-galaxy.net/cli-install.sh | bash - ``` 在上一篇文章([使用 CodeGalaxy Cli 快速部署 Hyperf 应用](https://wenda.swoole.com/detail/108886))中已经介绍了 `Cli` 工具的详细信息,以下不再赘述。本文主要介绍 `Laravel` 项目如何使用 `Code-Galaxy Cli` 来构建和部署。 ### 创建新项目 可使用 `galaxy quick` 命令来自动创建新项目,创建过程中会询问 `Laravel` 版本、环境、域名、所要部署的集群。目前 `CodeGalaxy` 提供了阿里云、腾讯云托管集群,可直接用这两个集群来做试用。正式使用前,需要用户导入自己的 `K8s` 集群,或者添加云账户并创建新的 `K8s` 集群。 ```shell galaxy quick laravel myproj ``` #### 选择版本 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_63808425ac081.png) #### 选择环境 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_63808469af875.png) #### 选择集群 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_6380848390f7b.png) #### 选择域名 可以输入域名,也可以自动生成一个测试的`local`名称。 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_638084b9d9c06.png) `galaxy quick` 命令会自动创建 `git` 仓库,并完成 `docker` 镜像构建、云端部署、网关配置等过程,若选择了测试域名,还会自动添加到 `/etc/hosts` 本机名称。并自动打开浏览器。大家就可以看到熟悉的 `Laravel Hello World` 页面了。 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_63808561286b8.png) 修改代码后, `push` 到 `git` 仓库就可以使用 `galaxy build` 和 `galaxy deploy` 进行构建和部署了,也可以使用 `galaxy route` 添加更多域名。 ### 导入已有项目 对于已有项目,在本地 `git clone` 项目代码后,可进入目录后,在终端执行: ```shell galaxy init ``` 来完成应用的初始化,在 `CodeGalaxy` 平台自动创建一个应用。需要选择应用的编程语言、框架等信息,若存在多个`git remote`需要选择一个可以被`CodeGalaxy`平台访问的地址,当前用户加入了多个组织还需要需要选择所在组织。 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_638085f400aae.png) ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_638085fb2404d.png) ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_63808601c2da6.png) ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_638086091507f.png) ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_6380861095f48.png) 初始化成功后,就可以使用 `build`、`deploy`、`route` 等命令来完成应用的构建、部署、接入。 #### 构建 ```shell galaxy build ``` ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_63808ce4c9b34.png) 构建完成后会收到 “构建成功” 的微信、邮件通知。 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_63808ceb382de.png) ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_63808cf35b123.png) #### 部署 ```shell galaxy deploy ``` 选择镜像,如果有多个实例则需要选择具体要部署的实例名称。 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_63808cfa1296e.png) #### 接入 第一次设置域名时需要使用 `route` 指令来增加域名和路径,例如 `swoole.com` 路径 `/test` 表示,`http://swoole.com/test` 会路由到上面部署的实例。 ```shell galaxy route ``` #### 进入终端 可使用 `galaxy exec` 在线上实例的 `Pod` 中执行一条命令,或者进入 `bash` 终端,进行操作。 格式为 ```shell galaxy exec (POD | TYPE/NAME) [-c CONTAINER] -- [command] ``` ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_6380906f610e3.png) 若只有一个 `Pod` ,可省略 `Pod` 参数,直接执行 `galaxy exec -- bash` 进入终端。 ```shell htf@htf-ThinkPad-T470p:~/workspace/projects/swoole.com$ galaxy exec -- bash Welcome to `CodeGalaxy` bash-5.1# ``` #### 复制文件 可使用 `galaxy cp` 命令从线上实例下载文件到本地,或者上传本地文件到线上。 格式为 ```shell galaxy cp <file-spec-src> <file-spec-dest> [flags] ``` > 支持复制单个文件或者复制整个目录,命令格式与 `docker cp` 或者 `linux cp` 是一致的 > 线上路径需要以 `<pod>:<path>` 表示 ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_638090770fa43.png) ![](https://wenda-1252906962.file.myqcloud.com/uploads/202211/1_638090d150bf1.png) 这里我们编写了一个 `info.php` 页面,并用 `galaxy cp` 复制到了线上的 `public` 使用 `curl` 或者 `Chrome` 浏览器就可以访问了。 如果我们不想提交 `git` 或者重新构建镜像,而是直接在线上某个实例 `Pod` 中调试,就可以使用 `galaxy cp` 将文件直接复制到线上。 > `galaxy cp` 和 `exec` 可能会存在一定的风险,因此需要项目组管理员权限才可以完成,项目组的普通成员无法执行此操作
赞
0
分享
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
评论
还没有评论!
微信公众号
热门内容
作者其它话题
- CodeGalaxy K3s 轻量集群节点之间如何实现负载均衡
- 有没有办法判断当前是否运行在swoole守护进程里面?
暂无回复的问答
- CodeGalaxy K3s 轻量集群节点之间如何实现负载均衡
- 关于openssl CURL WARNING swSSL_connect: SSL_connect(fd=69) failed. Error: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small[1|394]
- 多个模型如何进行事务异常回退?
- websocket开启wss报错
- 协程tcp服务器如何使用多进程?recv()方法接收信息,打印出来的pid一直是同一个。没用使用到多进程啊。