CICD Day1、Centos 7.9快速部署 Gitlab habar jenkins

1、环境准备

  • 1、系统
[root@cicd-82 ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@cicd-82 ~]# uname  -r
3.10.0-1160.119.1.el7.x86_64
[root@cicd-82 ~]# rpm -qa|grep docker
docker-buildx-plugin-0.14.1-1.el7.x86_64
docker-ce-24.0.0-1.el7.x86_64
docker-compose-plugin-2.27.1-1.el7.x86_64
docker-ce-rootless-extras-26.1.4-1.el7.x86_64
cri-dockerd-0.3.2-3.el7.x86_64
docker-ce-cli-26.1.4-1.el7.x86_64
  • 关闭防火墙和selinux
echo -e "
export HISTFILESIZE=100000
export HISTTIMEFORMAT=\"\`whoami\` %F %T \"
PROMPT_COMMAND='history -a'
" >> /etc/profile
echo "export TIME_STYLE='+%Y/%m/%d %H:%M:%S'" >> /etc/profile
source /etc/profile

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
hostnamectl set-hostname cicd
reboot

2、部署Gitlab

2.1 使用Docker创建Gitlab容器

docker run -d \
--name gitlab \
--hostname 172.16.99.82 \
-p 443:443 \
-p 88:80 \
-p 2222:22 \
--restart always \
-v /opt/gitlab/config:/etc/gitlab \
-v /opt/gitlab/logs:/var/log/gitlab \
-v /opt/gitlab/data:/var/opt/gitlab \
uhub.service.ucloud.cn/librarys/gitlab-ce:latest

通过以上命令,创建一个Gitlab CE容器,将宿主机端口映射到容器端口,同事将宿主机目录挂载到容器中,以持久化形式存储Gitlab的配置文件、日志和数据

容器启动后,在浏览器中访问 http://172.16.99.82:88 ,将看到Gitlab登录页面。

默认用户名为root,密码又系统随机生成,密码可以通过 docker exec gitlab cat /etc/gitlab/initial_root_password 命令获取。

2.2 修改为中文

Gitlab默认为英文,但是为了方便使用,可以设置为中文。
单击左上角用户头像-》Preferences-》Language-》选择“简体中文”-》保存

注意:随机生成的密码存在安全风险,请在第一时间修改

3、部署harbor

3.1、 下载Harbar安装包

Harbar项目的GitHub Release地址 https://github.com/goharbor/harbor/releases/tag/v2.8.3
image
安装包名称中带有offline表示离线安装包,它包含了Harbar安装所需的镜像,适合在没有网络的情况下进行部署。安装包名称中带有online表示在线安装包,需要联网下载。这里使用离线安装包进行部署,将下载后的压缩包进行解压

mkdir -p /data/harbor
cd /data/harbor
wget -c https://github.com/goharbor/harbor/releases/download/v2.8.3/harbor-offline-installer-v2.8.3.tgz
tar xf harbor-offline-installer-v2.8.3.tgz

3.2 配置并启动

cd /data/harbor/harbor
cp harbor.yml.tmpl harbor.yml
vim harbor.yml

head -20 harbor.yml
# Configuration file of Harbor

# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: 192.168.7.82

# http related config
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 80

# https related config
#https:
#  # https port for harbor, default is 443
#  port: 443
#  # The path of cert and key files for nginx
#  certificate: /your/certificate/path
#  private_key: /your/private/key/path
  • harbor.yml配置文件修改如下
    • 设置hostname字段为访问Harbor的IP地址或域名,这里设置的是服务器IP的地址
    • 注释https相关配置,表示不器用https访问
# 执行prepare脚本生成Harbor所需的文件
./prepare
# 执行install.sh 脚本,将预先打包好的镜像导入本地,并使用Docker Compose创建相关容器
./install.sh
# 查看Harbor相关容器
[root@cicd-82 harbor]# docker compose ps
WARN[0000] /data/harbor/harbor/docker-compose.yml: `version` is obsolete
NAME                IMAGE                                COMMAND                   SERVICE       CREATED              STATUS                        PORTS
harbor-core         goharbor/harbor-core:v2.8.3          "/harbor/entrypoint.…"   core          About a minute ago   Up About a minute (healthy)
harbor-db           goharbor/harbor-db:v2.8.3            "/docker-entrypoint.…"   postgresql    About a minute ago   Up About a minute (healthy)
harbor-jobservice   goharbor/harbor-jobservice:v2.8.3    "/harbor/entrypoint.…"   jobservice    About a minute ago   Up 58 seconds (healthy)
harbor-log          goharbor/harbor-log:v2.8.3           "/bin/sh -c /usr/loc…"   log           About a minute ago   Up About a minute (healthy)   127.0.0.1:1514->10514/tcp
harbor-portal       goharbor/harbor-portal:v2.8.3        "nginx -g 'daemon of…"   portal        About a minute ago   Up About a minute (healthy)
nginx               goharbor/nginx-photon:v2.8.3         "nginx -g 'daemon of…"   proxy         About a minute ago   Up About a minute (healthy)   0.0.0.0:80->8080/tcp, :::80->8080/tcp
redis               goharbor/redis-photon:v2.8.3         "redis-server /etc/r…"   redis         About a minute ago   Up About a minute (healthy)
registry            goharbor/registry-photon:v2.8.3      "/home/harbor/entryp…"   registry      About a minute ago   Up About a minute (healthy)
registryctl         goharbor/harbor-registryctl:v2.8.3   "/home/harbor/start.…"   registryctl   About a minute ago   Up About a minute (healthy)
# 所有容器running,表示Harbor工作正常
  • 在浏览器中访问 http://172.16.99.82
    • 默认用户名为admin,密码为Harbor12345
    • 默认密码存在安全风险,请第一时间修改它
      image

4、部署jenkins

  • 4.1 使用Docker创建jenkins容器

mkdir /opt/jenkins
chown -R 1000:1000 /opt/jenkins
docker run -d \
--name jenkins \
-p  8080:8080 \
-p 50000:50000 \
--restart always \
-v /opt/jenkins:/var/jenkins_home \
jenkins/jenkins:2.491

以上命令创建了一个jenkins容器,并将宿主机端口映射到了容器端口,同时将宿主机上的目录挂载到了容器中,以持久性存储jenkins数据
在浏览器中访问http://172.16.99.82:8080,将看到解锁jenkins页面

这里需要输入管理员密码,密码通过 下面的命令获取

 docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

输入密码后点击继续按钮,进入插件安装方式选择页面
image
这里选择 "选择插件来安装"选项,点击继续,进入插件安装叶敏。
点击无,取消默认选中的插件,既不安装任何插件。单机安装按钮,进入创建管理员用户页面
image
image
这里保持默认,点击保存并完成,初始化配置完成,进入jenkins首页

posted @   Hello_worlds  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
历史上的今天:
2023-01-03 Centos 6.5 iptables 端口白名单设置
点击右上角即可分享
微信分享提示