sinkcup / laravel-demo

Laravel Demo(production Docker, CircleCI, Lint, Unit Testing)
0 stars 3 forks source link

如何高效创建一个优质的 Laravel 项目? #37

Open sinkcup opened 2 years ago

sinkcup commented 2 years ago
  1. 使用官方命令创建项目
  2. 引入 lint,并修复官方的不规范代码
  3. 引入 Docker
  4. 引入 CI:GitHub Actions, CircleCI, CODNG.net, Azure 等平台
  5. 引入 CD:K8s yaml,也许还有 CODNG.net, Azure 等平台
  6. 引入 API 脚手架:含 swagger、test
sinkcup commented 2 years ago

前面 3 步已做完,之前做了 2 个包,今天用的时候改进了一下:

php artisan lint:code
php artisan docker:publish

现在打算做 4 和 5,本来打算开 2 个命令新包:

php artisan ci:github
php artisan ci:circleci
php artisan k8s:publish
php artisan cd:azure
php artisan cd:coding

转念一想:这些包太简单,就是把几个文件复制到指定目录,做一个包就行了,比如叫做:laravel-fans/devops,命令可以也叫 devops,或者一个包里包含多个命令 ci、cd

php artisan devops:coding
php artisan devops:github

又想到:这些文件不只是 Laravel 要用,别的框架也要用,要单独开一个仓库,做成 php package 才行。那别的语言怎么办?

不同语言的 CI 流水线代码不同,而 k8s yaml 相同(待验证阿里云和腾讯云是否相同)。

sinkcup commented 2 years ago

lint 包复杂,包括几个命令,单独做包合适。

而 docker 包简单,也属于 ci 必须的,可以把 docker 包改名成 devops,继续开发。

不过 ci 也依赖 lint 啊,所以到底做几个包?新开还是改名?

sinkcup commented 2 years ago

发现 configMap 根据不同语言和框架 会变,比如 PHP Laravel 里面有 APP_ENV,Java spring 里面没有。