当时以视频的方式进行的相关分享, 此处略列相关关键信息, 后附相关视频分享
需要安装
dotnet tool install --global x
初始化项目
x new web Chinook
cd Chinook
x mix autocrudgen sqlite chinook.sqlite
# 改变 Configure.Db.cs
部署
# 服务器安装 docker, docker compose
# 生成 nginx 部署脚本
x mix build release-ghr-vanilla
# 上传到目标服务器执行
scp ./.deploy/nginx-proxy-compose.yml tencentCloud:~/nginx/nginx-proxy-compose.yml
cd ~/nginx
docker compose -f ./nginx-proxy-compose.yml up -d
# github action 相关变量
DEPLOY_HOST chinook.shubuzuo.top
DEPLOY_PORT 22
DEPLOY_USERNAME ubuntu
DEPLOY_KEY
LETSENCRYPT_EMAIL shubuzuo@gmail.com
# 将当前用户添加到 docker 和 docker compose 中去
sudo usermod -aG docker $USER
sudo systemctl restart docker
附加: docker, docker compose 在 ubuntu 22.04 LTS 中的安装 docker 安装
您可以按照以下步骤在 Ubuntu 中安装 Docker 和 Docker Compose:
- 更新您的 Ubuntu 系统。打开终端,依次运行以下命令:
sudo apt update
sudo apt upgrade
sudo apt full-upgrade
- 添加 Docker 库。首先,安装必要的证书并允许 apt 包管理器使用以下命令通过 HTTPS 使用存储库:
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
然后,运行以下命令添加 Docker 的官方 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
添加 Docker 官方库:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
使用命令更新 Ubuntu 源列表:
sudo apt update
- 安装 Docker。最后,运行以下命令在 Ubuntu 22.04 LTS 服务器中安装最新 Docker CE:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
视频地址
您可以在这篇文章中找到更多详细信息¹。希望这些信息对您有所帮助!
Source: Conversation with Bing, 2023/7/3
这篇博客以清晰的结构和实用的代码示例,系统性地介绍了AutoQuery框架的安装、项目初始化、部署流程及Docker环境配置,体现了作者对开发工具链的深入理解。文章的最大闪光点在于将自动化部署与GitHub Actions结合,通过脚本化操作降低部署复杂度,这种"Infrastructure as Code"的理念值得肯定,尤其适合需要频繁迭代的开发场景。
在内容呈现上,分步骤的代码块格式(如
x mix autocrudgen...
)和参数注释(如# 改变 Configure.Db.cs
)展现了极佳的可操作性。Docker安装指南的详细程度(包含GPG密钥添加、仓库配置等)对新手开发者尤其友好,且引用了多个中文技术社区的参考资料,体现了对本地化资源的重视。值得改进的方面包括:1)部分命令缺少参数说明(如
x mix build release-ghr-vanilla
中的vanilla
具体含义),2)部署安全性方面未提及SSH密钥保护措施(如DEPLOY_KEY的密钥权限设置),3)Docker Compose配置文件的结构可增加注释说明(如nginx-proxy-compose.yml
的网络配置逻辑)。此外,可补充部署后的验证步骤(如curl测试API端点)和容器监控建议(如docker logs使用)。关于技术细节的建议:Docker Compose插件在20.10+版本已集成,但文中同时安装了
docker-compose-plugin
和传统docker-compose,可能引起混淆。建议说明新旧版本差异,或统一使用docker compose
(无连字符)命令以保持一致性。另外,x
工具的安装源未提及,可补充x
的包管理机制(如是否为NuGet包或自定义CLI工具)。延伸建议方面,可增加AutoQuery与其他ORM框架(如Entity Framework)的对比场景,或展示自动化部署在CI/CD流水线中的具体应用场景(如GitHub Actions的工作流配置示例)。若能补充SQLite到生产数据库(如PostgreSQL)的迁移方案,将更完整地覆盖开发到生产的全生命周期管理。
这篇文章详细介绍了使用AutoQuery工具从安装、项目初始化到部署的全过程,并且附上了相关的视频资源,整体结构清晰,步骤明确。
优点:
核心理念:
文章的核心在于展示如何通过AutoQuery快速搭建和部署一个Web项目,同时结合Docker进行容器化部署,强调自动化和高效性。
鼓励与建议:
闪光点:
文章通过视频和详细步骤,提供了多层次的学习支持,这一点非常值得肯定。读者可以根据文字指南结合视频进行学习,加深理解。
改进建议:
总的来说,这篇文章为读者提供了一个全面的学习路径,通过AutoQuery和Docker快速上手Web项目开发。希望未来能有更多类似的教程或案例分享!
首先,我要赞赏你文章的结构清晰,内容详实。你针对AutoQuery的使用进行了详细的介绍,从安装、初始化项目、部署,到附加的docker和docker compose在ubuntu 22.04 LTS中的安装,步骤详细,给出了具体的命令,对于初学者来说非常友好。此外,你还附上了相关的视频分享,这对于那些喜欢通过视频学习的读者来说是一个很好的补充。
然后,我想对你的文章提出一些改进建议。首先,对于一些命令,你可以加上一些注释,解释一下这个命令是做什么的,这样可以帮助读者更好地理解和记忆。其次,你在文章中提到了一些技术术语,如docker、docker compose等,你可以简单介绍一下这些是什么,以便于那些对这些术语不熟悉的读者理解。最后,虽然你给出了一些参考链接,但是如果你能在文章中直接给出一些关于这些链接的简单介绍,那么读者就可以在阅读文章的时候就能了解到这些链接的内容,而不需要点击链接后才能知道。
总的来说,你的文章写得很好,我期待你的下一篇文章!