惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MyScale Blog
MyScale Blog
F
Fortinet All Blogs
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Docker
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
爱范儿
爱范儿
V
Visual Studio Blog
Last Week in AI
Last Week in AI
WordPress大学
WordPress大学
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
L
LangChain Blog
Vercel News
Vercel News
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
P
Proofpoint News Feed
博客园_首页
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
C
Check Point Blog
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog

ddadaal.me

博客的发展3:将博客迁移至Azure并添加访问指标采集 - ddadaal.me fork subgen实现纯本地AI视频字幕生成和翻译 - ddadaal.me 把nanobot关进Docker后,如何同时保留浏览器可视化与自动化 - ddadaal.me 可划分显存 != 统一内存:AI Max+ 395 64G AI推理性能 2025年总结 - ddadaal.me 14寸16核32线程:搭载AMD AI Max+ 395的HP战99 Ultra使用感受 Node是并发性能的绊脚石吗?测试Express服务器的基准并发能力 - ddadaal.me 用大模型总结文章:效果很好,但是玄学 - ddadaal.me 2024年总结 - ddadaal.me 在西雅图,给生活换个环境 - ddadaal.me 从调库到翻源代码:给wakapi增加SQL Server支持 - ddadaal.me 增加自制博客点击量统计 - ddadaal.me 博客集成AI文章总结功能 - ddadaal.me 2023年总结 - ddadaal.me 博客的发展2:重写,重生 - ddadaal.me 2022年总结 - ddadaal.me 2021年总结 - ddadaal.me 我的第一个真实项目:总结和经验 - ddadaal.me 一次生产环境的文件丢失事故:复盘和教训 - ddadaal.me react-typed-i18n: 使用Template Literal Types实现强类型的i18n - ddadaal.me wslg初体验:最佳Linux发行版? - ddadaal.me 借助Docker,把VPN当作HTTP代理来用 - ddadaal.me 2020年总结 - ddadaal.me 美好的回忆和未知的未来:写在研究生开学前 - ddadaal.me 使用X11 Forwarding在WSL 2中运行GUI程序 - ddadaal.me 在小手机已经消失的时代,我选择了Galaxy S20 - ddadaal.me 使用PowerShell脚本让UWP应用使用localhost上的系统代理 - ddadaal.me 安装Arch Linux并使用N卡玩Steam游戏 - ddadaal.me 可靠性、辅助功能和多屏协同:我对智能手表的体验和看法 - ddadaal.me 从VSCode到Vim到……两个都用? - ddadaal.me
院自建GitLab CI配置实录 - ddadaal.me
2017-11-06 · via ddadaal.me

✨AI全文摘要

DeepSeek R1DeepSeek R1 8B

作者因学院GitLab版本过旧(8.10),无法使用新版GitLab Runner,通过降级安装1.9.5版本Runner并注册解决API兼容性问题。配置过程中遭遇Ubuntu官方源Node.js版本过低,手动更新源解决;构建时内存不足导致进程崩溃,将内存扩容至2G并通过简化测试项目完成部署。最终成功搭建CI环境,实现自动化构建,并为项目添加构建状态徽章。文章总结了GitLab CI与传统开源平台的优势,强调其与GitLab生态的无缝衔接,为后续项目持续集成奠定基础。

Azure AI部署的DeepSeek-R1模型推理

动机

因为作业要求想尝试持续集成的效果,又因为很多开源CI平台不支持自建平台(例如Travis CI),院的GitLab也不开放Shared Runner,所以只能手动配置Runner。在整个配置的过程中,遇到了很多让人很无语的坑。在这里记下来,以让大家参考。同时也记下来折腾的过程。

先放一张效果图。

项目地址: http://101.37.19.32:10080/161250010/gitlabcitest

GitLab版本过老,需要使用老版本的runner

院的GitLab版本是

。截止当前(2017/11/6)GitLab CE已经更新到了大版本10,这个8.10版本官方早就已经放弃治疗,甚至在gitlab-runner的兼容性页面上都找不到这个版本的信息。看来你院使用过时技术的传统看来还要继续延续多年。

所以现在在官网的GitLab Runner安装教程已经不适合。

如果使用新版本的gitlab runner运行的话,会提示**405(Method Not Allowed)**错误。这是由于新版本的Runner会使用GitLab从9.0开始换用的新的GitLab API v4,而8.x版本仍然使用老版本的API。这就造成了错误。

同时,Runner从10版本从gitlab-ci-multi-runner更名为gitlab-runner,但是配置方法大致一样。配置可以参考这个链接

GitLab正确的安装和配置方法方法如下(以Ubuntu 16.04 x64通过apt-get举例):

  1. 根据这个设置老版本的apt源;
  2. 运行安装命令:sudo apt-get install gitlab-ci-multi-runner=1.9.5
  3. 配置时使用命令:sudo gitlab-ci-multi-runner register

配置好了后,runner页面应该能看到提示的可用的runner。

Ubuntu官方源Node版本太低

配置好了runner,我首先使用了我的博客前端的程序用来做测试。为了简化,使用了shell executor。这就需要配置runner机器的环境。

先写一份.gitlab-ci.yml文件。我使用的文件如下:

stages:
  - build
 
buildjob:
  stage: build
  script:
    - npm install
    - python cleanup.py
    - set NODE_ENV=production
    - webpack -p --color
  cache:
    paths:
      - ./node_modules/

直接敲sudo apt-get install nodejs,然后就开始build。结果在build的时候才发现node版本很低……

只能自己设置apt源了。Node官方提供的源说明参照这个链接

构建时内存提示不足

上传后,pipeline自动开始build。然而虽然想到了Node非常耗费内存,但是没想到512M内存都不够吃……跑npm install的时候被bash无情杀掉。

后来把内存加到2G才够npm install使用。

为了简化工程,后来使用了Mobx官方提供的boilderplate项目作为测试。这也就是现在的项目。

你正在成功!

成功了!折腾了这些后,终于成功build了一次。

还给README.md加上了badge(题图)(教程),这样看上去就非常像是一个非常好的开源项目。

结语

GitLab CI确实是非常好用的工具,它能和GitLab无缝集成,而且非常的简单易用(这些坑都不是GitLab的)。这几天我会把整个软工2项目的CI环境搭建好,需要学习控制台下gradle相关命令以及Linux下的一些配置,这样真正开始开发的时候才能更高效。