Jenkins+Docker+Gitlab+Harbor服务器环境部署
in 服务器 with 0 comment

Jenkins+Docker+Gitlab+Harbor服务器环境部署

in 服务器 with 0 comment

1. 部署架构图

servicearrange.jpg

2. jenkins安装

2.1 新建jenkins安装目录

mkdir -p /usr/local/docker/jenkins
cd /usr/local/docker/jenkins
touch install.sh
chmod 777 install.sh

2.2 新建install.sh脚本文件

#!/bin/bash
echo "step 1 -> 创建jenkins挂载目录------"
mkdir -p /usr/local/docker/jenkins/jenkins_home
chmod 777 /usr/local/docker/jenkins/jenkins_home
echo "step 2 -> 创建docker-compose.yaml模板文件------"
cd /usr/local/docker/jenkins/
cat <<EOF > docker-compose.yaml
version: '3'
services:
  jenkins:
   image: 'jenkins/jenkins:lts'
   container_name: jenkins
   restart: always
   environment:
    - 'JAVA_OPTS=-Duser.timezone=Asia/Shanghai'
   volumes:
    - '/etc/localtime:/etc/localtime'
   ports:
    - '8081:8080'
    - '50000:50000'
   volumes:
    - '/usr/local/docker/jenkins/jenkins_home:/var/jenkins_home'
EOF
echo "step 3 -> docker-compose启动运行jenkins容器"
docker-compose up -d
sleep 1
docker ps -a

2.3 运行install.sh脚本文件

bash install.sh

2.4 如下图所示,则说明jenkins安装成功

image.png
等待一会

2.5 jenkins基本配置

运行成功后访问该地址登录Jenkins,访问jenkins地址http://ip:8081,第一次登录需要输入管理员密码

image.png

docker logs jenkins

image.png

cat /usr/local/docker/jenkins/jenkins_home/secrets/initialAdminPassword

image.png

image.png

image.png

image.png

image.png

image.png

确保以下插件被正确安装:

  1. 远程使用ssh的插件:Publish Over SSH

image.png

image.png

image.png

3. gitlab安装

3.1 下载Gitlab的Docker镜像

docker pull gitlab/gitlab-ce

3.2 新建gitlab安装目录

mkdir -p /usr/local/docker/gitlab
cd /usr/local/docker/gitlab
touch install.sh
chmod 777 install.sh
mkdir config
mkdir data
mkdir logs

3.3 新建install.sh脚本文件

#!/bin/bash
docker run --detach \
  --publish 10443:443 --publish 8082:80 --publish 1022:22 \
  --name gitlab \
  --restart always \
  --volume /usr/local/docker/gitlab/config:/etc/gitlab \
  --volume /usr/local/docker/gitlab/logs:/var/log/gitlab \
  --volume /usr/local/docker/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

需要注意的是我们的Gitlab的http服务运行在宿主机的8082端口上,这里我们将Gitlab的配置,日志以及数据目录映射到了宿主机的指定文件夹下,防止我们在重新创建容器后丢失数据。

3.4 运行install.sh脚本文件

bash install.sh

3.5 查看gitlab安装是否成功

docker ps -a

如下图所示则表示成功,gitlab安装有点大,需要耐心等待一段时间
image.png

3.6 开启防火墙的指定端口

# 开启1080端口
firewall-cmd --zone=public --add-port=1080/tcp --permanent 
# 重启防火墙才能生效
systemctl restart firewalld
# 查看已经开放的端口
firewall-cmd --list-ports

在云服务器上,需要到服务器管理界面开放端口号

3.7 访问Gitlab

image.png

image.png

docker logs gitlab -f

3.8 Gitlab的使用

Gitlab启动完成后第一次访问,会让你重置root帐号的密码

image.png

image.png

image.png

首先我们需要创建一个组织,然后在这个组织下分别创建用户和项目,这样同组织的用户就可以使用该组织下的项目了

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

  1. 下载Git客户端并安装
  2. 下载地址:https://github.com/git-for-windows/git/releases/download/v2.23.0.windows.1/Git-2.23.0-64-bit.exe
  3. 下载完成后,一路点击Next安装即可。

image.png

剩下就是常用的git提交代码,拉取代码,在此就不详说,如有不懂可自行百度git命令的使用

4. harbor安装

4.1 下载harbor安装文件

https://github.com/goharbor/harbor/releases

image.png

image.png

4.2 修改harbor.yml

修改如图标注地方
image.png

4.3 运行install.sh

./install.sh

如图所示,即代表安装成功
image.png

4.3 访问harbor页面

地址是你设置的域名地址

image.png

4.4 在另外一个服务器(client)登录harbor

image.png

5 总结

到此jenkins+docker+gitlab+harbor服务器部署成功,下篇将会讲解如何自动化部署项目