1. ubuntu gitlab安装步骤
1.1 更新系统软件包列表:
sudo apt update
1.2 安装必要的依赖项:
sudo apt install curl openssh-server ca-certificates tzdata perl
1.3 下载并安装 GitLab 包:
curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
sudo bash script.deb.sh
sudo apt install gitlab-ce
这将下载并安装 GitLab 社区版(GitLab CE)。
1.4 修改gitlab external_url
必须要修改,不然默认的是gitlab.example.com。到时候gitlab上项目的地址都是以这个域名开头的。
并且,如果拉去代码报错提示 “Could not resolve hostname gitlab.example.com: Name or service not known” 表示无法解析主机名 “gitlab.example.com”。这通常是由于 DNS 配置问题导致的。请修改gitlab配置文件的external_url。
查看ubuntu当前ip:
ifconfig
打开 GitLab 配置文件:
sudo vi /etc/gitlab/gitlab.rb
在文件中找到 external_url 行,可能以 # 开头注释掉了,您需要取消注释并修改该行。将 external_url 设置为您的本地 IP 地址,例如:
external_url ‘http://192.168.0.111’
保存文件并退出编辑器。
ip地址记得以http://开头 ,不然会报错:
GitLab external URL must include a schema and FQDN
1.5 配置 GitLab:
sudo gitlab-ctl reconfigure
这将运行 GitLab 的配置过程,并设置必要的参数。
1.6 访问 GitLab:
一旦配置完成,您可以在浏览器中访问您的 GitLab 实例。默认情况下,它将在 http:// 上运行。
如果您没有在 GitLab 配置文件中设置 external_url,则默认情况下 GitLab 使用的是 localhost(127.0.0.1)作为访问地址。这意味着您只能在 GitLab 所在的本地机器上访问它,无法通过其他计算机或浏览器访问。
注意:
如果您希望通过其他计算机或浏览器访问 GitLab,您需要将 external_url 设置为可被其他计算机访问的 IP 地址或域名。这样才能在其他计算机上通过浏览器打开 GitLab。
请注意,如果您使用的是云服务器或者在局域网中,您可能需要设置防火墙规则,确保 GitLab 所在的端口是开放的,允许来自其他计算机的访问。具体的操作会根据您的网络环境和安全需求有所不同。
如果您不进行配置更改,并且希望在本地浏览器中打开 GitLab,您可以尝试以下方法:
在 GitLab 所在的机器上打开浏览器,并访问 http://localhost 或 http://127.0.0.1。这样可以通过本地主机访问 GitLab。
如果您想从其他计算机上访问 GitLab,可以尝试使用 SSH 隧道或端口转发来将 GitLab 的端口映射到您的本地计算机。具体的方法会根据您的网络配置和需求有所不同,请参考相关文档或在线资源了解更多信息。
总之,为了能够从其他计算机或浏览器中访问 GitLab,您需要在 GitLab 配置文件中设置适当的 external_url,并确保网络配置和防火墙允许访问。
在第一次访问 GitLab 时,您需要设置管理员帐户的密码。完成后,您将能够使用管理员帐户登录到 GitLab。
默认情况下,管理员账号的用户名为 root。密码则在首次登录时由您自己设置。
到这里我就无语了,我的admin根本登录不上去。我第一次打开时,根本就没有说直接登录就是设置密码。没办法,只能新设置一个管理员账户了。
而我尝试过使用ChatGPT告诉我的重置管理员的账号密码的步骤,是说会给我的邮箱发送一个重置链接?扯淡!我都没有设置管理员邮箱呀。害,确实没有设置初始的管理员账号和密码,被ChatGPT玩了。不过没事,可以创建新的管理员账户。
不过除了给邮箱发送重置链接来重置密码:
sudo gitlab-rails console -e production
user = User.find_by_username('root')
user.send_reset_password_instructions
exit
(试过不行)
也可以试试重置管理员账号的方法:
打开终端,并以管理员权限运行以下命令
sudo gitlab-rails console
在控制台中,输入以下命令重置密码
user = User.where(id: 1).first
user.password = 'new_password'
user.password_confirmation = 'new_password'
user.save!
将 new_password 替换为您希望设置的新密码。
退出控制台:
exit
(没试过)
1.6.1 创建管理员账户
在终端中运行以下命令以获得 root 用户的特权
sudo gitlab-rails console -e production
在 Rails 控制台中,输入以下命令以创建一个新的管理员账户:
user = User.new(name: 'Administrator', username: 'admin', email: 'admin@example.com', password: 'your_password', password_confirmation: 'your_password', admin: true, skip_confirmation: true)
user.save!
请确保将 ‘your_password’ 替换为您想要设置的实际密码。
如果user输出nil,代表改用户不存在。
您可以尝试通过以下命令来查找所有的管理员账户及其用户名:
admins = User.where(admin: true)
admins.each do |admin|
puts admin.username
end
输入以下命令来获取所有用户的列表:
users = User.all
users.each do |user|
puts "Username: #{user.username}, Name: #{user.name}, Email: #{user.email}"
end
在 Rails 控制台中,输入以下命令来获取 root 账户的信息,包括注册邮箱:
user = User.find_by_username('root')
user.email
可以使用以下命令修改 admin 账户的邮箱
user.email = 'new_email@example.com'
user.save
退出 Rails 控制台,输入以下命令退出:
exit
现在,您应该能够使用刚创建的管理员账户登录到 GitLab。
要删除 GitLab 中的普通用户账户,请按照以下步骤进行操作:
sudo gitlab-rails console -e production
user = User.find_by(username: 'username')
user.destroy
exit
有管理员或具有适当权限的用户才能删除其他用户账户。
2. 安装Docker
2.1 更新软件包列表。打开终端并运行以下命令
sudo apt update
2.2 安装 Docker 的依赖包,以及使用 HTTPS 传输的软件包。运行以下命令
sudo apt install apt-transport-https ca-certificates curl software-properties-common
2.3 添加 Docker 的官方 GPG 密钥。运行以下命令
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
2.4 添加 Docker 的软件包仓库
根据您的 Ubuntu 版本选择以下命令之一运行:
对于 Ubuntu 20.04:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu focal stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
对于 Ubuntu 18.04:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu bionic stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
2.5 更新软件包列表。运行以下命令
sudo apt update
2.6 安装 Docker
运行以下命令
sudo apt install docker-ce docker-ce-cli containerd.io
2.7 验证 Docker 安装是否成功
sudo docker run hello-world
如果 Docker 正确安装并运行,将输出 “Hello from Docker!” 相关的消息。
现在,您已经在 Ubuntu 中成功安装了 Docker。您可以使用 Docker 命令管理和运行容器化应用程序。请注意,执行 Docker 命令可能需要使用 sudo 或将当前用户添加到 docker 用户组中,以便以非管理员权限运行 Docker 命令。
3. 使用Docker部署Gitlab CI Runner
安装 GitLab Runner 是在 Ubuntu 中运行 CI/CD 作业的一种方式。
runner要正常跑起来,是需要在android 项目根目录下创建 .gitlab-ci.yml 配置文件,开始我傻傻的发现 runner 怎么也跑不急来。后来才记起来公司项目是有这么个玩意的。(公司没有给我配置admin权限,没发学runner相关的东西,所以自己搞一套玩玩)
3.1 拉去镜像
docker pull gitlab/gitlab-runner:latest
3.2 启动gitlab-runner容器
docker run -d --name gitlab-runner --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner:latest
3.3 为项目注册runner
在Gitlab中打开项目->setting->CI/CD->找到Runners点击Expand,找到runner ,复制其中的token:
执行注册命令:
docker exec -it gitlab-runner gitlab-ci-multi-runner register
- GitLab URL: 您需要提供 GitLab 的 URL 地址。例如,https://gitlab.example.com
- token输入第一步中Runners查看到的信息
- description输入runner的描述,自己看着输
4 tags输入runner的标签(这个在构建文件中要用到) - Docker image当executor为docker时需要指定docker使用的镜像名称: docker:latest
- Executor Type: 您需要选择 GitLab Runner 的执行器类型。常用的选项有 “shell” 和 “docker”。我们选择 “docker”。
如果选择 “docker”,GitLab Runner 将在 Docker 容器中执行作业。
请根据您的需求选择适当的执行器类型。
注册成功后在Runners下面会显示刚刚注册成功的runner信息,在这里也可以禁用和删除runner 。
3.4 .gitlab-ci.yml Runner 配置文件
gitlab-runner配置文件:
.gitlab-ci.yml
https://about.gitlab.com/blog/2018/10/24/setting-up-gitlab-ci-for-android-projects/
CI/CD 示例,可以看看官网的。
如果要自己定制更详细的runner,需要看看配置文件应该怎么写才行。
一些关键字介绍
参考步骤:https://blog.csdn.net/qinjm8888/article/details/109355888
4. SSH Key
拉去代码需要往gitlab中添加开发者的 ssh 公钥的。
查看 ssh 公钥:
ls ~/.ssh
cat ~/.ssh/id_rsa.pub
查看私钥文件的内容
cat ~/.ssh/id_rsa
如果您没有 SSH 密钥文件,可以使用以下命令生成新的 SSH 密钥对:
在这里插入代码片
如果没有 SSH 的话,需要生成:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
5. 其他报错
5.1 gitlab runner报错: This job is stuck because the project doesn’t have any runners online assigned to it
我这里是因为没有配置 .gitlab_ci.yml 文件导致,按照上面的步骤新建一个配置文件就行。