openEuler24.03安装Gitlab-ce17.6.1

使用docker

you need to use magic

由于docker在国内的镜像源基本都失效了,在Linux机器上配置镜像源的方式不好用了。即使配置了一个可以用的镜像源,过不了多久也会失效。所以最好的办法还是本地安装个docker desktop,然后本地下载images ,再使用save和load命令导入镜像到Linux机器上。
openEuler24安装docker(转载大佬文章)

拉取镜像

在Windows主机上安装docker desktop,然后拉取gitlab-ce(社区版)相应的版本的Images。
在这里插入图片描述
在这里插入图片描述

导出镜像

cmd

当镜像拉取完成,进入cmd命令提示符。

结合repository和tag来导出镜像。

docker save <repository>:<tag> -o <path with file name>

在这里插入图片描述

git bash(建议)

如果在Windows上安装了git bash,你还可以使用gzip工具输出并压缩镜像。

建议先切换到要导出的目录下,然后直接设置导出的文件名,就不用考虑文件路径的差异问题。

docker save <IMAGE ID> | gzip > <FILE NAME>
or
(建议)
docker save <repository>:<tag> | grep > <file name>

在这里插入图片描述

这时在导出目录下就可以看到导出的两个文件了。可以发现压缩之后,文件大小减小了很多,还是比较香的,之后文件传输和上传都会更加方便。
在这里插入图片描述

上传镜像

我使用的是finalshell的上传工具,免费(推荐)
在这里插入图片描述

[root@Euler03 soft]# ll
总计 561848
-rw-rw-r-- 1 root root 1671653308 125 16:10 gitlab-image.tar.gz
-rw-r--r-- 1 root root 196231207 11月27日 12:03 jdk1.8.0_172.tar.gz
drwxr-xr-x 9  500  500      4096 20186月11日 jdk-8
-rw-r--r-- 1 root root        92 12416:17 README.txt

上传完毕。

解压(如果只传输了tar包则无需解压)。

gzip -d gitlab-image.tar.gz

在这里插入图片描述

导入镜像

现在镜像准备好了,先检查一下linux机器上的docker是否启动。

[root@Euler03 soft]# systemctl status docker 
● docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: disabled)
     Active: active (running) since Thu 2024-12-05 13:32:46 CST; 9min ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 1189 (dockerd)
      Tasks: 10
     Memory: 111.0M ()
     CGroup: /system.slice/docker.service
             └─1189 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

12月 05 13:32:45 Euler03 dockerd[1189]: time="2024-12-05T13:32:45.561949567+08:00" level=info msg="Starting up"
12月 05 13:32:45 Euler03 dockerd[1189]: time="2024-12-05T13:32:45.762215784+08:00" level=info msg="[graphdriver] using prior storage driver: overlay2"
12月 05 13:32:45 Euler03 dockerd[1189]: time="2024-12-05T13:32:45.767926751+08:00" level=info msg="Loading containers: start."

docker启动起来后,则可以使用load命令导入镜像了。

docker load --input gitlab-image.tar

在这里插入图片描述

配置gitlab的家目录和挂载目录

[root@Euler03 ~]# mkdir -p /opt/soft/gitlab/config
[root@Euler03 ~]# mkdir -p /opt/soft/gitlab/data
[root@Euler03 ~]# mkdir -p /opt/soft/gitlab/logs
[root@Euler03 ~]# cd /opt/soft/gitlab/
[root@Euler03 gitlab]# ls
config  data  logs
[root@Euler03 ~]#
[root@Euler03 ~]# cat /etc/profile.d/my_env.sh 
export JAVA_HOME=/opt/soft/jdk-8

export GITLAB_HOME=/opt/soft/gitlab

export PATH=$PATH:$JAVA_HOME/bin:$GITLAB_HOME
[root@Euler03 ~]# echo $GITLAB_HOME
/opt/soft/gitlab
[root@Euler03 ~]#

删除旧的gitlab容器

如果你的容器名是gitlab,就照着我这样做即可。

[root@Euler03 ~]# docker stop gitlab
gitlab
[root@Euler03 ~]# docker rm gitlab
gitlab
[root@Euler03 ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@Euler03 ~]#

创建和运行容器

首先检查/etc/sysctl.conf文件中net.ipv4.ip_forward的参数,设置为1。
在这里插入图片描述

使用 Docker Engine的镜像执行脚本,创建并运行gitlab容器。

docker run -d \
   --publish 443:443 --publish 9980:9980 --publish 222:22 \
   --name gitlab \
   --restart always \
   --volume $GITLAB_HOME/config:/etc/gitlab \
   --volume $GITLAB_HOME/logs:/var/log/gitlab \
   --volume $GITLAB_HOME/data:/var/opt/gitlab \
   gitlab/gitlab-ce:17.6.1-ce.0

在这里插入图片描述

查看gitlab容器是否启动成功。
在这里插入图片描述

核心配置

修改$GITLAB_HOME/config/gitlab.rb文件。这里直接是在宿主机挂载的数据卷里的配置文件修改的。我的理解:在这里修改影响的是容器内部的gitlab,所以相关的端口都要改成容器内的设置,而不是外部宿主机的设置。因此,根据运行时的命令,内部的nginx端口要改成9980,而内部的ssh端口不需要改变,只是外部需要使用ssh命令服务gitlab相关服务时,需要使用222端口来访问。

vim $GITLAB_HOME/config/gitlab.rb
external_url 'http://192.168.213.130:9980'

gitlab_rails['gitlab_ssh_host'] = '192.168.213.130'

gitlab_rails['gitlab_shell_ssh_port'] = 222

nginx['listen_port'] = 9980

重启gitlab。

docker restart gitlab

登录

重新启动后,就可以通过IP:9980端口进入到登录页面了。

在这里插入图片描述

账号用户名使用管理员的root,密码是一个默认初试密码位于容器内的/etc/gitlab/initial_root_password文件中。

首先进入到容器内部

docker exec -it gitlab /bin/bash

在这里插入图片描述

输入命令获取初始密码:

cat /etc/gitlab/initial_root_password | grep 'Password:'

在这里插入图片描述

于是就可以进入到主页,然后需要修改root用户密码,因为初始密码在24小时之后失效。

直接在地址栏IP后加上/admin/users/root/edit,到新的页面,编辑输入新密码,点击保存。

在这里插入图片描述

重新登录。

在这里插入图片描述

完成
请添加图片描述

使用rpm

卸载旧版

如果之前安装过,则需要先卸载。

先查询一下之前的安装包,我之前安装的是gitlab16.10的社区版。

rpm -qa | grep gitlab
[root@Euler01 ~]# rpm -qa | grep gitlab
gitlab-ce-16.10.7-ce.0.el7.x86_64

停止gitlab程序

gitlab-ctl stop
[root@Euler01 ~]# gitlab-ctl stop
ok: down: alertmanager: 1s, normally up
ok: down: gitaly: 0s, normally up
ok: down: gitlab-exporter: 0s, normally up
ok: down: gitlab-kas: 0s, normally up
ok: down: gitlab-workhorse: 0s, normally up
ok: down: logrotate: 1s, normally up
ok: down: nginx: 0s, normally up
ok: down: node-exporter: 1s, normally up
ok: down: postgres-exporter: 0s, normally up
ok: down: postgresql: 1s, normally up
ok: down: prometheus: 0s, normally up
ok: down: puma: 0s, normally up
ok: down: redis: 0s, normally up
ok: down: redis-exporter: 1s, normally up
ok: down: sidekiq: 0s, normally up

使用rpm -e命令卸载

[root@Euler01 ~]# rpm -e gitlab-ce-16.10.7-ce.0.el7.x86_64
[root@Euler01 ~]# rpm -qa | grep gitlab
[root@Euler01 ~]#

查看gitlab进程

ps aux | grep gitlab
[root@Euler01 ~]# ps aux | grep gitlab
root        1660  0.0  0.0   2440  1364 ?        Ss   12:28   0:00 runsvdir -P /opt/gitlab/service log: ...........................................................................................................................................................................................................................................................................................................................................................................................................
root        1672  0.0  0.0   2288  1256 ?        Ss   12:28   0:00 runsv gitlab-workhorse
root        1674  0.0  0.0   2288  1336 ?        Ss   12:28   0:00 runsv gitlab-kas
root        1677  0.0  0.0   2288  1352 ?        Ss   12:28   0:00 runsv gitlab-exporter
root        1680  0.0  0.0   2432  1276 ?        Ss   12:28   0:00 svlogd -tt /var/log/gitlab/puma
root        1681  0.0  0.0   2432  1152 ?        Ss   12:28   0:00 svlogd /var/log/gitlab/gitlab-workhorse
root        1683  0.0  0.0   2432  1112 ?        Ss   12:28   0:00 svlogd -tt /var/log/gitlab/nginx
root        1688  0.0  0.0   2432  1272 ?        Ss   12:28   0:00 svlogd -tt /var/log/gitlab/logrotate
root        1691  0.0  0.0   2432  1216 ?        Ss   12:28   0:00 svlogd -tt /var/log/gitlab/redis
root        1693  0.0  0.0   2432  1320 ?        Ss   12:28   0:00 svlogd -tt /var/log/gitlab/postgres-exporter
root        1697  0.0  0.0   2432  1236 ?        Ss   12:28   0:00 svlogd -tt /var/log/gitlab/gitlab-kas
root        1698  0.0  0.0   2432  1216 ?        Ss   12:28   0:00 svlogd -tt /var/log/gitlab/alertmanager
root        1699  0.0  0.0   2432  1288 ?        Ss   12:28   0:00 svlogd -tt /var/log/gitlab/gitlab-exporter
root        1701  0.0  0.0   2432  1228 ?        Ss   12:28   0:00 svlogd -tt /var/log/gitlab/postgresql
root        1707  0.0  0.0   2432  1152 ?        Ss   12:28   0:00 svlogd /var/log/gitlab/gitaly
root        1709  0.0  0.0   2432  1368 ?        Ss   12:28   0:00 svlogd -tt /var/log/gitlab/node-exporter
root        1711  0.0  0.0   2432  1032 ?        Ss   12:28   0:00 svlogd /var/log/gitlab/sidekiq
root        1714  0.0  0.0   2432  1220 ?        Ss   12:28   0:00 svlogd -tt /var/log/gitlab/prometheus
root        1715  0.0  0.0   2432  1236 ?        Ss   12:28   0:00 svlogd -tt /var/log/gitlab/redis-exporter
root      420526  0.0  0.1  21984  7856 pts/0    S+   13:33   0:00 grep --color=auto gitlab

根据pid结束第一个进程,再检查是否还有残留进程。如果还有再单独清理一遍。

[root@Euler01 ~]# kill -15 1660
[root@Euler01 ~]# ps aux | grep gitlab | grep -v grep
[root@Euler01 ~]# 

删除所关于gitlab的文件

find / -name gitlab | xargs rm -rf

下载gitlab的rpm包

可以到清华大学开源软件镜像站或者gitlab官方的packeges网站找适合自己的安装版本。我使用的是gitlab-ce-17.6.1-ce.0.el9.x86_64。下载完毕后把rpm包上传到Linux机器上。

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el9/gitlab-ce-17.6.1-ce.0.el9.x86_64.rpm

准备依赖

yum install curl policycoreutils openssh-server openssh-clients postfix  -y
[root@Euler01 soft]# yum install curl policycoreutils openssh-server openssh-clients postfix  -y
Last metadata expiration check: 0:12:29 ago on 2024年12月06日 星期五 17时16分13秒.
Package curl-8.4.0-11.oe2403.x86_64 is already installed.
Package policycoreutils-3.5-3.oe2403.x86_64 is already installed.
Package openssh-server-9.3p2-4.oe2403.x86_64 is already installed.
Package openssh-clients-9.3p2-4.oe2403.x86_64 is already installed.
Package postfix-2:3.8.4-1.oe2403.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

安装

先创建一个软链接

ln -s /usr/lib64/libcrypt.so.1 /usr/lib64/libcrypt.so.2
yum localinstall gitlab-ce-17.6.1-ce.0.el9.x86_64.rpm -y
[root@Euler01 soft]# yum install gitlab-ce-17.6.1-ce.0.el9.x86_64.rpm  -y
Last metadata expiration check: 0:46:50 ago on 2024年12月06日 星期五 17时16分13秒.
Dependencies resolved.
===============================================================================================================================================================================================================
 Package                                         Architecture                                 Version                                                 Repository                                          Size
===============================================================================================================================================================================================================
Installing:
 gitlab-ce                                       x86_64                                       17.6.1-ce.0.el9                                         @commandline                                       1.3 G

Transaction Summary
===============================================================================================================================================================================================================
Install  1 Package

Total size: 1.3 G
Installed size: 3.1 G
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                                       1/1 
  Running scriptlet: gitlab-ce-17.6.1-ce.0.el9.x86_64                                                                                                                                                      1/1 
  Installing       : gitlab-ce-17.6.1-ce.0.el9.x86_64                                                                                                                                                      1/1 
  Running scriptlet: gitlab-ce-17.6.1-ce.0.el9.x86_64                                                                                                                                                      1/1 
It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
  sudo gitlab-ctl reconfigure

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

Help us improve the installation experience, let us know how we did with a 1 minute survey:
https://gitlab.fra1.qualtrics.com/jfe/form/SV_6kVqZANThUQ1bZb?installation=omnibus&release=17-6


  Verifying        : gitlab-ce-17.6.1-ce.0.el9.x86_64                                                                                                                                                      1/1 
Installed:
  gitlab-ce-17.6.1-ce.0.el9.x86_64                                                                                                                                                                             
Complete!

核心配置

先切到配置文件目录!

cd /etc/gitlab/
[root@Euler01 gitlab]# cd /etc/gitlab/
[root@Euler01 gitlab]# ll
总计 156
-rw------- 1 root root 156675 12618:17 gitlab.rb

修改配置文件

vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.213.130:9980'

gitlab_rails['gitlab_ssh_host'] = '192.168.213.130'

gitlab_rails['gitlab_shell_ssh_port'] = 222

nginx['listen_port'] = 9980

重置

gitlab-ctl reconfigure

这是如果你发现突然卡在ruby_block[wait for redis service socket] action run这,那么你可以参考一下这篇文章【Gitlab初始化卡住不动

我选择了另外打开一个终端,并且输入下面这个命令,你也可以选择适合你的办法。

/opt/gitlab/embedded/bin/runsvdir-start 

稍等片刻,初始化成功:

Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.

NOTE: Because these credentials might be present in your log files in plain text, it is highly recommended to reset the password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

gitlab Reconfigured!
[root@Euler01 gitlab]# 

登录

查看初始密码:

cat initial_root_password | grep 'Password:'
[root@Euler01 gitlab]# cat initial_root_password | grep 'Password:'
Password: ciivwJsGL/Xq1coJh4MNrBiG0d4hYVnOaRyDeAkBTG4=

浏览器输入url:ip:9980
在这里插入图片描述

好了,剩下的重置密码的部分和docker部署的方式一样,一定要重置,回去翻看上文docker方式的登录部分,不再赘述。

### 如何在 openEuler 24.03 LTS SP1 上配置本地 Yum 源 #### 准备工作 为了成功配置本地 Yum 源,需要准备以下资源: - 已经下载好的 openEuler 的 ISO 文件或者 RPM 包集合。 - 系统能够访问这些文件的路径。 --- #### 配置步骤说明 ##### 创建挂载目录 创建一个用于挂载 ISO 文件的目录,并将其挂载到该目录下。此操作可以通过以下命令完成: ```bash sudo mkdir /mnt/openEulerISO sudo mount -o loop /path/to/your/openEuler.iso /mnt/openEulerISO/ ``` 上述命令中的 `/path/to/your/openEuler.iso` 是实际存储 ISO 文件的位置[^1]。 --- ##### 编辑 Yum 源配置文件 进入系统的 Yum 源配置目录 `etc/yum.repos.d/` 并新建或修改对应的 `.repo` 文件。例如可以命名为 `local-openEuler.repo`,其内容如下所示: ```ini [LocalOpenEuler] name=Local OpenEuler Repository baseurl=file:///mnt/openEulerISO enabled=1 gpgcheck=0 ``` 解释各字段含义: - `[LocalOpenEuler]`: 定义了一个新的 Yum 软件源名称。 - `name`: 对软件源的一个描述性命名。 - `baseurl`: 设置为本地挂载点地址,这里指向的是之前挂载的 ISO 文件位置。 - `enabled`: 是否启用这个软件源,设置为 `1` 表示启用。 - `gpgcheck`: 是否验证 GPG 密钥,默认关闭设为 `0` 可简化流程[^2]。 --- ##### 清理缓存并测试新源 执行清理旧有元数据以及重新加载的新命令来确认更改生效与否: ```bash sudo yum clean all sudo yum makecache ``` 如果一切正常,则会看到系统正在读取来自指定本地路径下的包信息提示消息[^3]。 --- #### 注意事项 - 如果遇到权限不足的情况,请确保以 root 用户身份运行以上指令。 - 当不再使用 ISO 映像作为临时介质时记得卸载它以免占用额外空间: ```bash sudo umount /mnt/openEulerISO ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PABL01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值