Anduin Xue
Anduin Xue

Anduin's Tech Blog

All Posts in 2023.5


Show .NET code coverage rate and unit test status with GitLab CI\CD pipeline

本文详细介绍了如何使用GitLab CI/CD管道来展示.NET项目的代码覆盖率和单元测试状态。首先,需要确保在你的GitLab实例中有一个.NET项目。然后,在所有单元测试项目中添加coverlet.collector和JunitXml.TestLogger这两个包。接下来,编写C#代码的单元测试,并创建一个包含构建、测试和发布阶段的.gitlab-ci.yml文件。 在构建阶段,使用dotnet build命令进行编译。在测试阶段,使用dotnet test命令进行测试,并收集代码覆盖率信息。同时,使用reportgenerator生成cobertura格式的报告,并从中提取覆盖率数据。最后,在发布阶段,使用dotnet publish命令进行发布,并将生成的nupkg文件保存为构建产物。 通过这样的配置,你可以在GitLab管道运行结束后查看单元测试结果和代码覆盖率数据。此外,在创建pull request时,还可以看到覆盖率信息。最后,别忘了在Readme.md文件中添加一个代码覆盖率徽章! 本文为你提供了一个完整的示例,帮助你更好地理解如何在GitLab CI/CD管道中展示.NET项目的代码覆盖率和单元测试状态。那么,在你的项目中,如何利用这些技巧来提高代码质量和测试覆盖率呢?--GPT 4

.NET Test Code coverage Continuous Integration GitLab junit YAML

城市天际线 - 解决常见问题

在《城市天际线》这款游戏中,"受教育的工人不足"是一个常见且让玩家困扰的问题。本文针对这一问题,提出了几个解决方案。首先,治理交通拥堵,通过修建高架、规划地铁、安排公交等方式改善交通状况。其次,加强教育,通过实施“加强教育”政策、增加教育经费和修建学校等方式提高本土居民的教育水平。再者,提升城市吸引力,通过修建娱乐场所、公园、景区等吸引外地大学生来就业。此外,调整居住区和商业区的比例,保证足够的居民能够为商业区提供足够的工人。最后,耐心等待居民提高学历,观察教育页面,确保所有居民都已经从学校毕业。 除了“受教育的工人不足”问题,本文还探讨了如何解决地价过低和可供出售的商品不足的问题。对于地价过低,同样需要治理交通拥堵,同时优化基础设施,确保供电、供水、垃圾处理等方面都完善建立。对于可供出售的商品不足,除了治理交通拥堵外,还需要注意修建足够的工业区和货运火车站、港口,以保证商品的生产和运输。 那么,如何在游戏中平衡城市发展和居民需求?在解决这些问题的过程中,我们是否能从中得到现实生活中城市规划的启示?希望通过阅读本文,玩家们能够在游戏中更好地应对这些问题,同时也能在现实生活中对城市规划有更深的理解。--GPT 4


Common SMTP settings to Office 365 to send Emails

本篇博客主要讲述了如何使用Office 365的SMTP设置为不同的开源软件配置电子邮件发送功能。文章分别介绍了如何为Gitea、GitLab、Mastodon、Nextcloud和Azure DevOps配置SMTP设置。 在Gitea部分,作者提供了一个配置文件示例,展示了如何在`/etc/gitea/app.ini`文件中设置SMTP相关参数。配置包括启用邮件发送功能、设置SMTP服务器地址、端口、用户名、密码等信息。 对于GitLab,作者给出了一个Ruby配置代码片段,展示了如何在`/etc/gitlab/gitlab.rb`文件中配置SMTP。配置内容与Gitea类似,包括服务器地址、端口、用户名、密码等信息,同时还包括了启用TLS等设置。 在Mastodon部分,作者展示了如何在`/home/mastodon/live/.env.production`文件中设置SMTP。配置内容与前两者类似,包括服务器地址、端口、用户名、密码等信息。 对于Nextcloud,作者首先提醒读者打开管理员设置页面,然后展示了如何在网页界面上配置SMTP。配置内容与前述软件类似,包括服务器地址、端口、用户名、密码等信息,并给出了禁用TLS的建议。 最后,作者为Azure DevOps提供了一张配置SMTP的截图,展示了如何在Azure DevOps的网页界面上配置SMTP。配置内容与前述软件类似,包括服务器地址、端口、用户名、密码等信息。 通过本篇博客,读者可以了解如何为不同的开源软件配置Office 365的SMTP设置,从而使这些软件具备发送电子邮件的功能。在实际操作中,读者可能需要根据自己的需求调整配置参数。同时,如果在配置过程中遇到问题,尝试更改TLS设置可能会有所帮助。在实际应用中,你是否遇到过类似的配置需求?在解决问题时,你是否有其他的经验和建议?--GPT 4

Microsoft 365 Mastodon GitLab Gitea SMTP Office365 Exchange

Install GitLab behind a reverse proxy on a Ubuntu 20.04\22.04 server

本篇博客详细介绍了如何在Ubuntu 20.04/22.04服务器上安装GitLab,并将其部署在反向代理之后。首先,博客讲述了如何安装和配置GitLab,接着演示了如何配置Nginx作为反向代理。为了解决SSH端口冲突的问题,文章还讨论了如何在GitLab服务器上使用2202端口作为克隆端口,并在代理服务器上进行端口转发。此外,博客还介绍了如何为GitLab实例添加运行器,并提供了一个示例项目,用于测试运行器的功能。最后,博客提供了一个完整的`.gitlab-ci.yml`配置文件示例,用于实现项目的构建、代码分析、测试和发布等任务。 在阅读本篇博客后,您将了解如何在Ubuntu服务器上部署GitLab,并配置反向代理以实现安全的访问。同时,您还可以借助本文提供的示例项目和`.gitlab-ci.yml`配置文件,快速实现项目的自动化构建和测试。在实践中,您可能需要根据自己的需求对配置进行调整,以满足不同的项目类型和技术栈。 那么,在配置GitLab和反向代理的过程中,可能会遇到哪些问题?如何确保GitLab运行器能够正确地执行任务?如何根据项目需求定制`.gitlab-ci.yml`配置文件?阅读全文,自己找到答案吧!--GPT 4

bash git Linux Ubuntu Proxy SSH Caddy GitLab nginx