标签 GitLab 下的文章

1 AI 女友涌入 OpenAI 的 GPT 商店

OpenAI 的 GPT 商店提供了“定制版”的 ChatGPT,在该商店中搜索 “女友”,至少会找到八个 “女友” 人工智能聊天机器人,包括 “韩国女友”、“虚拟甜心”、“你的女友斯嘉丽” 等。女友机器人违反了 OpenAI 的使用政策,该公司禁止 “致力于培养浪漫伴侣关系或执行受监管活动” 的 GPT。

(插图:DA/b79472a2-aa6d-4c75-b26c-e89669faf587)

消息来源:QZ
老王点评:AI 聊天机器人可能解决孤独的方法之一,或者说只是利用人类的痛苦来赚钱的一种方式。 ?

2 苹果公司将为欧盟单独推出应用商店

苹果公司正在加紧对欧盟地区的应用商店进行修改,以符合该地区即将实施的《数字市场法案(DMA)》,这将使它与世界其他地区的应用商店分离开来。苹果公司遵守 DMA 规定的最后期限是 3 月 7 日,因此该公司只有七个多星期的时间来进行调整。根据 DMA,苹果还必须允许开发者在应用商店之外推广他们的应用,并可以使用第三方支付系统。

(插图:DA/849e74a0-70dc-4dfa-9669-f693d17587cb)

消息来源:Mac Rumors
老王点评:其它国家不跟进吗?

3 无 2FA 的 GitLab 账户可能被攻击者接管

该漏洞源于 GitLab 2023 年 5 月引入的一项变更,该变更允许用户通过二级电子邮件地址发布密码重置。攻击者可以使用特制的 HTTP 请求向自托管的 GitLab 实例的账户发送密码重置电子邮件。对于那些没有启用双因素身份验证(2FA)的账户,攻击者无需用户干预就可以接管。这个严重性达到满分 10 分的漏洞自去年 5 月份以来就一直被人利用。如果不能升级,权宜之计是为所有用户强制要求 2FA。

(插图:DA/420b6db9-ba6c-4154-8ed0-06d6ef691988)

消息来源:The Register
老王点评:启用 2FA 其实是一件很简单的事情。

Ubuntu 桌面用户已超 600 万

Canonical 公布了一系列 Ubuntu 桌面数据:其桌面用户已超过 600 万。这一数字基于检查桌面更新的设备,不包括安装了企业防火墙或代理服务器的设备。另外,根据 Stack Overflow 的调查,Ubuntu 桌面占到 Linux 开发者桌面市场的 27%,是迄今为止最受开发者欢迎的 Linux 发行版;在 Steam 平台的 Linux 玩家中,Ubuntu 是游戏用户使用最多的桌面 Linux 发行版。

消息来源:Ubuntu
老王点评:Ubuntu 是最流行的发行版,这一点应该没有争议吧。但是 600 万这个数据还是让我第一次有了直观感受。

Gitlab 将支持跨实例订阅和合并请求

ActivityPub 是一个 W3C 标准,其最知名的实现是 Mastodon 以及 Lemmy。Gitlab 称它将逐步实现 ActivityPub 的功能。Gitlab 允许用户创建各自的实例,通过支持 ActivityPub 可以跨 Gitlab 实例进行订阅、搜索、创建分支、递交合并请求,以及展开讨论和合并代码。

消息来源:gitlab
老王点评:这真是一种非常好的结合,既发挥了 Gitlab 多实例、去中心化的特点,又能形成像 GitHub 那样的广泛的代码库社区。我觉得这才是真正补上了分布式版本控制系统 Git 的最后一块砖头。

开放游戏《星际公民》众筹突破六亿美元

《星际公民》是一款太空模拟飞行游戏,它允许玩家在宇宙空间内探险、交易和战斗。它于 2012 年在 Kickstarter 上成功众筹,原计划在 2014 年交付。但众筹成功后,其开发团队继续以销售游戏内的虚拟物品(如各种型号的飞船)的方式进行募资。到 2018 年它筹集到了 2 亿美元,并继去年突破 5 亿美元 后,今年再次募资 1 亿。它是至今为止开发费用最昂贵的游戏,远超《赛博朋克 2077》、《侠盗猎车 V》等游戏。但这款游戏何时才能正式发布仍然是未知数。

消息来源:Player Auctions
老王点评:我看它是不会有正式发布的那一天了,这或许就是我们所期待的“无尽的”游戏。?

使用 Podman 启动 GitLab 执行器有多种方法,我在本文中概述了其中两种。

GitLab 执行器 Runner 是一个与 GitLab CI/CD 配合使用的应用,可在 GitLab 基础设施上的流水线中运行作业。它们通常用于在提交代码后自动编译应用或在代码库上运行测试。你可以将它们视为基于云的 Git 钩子

主要的公共 GitLab 实例 提供了许多易于访问的共享执行器,可供你在 CI 流水线中使用。你可以在 GitLab 上仓库的 设置 Settings -> CI/CD -> 执行器 Runners 中找到共享执行器的列表。

Display available GitLab runners in your repository's settings

你可能不想依赖共享执行器,而是选择自己的执行器,原因有很多。例如,控制执行器运行的基础设施以实现额外的安全性和/或隐私、灵活的执行器配置或分配给你的 GitLab 用户帐户的有限 CI 分钟数。

GitLab 执行器依赖于 执行环境 executor 工具来运行 CI 作业。执行环境有许多选项可用:Docker、Kubernetes、VirtualBox 等。

那么,Podman 作为执行环境呢?

v4.2.0 起,Podman 对 GitLab 执行器提供了原生支持。以下是使用 Podman 作为 GitLab 执行器的 执行环境 的两种方法的快速浏览。

Docker 执行环境

你可以在 GitLab 执行器中使用 Podman 作为 Docker 的直接替代品。就是这样:

本示例使用 2023 年 2 月的 CentOS Stream 9 环境,使用 Podman v4.4.0。它应该可以在任何具有足够新的 Podman 的 RHEL/CentOS Stream/Fedora 环境中正常工作。查看 GitLab 文档 了解先决条件。

首先,安装 Podman:

$ sudo dnf -y install podman

接下来安装 gitlab-runner 包:

# 添加 GitLab 执行器仓库
$ curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" | sudo bash

# 安装 gitlab-runner 包
$ sudo dnf -y install gitlab-runner

最后,允许用户在注销后执行任务:

$ sudo loginctl enable-linger gitlab-runner

配置并注册执行器

使用以下步骤配置 Docker 运行环境。

安装 gitlab-runner 包会创建一个 gitlab-runner 用户帐户,但你需要 root 访问权限才能操作该用户帐户。gitlab-runner 可以在用户模式下运行,但需要一些手动干预来进行构建处理。在此示例中,我使用 sudo 在系统模式下运行它。它看起来是这样的:

$ sudo gitlab-runner register
Runtime platform                                    arch=amd64 os=linux pid=7978 revision=d540b510 version=15.9.1
Running in system-mode.

Enter the GitLab instance URL (for example, https://gitlab.com/):
https://gitlab.com
Enter the registration token:
xxxxxxxxxxxxxxxxx
Enter a description for the runner:
[lmandvek-c9s-gitlab-runner]:
Enter tags for the runner (comma-separated):

Enter optional maintenance note for the runner:

WARNING: Support for registration tokens and runner parameters in the 'register' command has been deprecated in GitLab Runner 15.6 and will be replaced with support for authentication tokens. For more information, see https://gitlab.com/gitlab-org/gitlab/-/issues/380872
Registering runner... succeeded                     runner=GR13489419oEPYcJ8
Enter an executor: custom, docker, ssh, docker-ssh+machine, docker-ssh, parallels, shell, virtualbox, docker+machine, instance, kubernetes:
docker
Enter the default Docker image (for example, ruby:2.7):
registry.gitlab.com/rhcontainerbot/pkg-builder
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

Configuration (with the authentication token) was saved in "/etc/gitlab-runner/config.toml"

你将需要一些额外的配置才能使用 Podman。配置执行器为每个作业创建一个网络。有关更多信息,请参阅 GitLab 文档

首先,启用 Podman 系统服务并修改 /etc/gitlab-runner/config.toml 中的环境:

[[runners]]
    environment = ["FF_NETWORK_PER_BUILD=1"]
    [runners.docker]
        host = "unix:///run/user/1001/podman/podman.sock"

重启执行器以实施更改:

$ sudo gitlab-runner restart

验证新的执行器在 GitLab 项目的 设置 Settings -> CI/CD -> 执行器 Runners 中可见:

Restart the GitLab runner

接下来,验证你的 CI 流水线正在使用执行器。你的 CI 任务日志将提及正在使用的执行器的名称以及任何其他配置信息,例如 执行器的执行环境的功能标志和容器镜像。

View CI tasklogs to display the runner

Podman-in-Podman(pipglr)

Chris Evich 创建了 pipglr,这是一个 Podman-in-Podman 设置,用于使用免 root 的 Podman 来支持你自己的免 root 的 GitLab 执行器。此方法不需要对 .gitlab-ci.yaml 配置进行任何更改,因此你可以继续按原样使用现有设置。

以下是帮助你运行此程序的快速设置指南。

配置步骤

容器镜像是从 pipglr Containerfile 自动构建的,因此将镜像设置为该仓库:

$ IMAGE="registry.gitlab.com/qontainers/pipglr:latest"

接下来,使用你的 GitLab 注册令牌创建 Podman 密钥:

$ echo '<actual registration token>' | podman secret create REGISTRATION_TOKEN -

创建一个空白的 config.toml,稍后将包含你的所有执行器设置。你必须执行此步骤才能使以下 podman container register runlabel $IMAGE 步骤成功:

$ touch ./config.toml  # 重要:文件必须存在,即使是空的。

注册你的执行器。你可以重复此步骤来注册多个执行器。如果你想使用可能不同的标签或配置选项集并行运行多个 CI 任务,这非常有用。

$ podman container runlabel register $IMAGE

使用你选择的编辑器编辑 config.toml。这是可选的,但通常需要更改用于实际 CI 任务的容器镜像。默认情况下,镜像设置为:registry.fedoraproject.org/fedora:latest

$ $EDITOR ./config.toml  # if desired

最后,配置对卷的访问。容器卷内使用多个用户,因此你必须专门配置它们以允许访问。再次使用 runlabel 来完成:

$ podman container runlabel setupstorage $IMAGE

$ podman container runlabel setupcache $IMAGE

测试执行器

是时候检查配置了。首先启动 GitLab 执行器容器:

$ podman container runlabel run $IMAGE

允许执行器用户在注销后运行服务:

$ sudo loginctl enable-linger $(id -u)

验证你的新执行器在 GitLab 项目的 设置 Settings -> CI/CD -> 执行器 Runners 中可见:

Verify the new runner is visible

最后,验证你的 CI 流水线正在使用你的执行器:

Verify the CI pipeline

总结

使用 Podman 启动 GitLab 执行器有多种方法,我在此处概述了其中两种。尝试一下,然后让我知道哪一个最适合你。如果 Docker 执行环境方法有任何问题,请登录并通过 Podman 上游GitLab 支持 提交问题。如果 pipglr 方法出现问题,请在 pipglr 上游 提交问题

GitLab 与 Podman 一起运行愉快 ?

(题图:MJ/97e0ff4d-b769-4e20-990f-8c1e89e48434)


via: https://opensource.com/article/23/3/podman-gitlab-runners

作者:Lokesh Mandvekar 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

GitLab 是一个开源平台,提供了强大且功能丰富的解决方案,用于管理仓库、问题、CI/CD 管道等。如果你是 Ubuntu 22.04 或 20.04 用户,并且想要设置自己的 GitLab 实例来简化你的 DevOps 工作流程,那么你来对地方了。

本分步指南将引导你完成 Ubuntu 22.04 或 20.04 上 GitLab 的安装过程。GItlab 提供企业版(Gitlab EE)和社区版(Gitlab CE)。在这篇文章中,我们将介绍社区版。

先决条件:

  • 运行 Ubuntu 22.04 或 20.04 且具有 SSH 访问权限的虚拟或专用服务器。
  • 静态主机名(gitlab.linuxtechi.net
  • 具有管理员权限的 Sudo 用户
  • 2GB 内存或更多
  • 2 个或更多 vCPU
  • 互联网连接

1、更新系统包

让我们首先更新软件包列表并将任何现有软件包升级到最新版本。

$ sudo apt update
$ sudo apt upgrade -y

应用更新后重新启动系统。

$ sudo reboot

2、安装依赖项

GitLab 需要一些依赖项才能正常运行。使用以下命令安装它们:

$ sudo apt install -y curl openssh-server ca-certificates postfix

在 postfix 安装过程中,会出现一个配置窗口。选择 “Internet Site”并输入服务器的主机名作为邮件服务器名称。这将允许 GitLab 发送电子邮件通知。

选择 “Internet Site”,然后选择 “OK”。

检查系统的主机名并选择 “OK”。

3、添加 GitLab Apt 存储库

现在,我们将添加 GitLab 仓库,运行以下 curl 命令。它将自动检测你的 Ubuntu 版本并相应地设置仓库。

$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

4、安装 Gitlab

运行以下命令在你的 ubuntu 系统上自动安装和配置 gitlab-ce,将服务器的主机名替换为你的设置,

$ sudo EXTERNAL_URL="http://gitlab.linuxtechi.net" apt install gitlab-ce

上述命令成功执行后,我们将得到如下输出。

上面的输出确认 GitLab 已成功安装。gitlab web 界面的用户名是 root,密码存储在 /etc/gitlab/initial_root_password

注意:如果你的 ubuntu 系统上启用了操作系统防火墙,那请允许 80 和 443 端口。

$ sudo ufw allow http
$ sudo ufw allow https

5、访问 GitLab Web 界面

安装并配置 GitLab 后,打开 Web 浏览器并输入服务器的 IP 地址或主机名。

http://<Server-IP-Address-or-Hostname>
  • 用户名:root
  • 密码:从 /etc/gitlab/initial_root_password 获取密码

点击“ 登录 Sign in ”。

很好,上面确认我们已经成功登录 Gitlab Web 界面。

目前我们的 GitLab 服务器运行在 http(80)协议上,如果你想为你的 GitLab 启用 https,请参考以下步骤。

6、为 GitLab Web 界面设置 HTTPS

为提高安全性,可使用自签名证书或 Let's Encrypt 为 GitLab 实例配置 HTTPS。Let's Encrypt 只适用于互联网上有 A 记录的公有域。但在本例中,我们使用的是私有域,因此将使用自签名证书来确保 GitLab 的安全。

现在,让我们创建以下文件夹并使用 openssl 命令生成自签名证书:

$ sudo mkdir -p /etc/gitlab/ssl
$ sudo chmod 755 /etc/gitlab/ssl

使用以下 openssl 命令生成私钥:

$ sudo openssl genrsa -des3 -out /etc/gitlab/ssl/gitlab.linuxtechi.net.key 2048

输入密码并记住它。

使用以下命令创建 CSR:

$ sudo openssl req -new -key /etc/gitlab/ssl/gitlab.linuxtechi.net.key -out /etc/gitlab/ssl/gitlab.linuxtechi.net.csr

从密钥中删除密码串,依次执行以下命令:

$ sudo cp -v /etc/gitlab/ssl/gitlab.linuxtechi.net.{key,original}
$ sudo openssl rsa -in /etc/gitlab/ssl/gitlab.linuxtechi.net.original -out /etc/gitlab/ssl/gitlab.linuxtechi.net.key
$ sudo rm -v /etc/gitlab/ssl/gitlab.linuxtechi.net.original

创建证书文件:

$ sudo openssl x509 -req -days 1460 -in /etc/gitlab/ssl/gitlab.linuxtechi.net.csr -signkey /etc/gitlab/ssl/gitlab.linuxtechi.net.key -out /etc/gitlab/ssl/gitlab.linuxtechi.net.crt

使用下面的 rm 命令删除 CSR 文件:

$ sudo rm -v /etc/gitlab/ssl/gitlab.linuxtechi.net.csr

设置密钥和证书文件的权限:

$ sudo chmod 600 /etc/gitlab/ssl/gitlab.linuxtechi.net.key
$ sudo chmod 600 /etc/gitlab/ssl/gitlab.linuxtechi.net.crt

Gitlab 服务器的所有重要配置均由文件 /etc/gitlab/gitlab.rb 控制,因此编辑此文件,搜索 external_url 并添加 https://gitlab.linuxtechi.net

$ sudo vi /etc/gitlab/gitlab.rb
----------------------------------------------------------
external_url 'https://gitlab.linuxtechi.net'
----------------------------------------------------------

保存并退出文件,使用下面的命令重新配置 gitlab,以便其 Web 界面可以使用 HTTPS。

$ sudo gitlab-ctl reconfigure

成功执行上述命令后,你的 GitLab 界面应该可以通过 HTTPS 协议访问,在我的例子中,URL 为:https://gitlab.linuxtechi.net/

当你第一次访问它时,它会说你的连接不安全,点击“接受风险并继续”。

结论

恭喜! 你已在 Ubuntu 22.04 或 20.04 系统上成功安装 GitLab。随着 GitLab 的启动和运行,你现在可以创建仓库,与你的团队协作,并通过 GitLab 令人印象深刻的功能增强你的开发工作流程。享受无缝版本控制、持续集成等,一切尽在你的掌控之中!

(题图:MJ/c6a3e27e-fe58-4184-b133-9e9c67224316)


via: https://www.linuxtechi.com/how-to-install-gitlab-on-ubuntu/

作者:Pradeep Kumar 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

GitLab 将归档免费用户的不活跃项目

之前,有报道称 GitLab 计划自动删除不活跃时间超过一年的免费用户项目,以节省托管费用,此举预计能每年节省一百万美元。这一消息立即引发了争议。周五 GitLab 通过官方 Twitter 账号发表声明,它在内部讨论之后决定不删除不活跃项目,而是将这些代码库转移到对象存储中,访问速度会比较慢。

消息来源:Solidot
老王点评:这真能减少那么多费用支出吗?我表示怀疑。但是无论如何,我觉得 GitLab 不管是哪种做法,其实都不是好的做法。另外,这是否也代表着 GitLab 的日子不太好过?

Linux 可能会废弃对 DECnet 协议的支持

微软的一位工程师建议从 Linux 内核中删除 DECnet 协议处理代码。DECnet 代码的最后一位维护者在 2010 年将该代码标记为孤儿代码。这一变化对大多数人是没有影响的。VMS 是最后一个使用 DECnet 的主流操作系统,而且 VMS 已经支持 TCP/IP 很长时间了。有趣的是,就在两周前,VMS 软件公司再次宣布 OpenVMS 9.2 这次真的准备好了。TCP/IP 并不是唯一的网络协议,而且在 90 年代中期,它甚至不是主导协议。Linux 内核曾经支持多种网络协议,但它们正在迅速消失。

消息来源:The Register
老王点评:不知不觉中,那个并不严格符合 OSI 的 TCP/IP 几乎成了唯一选择,而老旧协议们纷纷进入了历史,比如,有谁还记得 Novell 的 IPX 协议?

Cloudflare 推出后量子实验,为抗量子破解做准备

Cloudflare 正在推出一项后量子实验,以增加对两种混合后量子密钥协议的支持,所有网站所有者都可以报名参加。目前在网站上添加这些密钥协议不会有什么作用,因为还没有网络浏览器支持它们。浏览器遇到这些加密方案时将退回到现有的方式,因此自然也不具有抗量子性。Cloudflare 表示,互联网将在未来几年内向量子加密技术发展,并希望这个测试版能给其客户一个尝试的先机。Cloudflare 正在使用的后量子密码学被称为 Kyber。上个月,美国国家标准与技术研究所(NIST)决定对 Kyber 进行标准化,最终规范将于 2024 年出台。

消息来源:CloudFlare
老王点评:虽然几乎没什么用,但是这是一种有趣的尝试和实验,我想可能很快就会有一些浏览器配合来进行后量子加密了。

相信 AI 有生命的谷歌工程师被勒令休假

谷歌的一位 AI 工程师 Blake Lemoine,从去年秋天开始与公司的聊天机器人 LaMDA 对话。LaMDA 运用了谷歌最先进的大型语言模型,使用从互联网上收集的数万亿词汇进行训练。在与 LaMDA 交流期间,他认为 AI 有了意识。比如他问 LaMDA 最害怕什么?LaMDA 回答说,它恐惧于被关闭。他继续追问:就像死亡?LaMDA 说:就像是死亡。因此,Blake 认为这证明 LaMDA 有了意识。在向上级展示了证据无果后他决定公开这件事,然后被公司勒令休假。在被封锁账号前,他给有 200 人的谷歌机器学习列表发帖说,“LaMDA 是有意识的,……是一个可爱的孩子,……我不在的时候请好好照顾它。”不独是 Blake,也有其它谷歌专家认为神经网络这种模仿人脑的架构,正在向意识迈进。

消息来源:MSN
老王点评:不是工程师疯了,就是 AI 成精了 —— 国外的建国后允许成精。

因硬盘故障,数十个 GitLab 开源项目开发受阻

FreeDesktop.org 的 GitLab 服务承载着 Mesa、X.Org、Wayland,以及 LibreOffice 和 GStreamer 等开源项目。由于硬盘故障,FreeDesktop.org 的 GitLab 从 11 日某个时间开始一直处于关闭状态,并且没有恢复正常的预告时间。管理员们在努力恢复硬盘 RAID,但到目前为止没有结果。而且,两位管理员还宣布要休息一天。

消息来源:Phoronix
老王点评:虽然由于 Git 的特性,开源仓库内的数据基本上不会受到损害,但是这个事故其实暴露了很多开源项目在基础设施投入方面的不足。而且,我觉得国外的工程师们心里素质真好,无论如何该休息也是要休息的。

开源软件公司 Odoo 估值 32 亿欧元

总部位于比利时的 Odoo 公司成立于 2005 年,为全球中小企业提供一体化的商业软件,专注于开源的 ERP 和 CRM 软件。在不到一年前得到了 1.8 亿欧元投资,估值 20 亿欧元后,最近得到的 1.12 亿欧元使其估值进一步提高到 32 亿欧元。该公司计划在全球范围内开设六家新办事处并增聘约 1800 名员工。Odoo 目前有 700 多万用户在使用它的解决方案,预计今年的营业额约为 3 亿欧元,并少量盈利。

消息来源:tech.eu
老王点评:开源技术公司越来越得到投资界的青睐,不过前提是属于头部。