本次实验需要三台服务器CI/CD 服务器、应用服务器和Harbor 服务器
DevOps 步骤
CI/CD服务器需要安装:
应用服务器需要安装:
Harbor服务器需要安装
Jenkins 安装官方文档
CI/CD服务器环境为 CentOS 7,使用 yum 方式进行安装
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
如果机器没有安装 Java 的话需要使用以下命令安装 Java 11
yum install -y fontconfig java-11-openjdk
之后使用命令安装 Jenkins
yum install -y jenkins
下载安装后执行下面命令启动 Jenkins
systemctl start jenkins
使用下面命令获取初始密码
cat /var/lib/jenkins/secrets/initialAdminPassword
浏览器中输入 localhost:8080
打开 Jenkins 管理界面输入初始密码,选择安装推荐的插件,创建新的用户,之后开始使用 Jenkins。
在插件管理页面安装好 Publish Over SSH
插件
进入全局配置界面,配置好远程服务器的信息,Remote Directory 是把文件传送到远程服务器的位置
此时点击 Test Configuration 可能会报错
jenkins.plugins.publish_over.BapPublisherException: Failed to connect and initialize SSH connection. Message: [Failed to change to remote directory [/usr/local/test]]
在远程服务器上创建 /usr/local/test
目录即可
在插件管理页面安装好 Maven Integration
插件
在CI/CD服务器上下载并安装 Maven,步骤如下
访问 Maven 官方网站
复制红框里 Maven 的下载链接
使用命令下载解压并将其移动到对应目录下
wget https://dlcdn.apache.org/maven/maven-3/3.9.0/binaries/apache-maven-3.9.0-bin.tar.gz
tar -xvf apache-maven-3.9.0-bin.tar.gz
mv -f apache-maven-3.9.0 /usr/local/
安装 Maven 成功后,打开 Jenkins,进入 Global Tool Configuration 页面,按照下图进行配置并保存,没有报错则 Maven 配置成功
可访问 CentOS环境下使用Docker 一文进行安装 Docker 的操作
curl -L https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
进入 Harbor releases page,下载 Harbor offline 压缩文件 harbor-offline-installer-v2.5.6.tgz 并将其传到Harbor 服务器上并解压到指定位置
tar -zxvf harbor-offline-installer-v2.5.6.tgz -C /usr/local
对 Harbor 进行配置
cd /usr/local/harbor/
cp harbor.yml.tmpl harbor.yml
vi harbor.yml
将 hostname 一行内容改为Harbor 服务器的 IP 地址,并将 https 内容全部注释掉
# 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.80.128# 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
./install.sh
如果启动时报错
[Step 5]: starting Harbor ...
[+] Running 0/1⠿ Network harbor_harbor Error 0.1s
failed to create network harbor_harbor: Error response from daemon: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-79dd02c9a738 -j RETURN: iptables: No chain/target/match by that name.(exit status 1))
只需要重启 Docker 后再次执行安装即可
systemctl restart docker
./install.sh
访问Harbor 服务器的 80 端口,默认账号为 admin
,密码为 Harbor12345